2010-08-05  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Temporary files should not be created in the current directory
        https://bugs.webkit.org/show_bug.cgi?id=43562

        Don't create temporary files in the current directory, use QDir::tempPath()
        instead, as suggested by the QTemporaryFile documentation.

        * platform/qt/FileSystemQt.cpp:
        (WebCore::openTemporaryFile):

2010-08-05  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Clean up the input method handling
        https://bugs.webkit.org/show_bug.cgi?id=43545

        Changed input method hint interface to be more efficient by setting
        all hints in one shot, like in QWidget.

        * platform/qt/QWebPageClient.h:

2010-08-04  Abhishek Arya  <inferno@chromium.org>

        Unreviewed. Put missing equivalent js bindings check.

        Forgot putting js bindings check in http://trac.webkit.org/changeset/64647. This fixes the qt crash.

        * bindings/js/JSDesktopNotificationsCustom.cpp:
        (WebCore::JSNotificationCenter::requestPermission):

2010-08-03  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Null the script execution context when disconnecting frame in notifications.
        Make sure that script execution context is valid in notification requestPermission.
        https://bugs.webkit.org/show_bug.cgi?id=43295

        Tests: fast/notifications/notifications-document-close-crash.html

        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
        (WebCore::V8NotificationCenter::requestPermissionCallback):
        * notifications/NotificationCenter.cpp:
        (WebCore::NotificationCenter::disconnectFrame):

2010-08-04  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Use a QImage for the stroke applier scratch context

        This avoids leaking a server-side resource on some graphics systems.

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::scratchContext):

2010-07-21 Grace Kloba  <klobag@gmail.com> , Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by David Hyatt.

        Enhance the hit testing to take a rectangle instead of a point
        https://bugs.webkit.org/show_bug.cgi?id=40197

        The primary goal of this change is to provide mechanisms for more precise tap
        actions by the users on mobile devices.

        Patch extends the hit testing system to work considering a rectangular area
        as input instead of a point, when applicable. For that, the HitTestResult class
        was modified to take a padding (IntSize). The padding specifies a fuzzy range for
        accepting input events in pixels coordinates for both vertical and horizontal
        orientations. In other words, it tells how much to expand the search rect
        around a supposed touch point.

        If it is non-positive padding (e.g. (-1, -1), (5, -1), (0, 0)), hit testing will behavior
        as the current point based hit testing: methods are no-op'ed to not regress it performance-wise
        since it is the common behavior. When positive padding is provided, the HitTestResult class will
        keep record of all nodes that intersect the built up test area. The logic will continue searching
        when it finds a candidate until the hit test area is fully enclosed by the boundaries of a candidate.
        The result will be a list of nodes in the z-order they are hit-tested. Caller will decide how
        to process them.

        In order to expose the functionality, the patch:

        - Adds a nodesFromRect method to the Document class, exposing the funcionality
        to the DOM. Method returns a NodeList with all nodes that intersect the given
        hit-tested area.
        - Extends hitTestResultAtPoint method of the EventHandler with an extra 'padding'
        parameter, defaulting to IntSize(-1, -1). The rect-based hit test is performed when a
        non-negative padding is passed in.

        Test: fast/dom/nodesFromRect-basic.html

        * WebCore.base.exp:
        * dom/Document.cpp:
        (WebCore::Document::nodesFromRect): This method exposes the rect based funcionality to
        the DOM. It works similarly to elementFromPoint, however receiving a rectangular area
        as input instead of a point, and returning a z-index ordered list of nodes (not elements)
        whose area intersect the hit test rect.
        * dom/Document.h: Ditto.
        * dom/Document.idl: Ditto.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::hitTestResultAtPoint): The funcionality is also exposed through this
        method. Patch adds a additional IntSize parameter to work as the padding area, building up
        the hit test rect.
        * page/EventHandler.h: Ditto.
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::HitTestResult): Rect based hit test constructor. Receives a
        padding IntSize as parameter. It can be (0,0).
        (WebCore::HitTestResult::operator=): Modified to assign the m_rectBasedTestResult as well.
        (WebCore::HitTestResult::append): Merge to HitTestResult objects in a way that the
        list node's of both objects get amended.
        (WebCore::HitTestResult::addNodeToRectBasedTestResult): Adds a given Node to the list of
        hit nodes.
        * rendering/HitTestResult.h:
        (WebCore::HitTestResult::padding): Returns the padding as an IntSize.
        (WebCore::HitTestResult::isRectBasedTest): Returns if the HitTestResult is rect based or not.
        (WebCore::HitTestResult::.rectBasedTestResult): Returns the list nodes hit.
        (WebCore::HitTestResult::rectFromPoint): Returns the hit test rect given the hit test point
        and padding.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTestLayer):
        (WebCore::RenderLayer::hitTestList):
        (WebCore::RenderLayer::hitTestChildLayerColumns):
        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::nodeAtPoint): Method is modified to support rect based hit test extension.
        Now it not just checks if the boundary of the node being hit-tested contains a hit test point, but
        instead it checks if the boundary of the node intersects a hit test rect. It is implemented so
        that the common case (point based hit test) works as previously.
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::nodeAtPoint): Ditto.
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::nodeAtPoint): Ditto.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::nodeAtPoint): Ditto.
        (WebCore::RenderBlock::hitTestColumns): Ditto.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::nodeAtPoint): Ditto.
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::nodeAtPoint): Ditto.
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::hitTest):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::nodeAtPoint): Ditto.
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::nodeAtPoint): Ditto.
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::nodeAtPoint): Ditto.
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::nodeAtPoint): Ditto.

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

        Reviewed by Simon Fraser.

        Touch events do not affect the :active CSS state
        https://bugs.webkit.org/show_bug.cgi?id=39493

        Clean the code up by using a typedef based on comments
        post landing of the original patch.

        No change in functionality so no new tests.

        * rendering/HitTestRequest.h: Typedef the HitTestRequestType to unsigned.
        * WebCore.exp.in: Update export signature.
        * WebCore.order: Ditto.
        * page/EventHandler.cpp: use the new typedef.
        * page/EventHandler.h: ditto.


2010-07-24  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] tst_QWebFrame::callQtInvokable() fails
        https://bugs.webkit.org/show_bug.cgi?id=41065

        Converting JS objects to QVariantMaps was broken.
        This is a partial revert of <http://trac.webkit.org/changeset/61478>

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertValueToQVariant): Remove erroneous crash guard
        around JSObject::getPropertyNames()

2010-07-22  Kim Grönholm  <kim.1.gronholm@nokia.com>

        Reviewed by NOBODY (OOPS!).

        Generate TransformAction events from touch gestures
        https://bugs.webkit.org/show_bug.cgi?id=39979

        Enabling transformaction events to be generated from multi-touch
        gestures by adding gesture handling machinery and eventhandler hooks.

        Test: fast/events/transformaction/basic-transformaction-events.html
        Tests basic single- and multi-touch sequences and the corresponding
        TransformAction events that are generated.

        A manual test can be found from:
        https://bug-39757-attachments.webkit.org/attachment.cgi?id=57226

        * WebCore.pro:
        * page/EventHandler.cpp:
        (WebCore::hasTransformActionEventListener):
        (WebCore::EventHandler::handleTouchEvent):
        * page/EventHandler.h:
        * page/TouchGestureHandler.cpp: Added.
        (WebCore::TouchGestureHandler::TouchGestureHandler):
        (WebCore::TouchGestureHandler::updateRefreshNeededState):
        (WebCore::TouchGestureHandler::updateTouchPoints):
        (WebCore::TouchGestureHandler::reset):
        (WebCore::TouchGestureHandler::calcAngle):
        (WebCore::TouchGestureHandler::diffAngle):
        (WebCore::TouchGestureHandler::calcPos):
        (WebCore::TouchGestureHandler::calcDistance):
        * page/TouchGestureHandler.h: Added.
        (WebCore::TouchGestureHandler::translateX):
        (WebCore::TouchGestureHandler::translateY):
        (WebCore::TouchGestureHandler::pos):
        (WebCore::TouchGestureHandler::screenPos):
        (WebCore::TouchGestureHandler::scale):
        (WebCore::TouchGestureHandler::rotate):

2010-07-22  Kim Grönholm  <kim.1.gronholm@nokia.com>

        Reviewed by NOBODY (OOPS!).

        Add TransformActionEvent support
        https://bugs.webkit.org/show_bug.cgi?id=39757

        Added only the necessary TransformAction event interfaces and not e.g.
        any eventhandler hooks that generate and dispatch them.

        Test: fast/events/transformaction/create-transformaction-event.html
        More tests will be added with the machinery that generates and
        dispatches these events.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::transformactionEnabled):
        (WebCore::RuntimeEnabledFeatures::setTransformActionEnabled):
        (WebCore::RuntimeEnabledFeatures::ontransformactionstartEnabled):
        (WebCore::RuntimeEnabledFeatures::ontransformactionupdateEnabled):
        (WebCore::RuntimeEnabledFeatures::ontransformactionendEnabled):
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):
        * dom/Document.cpp:
        (WebCore::Document::createEvent):
        (WebCore::Document::addListenerTypeIfNeeded):
        * dom/Document.h:
        (WebCore::Document::):
        * dom/Document.idl:
        * dom/Element.h:
        * dom/Element.idl:
        * dom/Event.cpp:
        (WebCore::Event::isTransformActionEvent):
        (WebCore::Event::fromUserGesture):
        * dom/Event.h:
        * dom/EventNames.h:
        * dom/TransformActionEvent.cpp: Added.
        (WebCore::TransformActionEvent::TransformActionEvent):
        (WebCore::TransformActionEvent::initTransformActionEvent):
        * dom/TransformActionEvent.h: Added.
        (WebCore::TransformActionEvent::create):
        (WebCore::TransformActionEvent::translateX):
        (WebCore::TransformActionEvent::translateY):
        (WebCore::TransformActionEvent::translateSpeedX):
        (WebCore::TransformActionEvent::translateSpeedY):
        (WebCore::TransformActionEvent::scale):
        (WebCore::TransformActionEvent::scaleSpeed):
        (WebCore::TransformActionEvent::rotate):
        (WebCore::TransformActionEvent::rotateSpeed):
        (WebCore::TransformActionEvent::TransformActionEvent):
        (WebCore::TransformActionEvent::isTransformActionEvent):
        * dom/TransformActionEvent.idl: Added.
        * html/HTMLAttributeNames.in:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:

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

        Reviewed by NOBODY (OOPS!).

        [RVCT] ACID3 test crash
        https://bugs.webkit.org/show_bug.cgi?id=33280

        Workaround developed by Yongjun Zhang.

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

2010-07-22  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Small refactoring for input value sanitization
        https://bugs.webkit.org/show_bug.cgi?id=42807

        Rename some functions to clarify their roles.

        * dom/InputElement.cpp:
        (WebCore::replaceEOLAndLimitLength):
          Renamed from sanitizeUserInputValue().
        (WebCore::InputElement::sanitizeValueForTextField):
          Renamed from sanitizeValue(), and call replaceEOLAndLimitLength()
          instead of sanitizeUserInputValue().
        (WebCore::InputElement::sanitizeUserInputValue):
          Just call replaceEOLAndLimitLength().
        (WebCore::InputElement::updateValueIfNeeded):
          Use non-static sanitizeValue() for consistency.
        * dom/InputElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setInputType):
          Revert the change of r63876. It is not needed because of the
          updateValueIfNeeded() change.
        (WebCore::HTMLInputElement::sanitizeValue):
          Apply the sanitizeValue() renaming.

2010-07-22  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Fisher.

        webkitPerformance.timing.responseEnd should not include document parse time
        https://bugs.webkit.org/show_bug.cgi?id=42797

        No new tests because timing based test would be flaky.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::finishedLoading): finishedLoading() is called by the platform at the right time, but didReceiveData() synchronously invokes parsing without returning to the event loop prior to this. So by the time the didFinishLoading() method is executed, parsing is finished. The solution is to move this time to didReceiveData() prior to parsing.
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::didReceiveData): Update the time each time didReceiveData() is called.
        (WebCore::MainResourceLoader::didFinishLoading): When finished, and after parsing, set responseEnd appropriately.
        * loader/MainResourceLoader.h:
        * page/Timing.cpp:
        (WebCore::Timing::resourceLoadTimeRelativeToAbsolute): Now that responseEnd is set correctly, it can be much shorter for very fast loads (like local files). This exposed the fact that this skew check was not tight enough. We need to make sure that the whole range of values from the ResourceLoadTiming API fit within fetchStart-responseEnd, not just that requestTime fits in this range.

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

        Reviewed by Darin Adler.

        Assertion failure by changing the type of an input element with a
        non-number value to 'range'.
        https://bugs.webkit.org/show_bug.cgi?id=42643

        Test: fast/forms/input-value-sanitization.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setInputType):
        Update the value by HTMLInputElement::sanitizeValue() in a case that
        storesValueSeparateFromAttribute() state is not changed.

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

        Reviewed by Eric Seidel.

        Implement spec changes for basefont and bgsound
        https://bugs.webkit.org/show_bug.cgi?id=42792

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processStartTagForInHead):

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

        Reviewed by Eric Seidel.

        Update a list of tags to match changes in the HTML5 spec
        https://bugs.webkit.org/show_bug.cgi?id=42791

        We need to atomize these strings at some point.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):

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

        Reviewed by Eric Seidel.

        HTMLTreeBuilder needs to update to match new spec behavior for <button>
        https://bugs.webkit.org/show_bug.cgi?id=42233

        The spec has some typos in this area, but this is my best guess for
        what Ian means.  I've filed bugs against the spec for each typo.

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLNames::isScopeMarker):
        (WebCore::HTMLNames::isButtonScopeMarker):
        (WebCore::HTMLElementStack::inButtonScope):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
        * html/HTMLTreeBuilder.h:

2010-07-21  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Oliver Hunt.

        Prevent DeleteButtonController enable state from changing when not editing
        https://bugs.webkit.org/show_bug.cgi?id=42659

        Test: svg/custom/use-invalid-html.xhtml

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::cloneChildNodes):

2010-07-21  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dan Bernstein.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=42605 New border-
        radius path-based drawing code has some issues with corner-joins

        GraphicsContext::clipConvexPolygon() now takes a boolean parameter 
        indicating whether or not the clip should be antialiased.
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):

        Compute 4 booleans determining if each edge is a "matching" edge of 
        not. Send the two appropriate values to clipBorderSidePolygon() so 
        we can decide there whether or not to antialias the clip based on 
        matchy-ness.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBorder):

        If both edges are matching, don't antialias. If neither edge 
        matches, never antialias. If one edge matches and one does not, 
        apply two clips to get the appropriate antialiasing in each corner.
        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
        * rendering/RenderBoxModelObject.h:

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

        Reviewed by Geoffrey Garen.

        Break out "scheme registration" functionality from SecurityOrigin to a SchemeRegistry
        https://bugs.webkit.org/show_bug.cgi?id=42783

        No new tests. (No change in behavior)

        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::isMixedContent):
        (WebCore::FrameLoader::loadFrameRequest):
        
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::SecurityOrigin):
        (WebCore::SecurityOrigin::canLoad):
        (WebCore::SecurityOrigin::isLocal):
        * page/SecurityOrigin.h:
        
        * platform/SchemeRegistry.cpp: Added.
        (WebCore::localSchemes):
        (WebCore::secureSchemes):
        (WebCore::schemesWithUniqueOrigins):
        (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
        (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
        (WebCore::SchemeRegistry::localURLSchemes):
        (WebCore::SchemeRegistry::shouldTreatURLAsLocal):
        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
        (WebCore::SchemeRegistry::registerURLSchemeAsNoAccess):
        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess):
        (WebCore::SchemeRegistry::registerURLSchemeAsSecure):
        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
        * platform/SchemeRegistry.h: Added.

2010-07-21  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Assertion failure in AnimationBase::updateStateMachine() coming out of paused state
        https://bugs.webkit.org/show_bug.cgi?id=37993
        
        Added logic to properly handle pausing and resuming when in the 
        AnimationStateStartWaitStyleAvailable state. This was causing an
        assert when going out of the pause state because the paused flag
        was not set.
        
        The fix is a straightforward implementation, going into a new
        AnimationStatePausedWaitStyleAvailable state and setting the paused
        flag (actually setting the m_pauseTime variable to something other
        than -1). Also added handling of the new state, both when the 
        "style available" callback comes in while in this state and when
        unpausing while in this state. 
        
        For now a LayoutTest is not possible since there's no way to go in
        and out of the pause state. I've opened https://bugs.webkit.org/show_bug.cgi?id=42790
        to track this.

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::updateStateMachine):
        * page/animation/AnimationBase.h:
        (WebCore::AnimationBase::):

2010-07-21  Bo Liu  <boliu@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Add chromium WebMediaPlayer to PlatformMedia
        https://bugs.webkit.org/show_bug.cgi?id=41295

        * platform/graphics/MediaPlayer.h:
        (WebCore::PlatformMedia::):

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

        Reviewed by Anders Carlsson.

        Composited layers don't scroll in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=42771

        Prep work: FrameView::scrollPositionChanged() sounds like a generic "did scroll" bottleneck,
        but this is deceiving. It's only every called on one platform (Mac) when the NSScrollView gets
        scrolled, so rename it to FrameView::scrollPositionChangedViaPlatformWidget().

        * WebCore.exp.in:
        * page/FrameView.cpp:
        (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
        * page/FrameView.h:

2010-07-21  Peter Beverloo  <peter@lvp-media.com>

        Reviewed by Eric Carlson.

        Removed support for the -khtml CSS vendor prefix and limit the
        -apple prefix to two properties (dashboard-region and line-clamp).

        Test: fast/css/limited-vendor-prefix-behavior.html

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

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

        Reviewed by Eric Seidel.

        Fix the last tree HTML5 tree builder crashes
        https://bugs.webkit.org/show_bug.cgi?id=42773

        This patch changes the internal representation of a bookmark to handle
        the case where one of the adjecent entries in the list of active
        formatting elements is actually a marker.

        After this patch, the bookmarking mechanism isn't as general, but it
        works for the cases we need in the adoption agency.

        Also, after this patch, there aren't any more known crashers in the
        HTML5 tree builder.  :)

        * html/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::bookmarkFor):
        (WebCore::HTMLFormattingElementList::swapTo):
        * html/HTMLFormattingElementList.h:
        (WebCore::HTMLFormattingElementList::Bookmark::Bookmark):
        (WebCore::HTMLFormattingElementList::Bookmark::moveToAfter):
        (WebCore::HTMLFormattingElementList::Bookmark::hasBeenMoved):
        (WebCore::HTMLFormattingElementList::Bookmark::mark):
        (WebCore::HTMLFormattingElementList::first):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2010-07-21  Tony Gentilcore  <tonyg@chromium.org>

        Unreviewed build fix.

        Disable overzealous ASSERT
        https://bugs.webkit.org/show_bug.cgi?id=42775

        No new tests because no changed functionality.

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

2010-07-21  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        Crash in Notification::disconnectFrame() triggered by Frame::lifeSupportTimerFired()
        https://bugs.webkit.org/show_bug.cgi?id=42534

        Call NotificationsCenter::disconnectFrame() when the frame is disconnected from the page.
        Calling it from the destructor of Frame is too late and sometimes causes access violation.
        I was not able to reproduce this crash, so did not add new tests.
        This patch is based on the error reported in 
        http://code.google.com/p/chromium/issues/detail?id=49323.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::pageDestroyed):
        * page/DOMWindow.h:
        * page/Frame.cpp:
        (WebCore::Frame::pageDestroyed):

2010-07-21  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Don't assert when clicking on a plug-in in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=42762

        Remove a now invalid assert and return false instead.

        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passMouseDownEventToWidget):

2010-07-21  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        [v8] Revert r60670 as it introduced a regression: in some cases named children couldn't be retrieved.
        https://bugs.webkit.org/show_bug.cgi?id=42766

        See http://code.google.com/p/chromium/issues/detail?id=48804 for more details.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::namedPropertyDeleter):
        (WebCore::V8HTMLDocument::namedPropertyGetter):
        (WebCore::V8HTMLDocument::indexedPropertyGetter):
        (WebCore::V8HTMLDocument::allAccessorSetter):
        (WebCore::toV8):

2010-07-21  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        Update plug-in proxy backed <video> and <audio> elements.
        https://bugs.webkit.org/show_bug.cgi?id=42770
        <rdar://problem/7963467>

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::attributeChanged): Only call m_player->setControls when
        the 'controls' attribute changes.
        (WebCore::HTMLMediaElement::createRenderer): 
        (WebCore::HTMLMediaElement::attach): If we have a proxy widget, call the WebFrameLoaderClient's 
        'hide' and 'show' methods for the media proxy plug-in to make sure we remove and re-add the 
        plug-in's view to the global list of plugin views.
        (WebCore::HTMLMediaElement::createMediaPlayerProxy): Bail if m_proxyWidget is non-NULL

        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::hideMediaPlayerProxyPlugin): Empty stub method.
        (WebCore::EmptyFrameLoaderClient::showMediaPlayerProxyPlugin): Ditto.

        * loader/FrameLoader.cpp:
        * loader/FrameLoaderClient.h:
        * loader/SubframeLoader.cpp:
        (WebCore::FrameLoader::loadMediaPlayerProxyPlugin): Always set m_containsPlugIns in loadMediaPlayerProxyPlugin(),
         even when we don't have a renderer.
        (WebCore::FrameLoader::hideMediaPlayerProxyPlugin): New, call hideMediaPlayerProxyPlugin.
        (WebCore::FrameLoader::showMediaPlayerProxyPlugin): New, call showMediaPlayerProxyPlugin.

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::NullMediaPlayerPrivate::setControls):
        (WebCore::MediaPlayer::setControls): New, pass through to media engine.
        (WebCore::MediaPlayer::enterFullscreen): Ditto.
        (WebCore::MediaPlayer::exitFullscreen): Ditto.
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::setControls):
        (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
        (WebCore::MediaPlayerPrivateInterface::exitFullscreen):

2010-07-21  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Make more members of CSSStyleSelector private.
        https://bugs.webkit.org/show_bug.cgi?id=42757

        No change in behavior, so no new tests.

        * css/CSSStyleSelector.h: Made a publicly-unused methods private.

2010-07-21  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: consider jQuery object to be of array nature.

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

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

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

        Unreviewed Windows build fix.

        https://bugs.webkit.org/show_bug.cgi?id=42717
        <rdar://problem/7062824> A wrong password entered for site or proxy auth remains in WebCore
        credential storage, and is sent with subsequent requests

        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Don't use that direct a
        copy/paste, oops!

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

        Reviewed by Darin Adler.

        When GraphicsLayer::contentsOrientation() is CompositingCoordinatesBottomUp, need to flip repaint rects
        https://bugs.webkit.org/show_bug.cgi?id=42662
        
        If the contentsOrientation() on a GraphicsLayer is CompositingCoordinatesBottomUp, then we
        need to flip the rects passed to setNeedsDisplayInRect:.
        
        Avoid writing this code twice by making a bare function to share code
        between WebLayer and WebTiledLayer. Convert the existing +drawContents:ofLayer:intoContext:
        class method into a bare function, because the Obj-C calling overhead doesn't buy us anything.
        
        Take out an assertion in GraphicsLayerCA::updateContentsTransform() that is not
        correct.
        
        No new tests because no layers use bottom-up contents at present.

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::updateContentsTransform):
        * platform/graphics/mac/WebLayer.h:
        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents):
        (setLayerNeedsDisplayInRect):
        (-[WebLayer setNeedsDisplayInRect:]):
        (-[WebLayer drawInContext:]):
        * platform/graphics/mac/WebTiledLayer.mm:
        (-[WebTiledLayer setNeedsDisplayInRect:]):
        (-[WebTiledLayer drawInContext:]):

2010-07-20  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=42717
        <rdar://problem/7062824> A wrong password entered for site or proxy auth remains in WebCore
        credential storage, and is sent with subsequent requests

        Tests: http/tests/security/401-logout/401-logout.php
               http/tests/xmlhttprequest/remember-bad-password.html

        * platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::remove):
        * platform/network/CredentialStorage.h:
        Added a way to remove stored credentials for a given protection space.

        * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
        * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
        Remove stored credentials if they didn't work the first time.

2010-07-20  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam Roben.

        WebKit on Windows should build optionally with an unversioned ICU DLL
        https://bugs.webkit.org/show_bug.cgi?id=42722
        <rdar://problem/8211767> WebKit needs to link against unversioned ICU

        To get the proper value for U_DISABLE_RENAMING into all source files, we force
        the include of ICUVersion.h (our generated header) via the compiler options.
        
        * WebCore.vcproj/WebCore.vcproj:
        Add forced include of ICUVersion.h.
        * WebCore.vcproj/WebCoreCommon.vsprops: Add forced include of ICUVersion.h.

2010-07-21  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Serialization to JSON in InspectorValue works incorrect
        if comma is assigned as decimal separator. Windows with Russian locale.
        https://bugs.webkit.org/show_bug.cgi?id=42755

        * inspector/InspectorValues.cpp:
        (WebCore::InspectorBasicValue::writeJSON):

2010-07-20  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        CSS rotation transform can cause elements with certain styles to vanish during rotation.
        https://bugs.webkit.org/show_bug.cgi?id=42579
        
        Remove some untested, broken code that, as far as I can tell, could never get hit.
        Use the correct rect for the PaintInfo so that zero-sized elements with overflow:hidden
        but a border paint correctly.

        Test: compositing/overflow/zero-size-overflow.html

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

2010-07-21  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>

        Reviewed by Laszlo Gombos.

        [QT] Leak and few more fixes to qt port of geolocation
        https://bugs.webkit.org/show_bug.cgi?id=42753

        Fixes memory leak and default values set to attributes. 
        
        Memory leak fix no new test case added. 

        * platform/qt/GeolocationServiceQt.cpp: Added.
        (WebCore::GeolocationServiceQt::~GeolocationServiceQt):
        (WebCore::GeolocationServiceQt::positionUpdated):

2010-07-21  Kristian Amlie <kristian.amlie@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Added automatic sqlite extraction for Symbian to QtWebKit.

        Also added sqlite detection in case sqlite is not present in the SDK.
        This is possible if WebKit is compiled standalone.

        The inclusion part is a consequence of commit c578c6c1d6d in the Qt
        repository. It will not work on Qt versions < 4.7.1, but that is ok,
        since the only build system it will affect is marked as experimental
        in the whole 4.7 series.

        * WebCore.pro:

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

        Reviewed by Eric Seidel.

        Associate elements with the active form
        https://bugs.webkit.org/show_bug.cgi?id=42728

        This patch fixes fast/forms/formmove3.html.  The test still doesn't
        pass due to some render tree differences, but it works as intended now.

        To fix this test, I needed to deviate from the spec slight.  Minefield
        seems to have the same deviation:
          - http://www.w3.org/Bugs/Public/show_bug.cgi?id=10216

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::takeForm):
        (WebCore::HTMLConstructionSite::setForm):
        (WebCore::HTMLConstructionSite::createHTMLElement):
        * html/HTMLConstructionSite.h:
        (WebCore::HTMLConstructionSite::form):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):

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

        Reviewed by Eric Seidel.

        The adoption agency doesn't properly attach()
        https://bugs.webkit.org/show_bug.cgi?id=42727

        The adoption agency is transliterated rather directly from the spec,
        but it misses some of the WebKit-specific machinations, such as
        attaching to the render tree.

        The algorithm, as written, is a minor layer violation.  I've added to
        the problem by calling attach() from HTMLTreeBuilder (even though
        that's the job of the HTMLConstructionSite).  We'll need to clean up
        the layering a bit at some point.

        This patch half fixes fast/forms/formmove3.html.  Hopefully I'll finish
        fixing it in the next patch.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

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

        Reviewed by Eric Seidel.

        <input> elements with no type attribute should be foster parented
        https://bugs.webkit.org/show_bug.cgi?id=42725

        Fix spec transcription error.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):

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

        Reviewed by Eric Seidel.

        Fix fast/css/last-child-style-sharing.html
        https://bugs.webkit.org/show_bug.cgi?id=42731

        Prior to this patch, we weren't calling finishParsingChildren on the
        body element.  We need a more systematic way of catching these bugs.

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::popAll):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndOfFile):

2010-07-21  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        Runtime feature switch for device orientation
        https://bugs.webkit.org/show_bug.cgi?id=42265

        Add a runtime feature switch that decides whether device orientation
        events are available or not. Defaults to true.

        * WebCore.vcproj/WebCoreCommon.vsprops: Add bindings/generic to include path.
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled):
        (WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled):
        (WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled):
        (WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::addEventListener):
        (WebCore::DOMWindow::removeEventListener):
        (WebCore::DOMWindow::removeAllEventListeners):
        * page/DOMWindow.idl:
        * page/Page.cpp:
        (WebCore::Page::Page):

2010-07-21  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed Nikolas Zimmermann.

        SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
        https://bugs.webkit.org/show_bug.cgi?id=42244

        The implementation was done by Nikolas Zimmermann before, but
        there was no tests for it. The patch also implements the simple
        setFilterRes method.

        Tests: svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr.html
               svg/dynamic-updates/SVGFilterElement-dom-filterUnits-attr.html
               svg/dynamic-updates/SVGFilterElement-dom-height-attr.html
               svg/dynamic-updates/SVGFilterElement-dom-primitiveUnits-attr.html
               svg/dynamic-updates/SVGFilterElement-dom-width-attr.html
               svg/dynamic-updates/SVGFilterElement-dom-x-attr.html
               svg/dynamic-updates/SVGFilterElement-dom-y-attr.html
               svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call.html
               svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop.html
               svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop.html
               svg/dynamic-updates/SVGFilterElement-svgdom-filterUnits-prop.html
               svg/dynamic-updates/SVGFilterElement-svgdom-height-prop.html
               svg/dynamic-updates/SVGFilterElement-svgdom-primitiveUnits-prop.html
               svg/dynamic-updates/SVGFilterElement-svgdom-width-prop.html
               svg/dynamic-updates/SVGFilterElement-svgdom-x-prop.html
               svg/dynamic-updates/SVGFilterElement-svgdom-y-prop.html

        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::setFilterRes):
        (WebCore::SVGFilterElement::svgAttributeChanged):
        (WebCore::SVGFilterElement::childrenChanged):
        * svg/SVGFilterElement.h:

2010-07-21  Ben Murdoch  <benm@google.com>

        Unreviewed, build fix.

        Forgot to update the role of HitTestRequest.h in
        the xcode project after landing patch from
        https://bugs.webkit.org/show_bug.cgi?id=39493

        * WebCore.xcodeproj/project.pbxproj: Make HitTestRequest.h
            private so it can be included in WebKit by EventHandler.h
            which is already private..

2010-07-20  Ben Murdoch  <benm@google.com>

        Reviewed by Steve Block.

        Touch events do not affect the :active CSS state
        https://bugs.webkit.org/show_bug.cgi?id=39493

        Test: fast/events/touch/touch-active-state.html

        * WebCore.exp.in: Update exports for new signature of
            hitTestResultAtPoint.
        * WebCore.order: ditto.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler):
        (WebCore::EventHandler::hitTestResultAtPoint): Pass the type
            of the hit test to perform as a parameter with a default
            value rather than harcoding it in the function body.
        (WebCore::EventHandler::handleMouseMoveEvent): Do not modiify
            the active element during a mouse move if the user is
            touching the screen.
        (WebCore::EventHandler::handleTouchEvent): Set the correct
            type of hit test to perform depending on the type of the
            touch event we are handling.
        * page/EventHandler.h: Update the signature of hitTestResultAtPoint.

2010-07-20  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        console.assert should include stack trace with line numbers.
        https://bugs.webkit.org/show_bug.cgi?id=22556

        Test: inspector/console-assert.html

        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::getTopFrameLocation):
        (WebCore::toScriptCallFramesVector):
        (WebCore::ScriptCallStack::create):
        (WebCore::ScriptCallStack::ScriptCallStack):
        * bindings/v8/ScriptCallStack.h:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::traceCallback):
        (WebCore::V8Console::assertCallback):
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addMessageToConsole):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage.prototype._formatMessage):
        (WebInspector.ConsoleMessage.prototype.toMessageElement):
        * page/Console.cpp:
        (WebCore::Console::lastWMLErrorMessage):
        * page/Console.idl:

2010-07-20  Rafael Antognolli  <antognolli@profusion.mobi>

        Reviewed by Kent Tamura.

        [EFL] Use log functions instead of fprintf
        https://bugs.webkit.org/show_bug.cgi?id=42576

        Use LOG and LOG_ERROR instead of fprintf.

        No new tests, no new functionality.

        * platform/efl/WidgetEfl.cpp:
        (WebCore::Widget::applyFallbackCursor):

2010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: the bindings generation helper script can be
        simplified a bit. Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=42523

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/rule_binding.py:
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorCPP.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/generate-bindings.pl:
        * inspector/CodeGeneratorInspector.pm:

2010-07-20  Steve Falkenburg  <sfalken@apple.com>

        Re-save vsprops file after no-op edit in Visual Studio
        to fix manual edit issues.

        * WebCore.vcproj/WebCoreCommon.vsprops:

2010-07-20  Steve Falkenburg  <sfalken@apple.com>

        Re-save vcproj file after no-op edit in Visual Studio
        to fix manual edit issues.

        * WebCore.vcproj/WebCore.vcproj:

2010-07-20  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Include attributes when reconstructing elements in HTML5 tree builder
        https://bugs.webkit.org/show_bug.cgi?id=42594

        Remove FIXME now that we have a test.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::createHTMLElementFromElementRecord):

2010-07-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Brady Eidson.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=42719
        Make Acid2 pass in WebKit2

        * WebCore.exp.in: Update exported functions.

2010-07-20  Gavin Peters  <gavinp@chromium.org>

        Reviewed by Adam Barth.

        prefetch categorization is exactly wrong
        https://bugs.webkit.org/show_bug.cgi?id=42651

        While I was in the area, I saw that CachedResource::schedule() was dead, so I have removed it.

        Test: fast/dom/HTMLLinkElement/onload-completion-test.html

        * loader/CachedCSSStyleSheet.h:
        * loader/CachedFont.h:
        * loader/CachedImage.h:
        * loader/CachedResource.cpp:
        * loader/CachedResource.h:
        (WebCore::CachedResource::isPrefetch):
        * loader/CachedScript.h:
        * loader/CachedXBLDocument.h:
        * loader/CachedXSLStyleSheet.h:

2010-07-20  James Hawkins  <jhawkins@chromium.org>

        Reviewed by Darin Fisher.

        Expose the form submission trigger on the HTMLFormElement object. This
        is used to verify that the user submitted the form instead of JS when
        saving form data in Chrome AutoFill.
        https://bugs.webkit.org/show_bug.cgi?id=42479

        No new tests as this is only used by the Chromium WebKit API.

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::HTMLFormElement):
        (WebCore::HTMLFormElement::submit):
        (WebCore::HTMLFormElement::reset):
        (WebCore::HTMLFormElement::submissionTrigger):
        * html/HTMLFormElement.h:

2010-07-20  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        Fix fast/dom/title-content-write-set.html for HTML5 tree builder
        https://bugs.webkit.org/show_bug.cgi?id=42668

        Address some late-breaking review comments.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::appendDataCommon):
        (WebCore::CharacterData::parserAppendData):
        (WebCore::CharacterData::appendData):
        (WebCore::CharacterData::insertData):
        (WebCore::CharacterData::replaceData):
        * dom/CharacterData.h:

2010-07-20  Daniel Erat  <derat@chromium.org>

        Reviewed by Ojan Vafai.

        Subpixel rendering always disabled for Chromium Linux
        https://bugs.webkit.org/show_bug.cgi?id=42220

        Explicitly initialize global Chromium Linux isSkiaSubpixelGlyphs
        flag to false for clarity.

        * platform/graphics/chromium/FontPlatformDataLinux.cpp:

2010-07-20  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Fix fast/dom/title-content-write-set.html for HTML5 tree builder
        https://bugs.webkit.org/show_bug.cgi?id=42668

        When I split parserAppendData from appendData, it was tempting to cut
        the function at dispatchModifiedEvent, but that's not quite right.  We
        still need to notify the parent that it's children have changed.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::appendDataCommon):
        (WebCore::CharacterData::parserAppendData):
        (WebCore::CharacterData::appendData):
        * dom/CharacterData.h:

2010-07-20  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        CrashTracer: [USER] 300 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityTable::isTableExposableThroughAccessibility + 573
        https://bugs.webkit.org/show_bug.cgi?id=42652

        When a table cell accesses its parent table, we should not use getOrCreate, because creating an AXTable inspects its render tree state
        which may be out of date, leading to a crash.
        By using only get(), it implies that the AXTable must be created before AXTableCells. This should
        always be the case when AT clients access a table.

        Test: accessibility/updating-attribute-in-table-causes-crash.html

        * accessibility/AccessibilityTableCell.cpp:
        (WebCore::AccessibilityTableCell::parentTable):

2010-07-20  Abhishek Arya  <inferno@chromium.org>

        Reviewed by David Hyatt.

        Check the node is a text node before doing the static cast
        for editing commands.
        https://bugs.webkit.org/show_bug.cgi?id=42655

        Test: editing/execCommand/editing-nontext-node-crash.xhtml

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::fixupWhitespace):
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):

2010-07-20  Leo Yang  <leo.yang@torchmobile.com.cn>

        Reviewed by David Hyatt.

        Don't merge Anonymous block whose first child is inline run-in.
        Make run-in recalculate its style after its renderer is destroyed.
        https://bugs.webkit.org/show_bug.cgi?id=41375.

        Test: fast/runin/crash-when-reparent-sibling.html

        * rendering/RenderBlock.cpp:
        (WebCore::canMergeContiguousAnonymousBlocks):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::destroyLeftoverChildren):

2010-07-20  Steve Block  <steveblock@google.com>

        Unreviewed Qt test fix.

        Qt should not use PREEMPT_GEOLOCATION_PERMISSION until Bug 42027 is fixed.
        https://bugs.webkit.org/show_bug.cgi?id=42068

        No new tests, test fix only.

        * WebCore.pro:

2010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63764.
        http://trac.webkit.org/changeset/63764
        https://bugs.webkit.org/show_bug.cgi?id=42658

        have broken Chromium linux build (Requested by loislo on
        #webkit).

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/rule_binding.py:
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorCPP.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/generate-bindings.pl:
        * inspector/CodeGeneratorInspector.pm:

2010-07-20  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Brady Eidson.

        https://bugs.webkit.org/show_bug.cgi?id=41531
        Asynchronous cross origin XMLHttpRequest doesn't expose 401 response when withCredentials is false

        This doesn't match Firefox, but it matches our sync case, XHR2 spec and common sense.

        Test: http/tests/xmlhttprequest/cross-origin-no-authorization.html (updated results).

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::didReceiveAuthenticationChallenge): Instead of canceling
        the request, continue without credentials - if the platform has a necessary method on
        ResourceHandle.

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Don't ask resource loader
        client for credentials if subresource loader client already took care of those.

        * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::hasAuthenticationChallenge):
        * platform/network/ResourceHandle.h:
        Added an accessor to check whether ResourceHandle is currently waiting for credentials.

2010-07-20  Leandro Pereira  <leandro@profusion.mobi>

        [EFL] Unreviewed build fix.

        Build SVGPathBuilder, SVGPathParser and SVGPathSegListBuilder.
        Add websockets include directory.

        The EFL port doesn't yet support automated tests.

        * CMakeLists.txt:

2010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: the bindings generation helper script can be
        simplified a bit. Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=42523

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/rule_binding.py:
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorCPP.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/generate-bindings.pl:
        * inspector/CodeGeneratorInspector.pm:

2010-07-20  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Geoffrey Garen.

        WebScriptObject Should Allow Safely Checking For Key Existence
        https://bugs.webkit.org/show_bug.cgi?id=42613

        Test: platform/mac/fast/objc/webScriptObject-hasWebScriptKey.html

        Add private API "hasWebScriptKey" to check for key existence in
        a WebScriptObject. Like JavaScript's `in` syntax. This is intended
        to be made public eventually.

        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject hasWebScriptKey:]):
        * bindings/objc/WebScriptObjectPrivate.h:

2010-07-20  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTML5 tree builder needs to call dispatchDocumentElementAvailable
        https://bugs.webkit.org/show_bug.cgi?id=42654

        This patch fixes the follout LayoutTests with --html5-treebuilder:
          - userscripts/script-not-run-for-fragments.html
          - userscripts/script-run-at-start.html

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
        (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
        * html/HTMLConstructionSite.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):

2010-07-20  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>

        Reviewed by Steve Block.

        Need to be able to configure Geolocation policy regarding user permissions
        https://bugs.webkit.org/show_bug.cgi?id=42068

        Introducing new USE() flag PREEMPT_GEOLOCATION_PREMISSION using which
        acquires user permission first before starting location service

        This change does not introduce any change in behavior for any platform. So there are no new tests
        added.

        * WebCore.pro:
        * page/Geolocation.cpp:
        (WebCore::Geolocation::startRequest):
        (WebCore::Geolocation::setIsAllowed):
        (WebCore::Geolocation::startUpdating):
        * page/Geolocation.h:

2010-07-20  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        HTML5 tree builder should restore form state
        https://bugs.webkit.org/show_bug.cgi?id=42644

        We need to tell self-closing tags that we're done parsing their
        children.  This patch fixes the following LayoutTests when run with
        --html5-treebuilder:

          fast/forms/button-state-restore.html
          fast/forms/state-restore-to-non-autocomplete-form.html
          fast/forms/state-restore-to-non-edited-controls.html
          fast/history/saves-state-after-fragment-nav.html
          http/tests/navigation/restore-form-state-https.html

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):

2010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63750.
        http://trac.webkit.org/changeset/63750
        https://bugs.webkit.org/show_bug.cgi?id=42648

        This revision breaks the windows builds (Requested by
        hwennborg on #webkit).

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::addEventListener):
        (WebCore::DOMWindow::removeEventListener):
        (WebCore::DOMWindow::removeAllEventListeners):
        * page/DOMWindow.idl:
        * page/Page.cpp:
        (WebCore::Page::Page):

2010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: It is possible to show full call stack instead of top frame for Caller
        and Call Site properties in Timeline panel.
        https://bugs.webkit.org/show_bug.cgi?id=42620

        * English.lproj/localizedStrings.js:
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.FormattedRecord):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
        * inspector/front-end/inspector.css:
        (.timeline-details):
        (.timeline-function-name):
        (.timeline-stacktrace-title):

2010-07-20  Leon Clarke  <leonclarke@google.com>

        Reviewed by Pavel Feldman.

        Make things compile again when the inspector is disabled, following
        recent inspector improvements.
        https://bugs.webkit.org/show_bug.cgi?id=42632

        No new tests. Fixing a build break.


        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::stackTrace):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::didInsertDOMNode):
        (WebCore::InspectorController::didRemoveDOMNode):
        (WebCore::InspectorController::didModifyDOMAttr):
        * inspector/InspectorDOMAgent.h:
        * loader/appcache/ApplicationCacheGroup.cpp:

2010-07-20  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        [v8] Allow handles to be disposed and WebKit objects to be dereferenced even if their map is already destroyed.
        https://bugs.webkit.org/show_bug.cgi?id=42634

        Currently DOMDataStore could be destroyed even if it has some mappings (it gets destroyed
        when its isolated context gets GCed).  However in this case, handles allocated for
        such objects would never be disposed as we require presence of mapping from wrapped
        WebKit object to handle being collected in the map and now map is gone.  That leads to
        zombie objects in both WebKit (wrapped WebKit object doesn't get dereferenced) and V8
        (both handle and V8 wrapper object could not be destroyed).

        See http://code.google.com/p/chromium/issues/detail?id=47125 for further discussion.

        * bindings/v8/DOMData.h:
        (WebCore::DOMData::handleWeakObject):
        * bindings/v8/DOMDataStore.cpp:
        (WebCore::DOMDataStore::weakNodeCallback):
        * bindings/v8/V8DOMMap.h:
        (WebCore::WeakReferenceMap::~WeakReferenceMap):

2010-07-20  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        Runtime feature switch for device orientation
        https://bugs.webkit.org/show_bug.cgi?id=42265

        Add a runtime feature switch that decides whether device orientation
        events are available or not. Defaults to true.

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled):
        (WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled):
        (WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled):
        (WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::addEventListener):
        (WebCore::DOMWindow::removeEventListener):
        (WebCore::DOMWindow::removeAllEventListeners):
        * page/DOMWindow.idl:
        * page/Page.cpp:
        (WebCore::Page::Page):

2010-07-20  Hayato Ito  <hayato@chromium.org>

        Reviewed by Darin Adler.

        Fixed a crash when deeply nested CSS selector is used.
        https://bugs.webkit.org/show_bug.cgi?id=41129

        This patch deletes CSSSelectors iteratively so that it doesn't cause stack overflow.

        Test: fast/css/css-selector-deeply-nested.html

        * css/CSSSelector.cpp:
        (WebCore::CSSSelectorBag::~CSSSelectorBag):
        (WebCore::CSSSelectorBag::isEmpty):
        (WebCore::CSSSelectorBag::append):
        (WebCore::CSSSelectorBag::takeAny):
        (WebCore::CSSSelector::~CSSSelector):
        (WebCore::CSSSelector::specificity):
        * css/CSSSelector.h:

2010-07-20  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: inspected page renderer crashes when inspected page has JS syntax error
        https://bugs.webkit.org/show_bug.cgi?id=42642

        * bindings/v8/V8ConsoleMessage.cpp:
        (WebCore::V8ConsoleMessage::handler):

2010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63742.
        http://trac.webkit.org/changeset/63742
        https://bugs.webkit.org/show_bug.cgi?id=42641

        Broke Leopard Intel build. (Requested by bbandix on #webkit).

        * WebCore.pro:
        * page/Geolocation.cpp:
        (WebCore::Geolocation::startRequest):
        (WebCore::Geolocation::setIsAllowed):
        (WebCore::Geolocation::startUpdating):
        * page/Geolocation.h:

2010-07-20  Adam Roben  <aroben@apple.com>

        Windows build fix

        * WebCore.vcproj/WebCore.vcproj: Fixed case of "Name" attribute.

2010-07-20  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>

        Reviewed by Steve Block.

        Need to be able to configure Geolocation policy regarding user permissions
        https://bugs.webkit.org/show_bug.cgi?id=42068

        Introducing new USE() flag PREEMPT_GEOLOCATION_PREMISSION using which
        acquires user permission first before starting location service

        This change does not introduce any change in behavior for any platform. So there are no new tests
        added.

        * WebCore.pro:
        * page/Geolocation.cpp:
        (WebCore::Geolocation::startRequest):
        (WebCore::Geolocation::setIsAllowed):
        (WebCore::Geolocation::startUpdating):
        * page/Geolocation.h:

2010-07-20  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Inspector: Resources Search Should Search Only Filtered Resources
        https://bugs.webkit.org/show_bug.cgi?id=28290

        * inspector/front-end/AbstractTimelinePanel.js:
        (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.get searchableViews):
        * inspector/front-end/inspector.js:
        (WebInspector.performSearch):
        (WebInspector.doPerformSearch):

2010-07-20  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Incorrect absolute URLs in tooltips of links in the ElementsTreeOutline
        https://bugs.webkit.org/show_bug.cgi?id=42626

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._attributeHTML):

2010-07-20  Shinichiro Hamaji  <hamaji@chromium.org>

        Unreviewed comment fix. The comment in IDL should be //, not # .

        Code generator: ensure generated constants match their corresponding enums.
        https://bugs.webkit.org/show_bug.cgi?id=42250

        * dom/OverflowEvent.idl:

2010-07-20  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        Add WebCore/bindings/generic/RuntimeEnabledFeatures.cpp to build files
        https://bugs.webkit.org/show_bug.cgi?id=42380

        RuntimeEnabledFeatures.cpp and .h were moved from bindings/v8 to
        bindings/generic a while a go (in r54593), but need to
        be added to the build in order to be used.

        No new functionality so no new tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * websockets/WebSocket.cpp: Remove #if USE(V8), as RuntimeEnabledFeatures.cpp is no longer V8-only.
        * websockets/WebSocket.h: Ditto.

2010-07-20  Tony Chang  <tony@chromium.org>

        Reviewed by Kent Tamura.

        clean up style in ClipboardWin and PasteboardWin
        https://bugs.webkit.org/show_bug.cgi?id=42609

        No new tests since this is just a style cleanup.

        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::createGlobalData):
        (WebCore::markupToCFHTML):
        (WebCore::getURL):
        (WebCore::getPlainText):
        (WebCore::getTextHTML):
        (WebCore::fragmentFromFilenames):
        (WebCore::containsFilenames):
        (WebCore::fragmentFromCFHTML):
        (WebCore::fragmentFromHTML):
        * platform/win/ClipboardUtilitiesWin.h:
        * platform/win/ClipboardWin.cpp:
        (WebCore::pathRemoveBadFSCharacters):
        (WebCore::createGlobalHDropContent):
        (WebCore::createGlobalUrlFileDescriptor):
        (WebCore::writeURL):
        (WebCore::ClipboardWin::clearData):
        (WebCore::ClipboardWin::clearAllData):
        (WebCore::ClipboardWin::getData):
        (WebCore::ClipboardWin::types):
        (WebCore::ClipboardWin::declareAndWriteDragImage):
        (WebCore::ClipboardWin::writeRange):
        * platform/win/ClipboardWin.h:
        (WebCore::ClipboardWin::create):
        (WebCore::ClipboardWin::dataObject):
        * platform/win/PasteboardWin.cpp:
        (WebCore::PasteboardOwnerWndProc):
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::writeURL):
        (WebCore::Pasteboard::plainText):
        (WebCore::Pasteboard::documentFragment):

2010-07-20  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: jump to source is broken for call frames logged by console.trace
        https://bugs.webkit.org/show_bug.cgi?id=42619

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
        * inspector/front-end/treeoutline.js: allow passing HTML element as a title.
        (TreeElement.prototype.set title):
        (TreeElement.prototype.set shouldRefreshChildren):
        (TreeElement.prototype._setListItemNodeContent):
        (TreeElement.prototype._attach):

2010-07-20  Tony Chang  <tony@chromium.org>

        Reviewed by Dan Bernstein.

        [chromium] crash in Position::getInlineBoxAndOffset
        https://bugs.webkit.org/show_bug.cgi?id=42202

        Test: editing/selection/firstRect-crash.html
        Manual test: win/contextmenu-key2.html

        * page/EventHandler.cpp: Code no longer needed
        * page/Frame.cpp:
        (WebCore::Frame::firstRectForRange): Normalize Positions to VisiblePositions because
            Positions may be pointing to nodes that have no renderer.  If there's no renderer,
            getInlineBoxAndOffset will crash.

2010-07-20  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Foster parenting depends on the current element at insertion time
        https://bugs.webkit.org/show_bug.cgi?id=42599

        We need to consider the current element at insertion-time when deciding
        whether to redirect insertion to the foster parent.  Previously, we
        were considering the current element *both* at insertion-time and at
        the time we created the guard.

        * html/HTMLConstructionSite.h:
        (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
        (WebCore::HTMLTreeBuilder::defaultForInTableText):

2010-07-20  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Kenneth Rohde Christiansen.

        Failing 2d.path.stroke.prune.curve philip canvas test
        https://bugs.webkit.org/show_bug.cgi?id=42190

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::closePath): Added check to make sure there's a non-trivial path to close. Since there is currently no way to check if the current point is the start point, or similarly if there is only 1 point in the current subpath (since these are both sufficient conditions for a trivial subpath), then checking that the bounding rectangle has both zero width and height proves also to be a sufficient condition for a trivial path.
        (WebCore::CanvasRenderingContext2D::quadraticCurveTo): Added in simple bounds as per the spec.
        (WebCore::CanvasRenderingContext2D::bezierCurveTo): Added in simple bounds as per the spec.
        * platform/graphics/cg/PathCG.cpp:
        (WebCore::Path::closeSubpath): Moved the check for an empty path up on level to make it platform independent and remove redundancy.

2010-07-19  Victoria Kirst  <vrk@google.com>

        Reviewed by David Levin.

        Added a simple implementation of VideoLayerChromium. Uses the
        LayerChromium::updateTextureRect() to send video frames to the
        GPU.
        https://bugs.webkit.org/show_bug.cgi?id=42234

        * WebCore.gypi: Added include for VideoLayerChromium.
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setContentsToMedia): Implemented
        setContentsToMedia, though it does not seem to trigger a repaint
        correctly.
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/chromium/VideoLayerChromium.cpp: Added.
        (WebCore::VideoLayerChromium::create):
        (WebCore::VideoLayerChromium::VideoLayerChromium):
        (WebCore::VideoLayerChromium::updateTextureContents):
        * platform/graphics/chromium/VideoLayerChromium.h: Added.
        (WebCore::VideoLayerChromium::drawsContent):

2010-07-19  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG CleanUp of SVGPathData parsing
        https://bugs.webkit.org/show_bug.cgi?id=41410

        Cleanup the parsing code for SVG Paths. Move classes out of the convoluted SVGParserUtilities.cpp
        in their own files. Make use of WebCore specific objects in parsing code like FloatPoint, AffineTransform,
        etc. instead of using home-brewn solutions.
        The SVGPathParser parses a path data string and delivers the parsed segments and values to the SVGPathConsumer.
        SVGPathConsumer is the base class for SVGPathBuilder and SVGPathSegListBuilder, that either build the platform
        Path object or a SVGPathSegList out of the segments.
        We're now directly parsing floats instead of truncating precision to float afterwards.

        SVG Path with an arc with radius of 0 does not render
        https://bugs.webkit.org/show_bug.cgi?id=40448

        If one of the radii on the elliptic arc are zero, we should draw a line from the starting point to
        the end point according to the spec. Fixed this bug with this patch, because an is zero check and 
        an DRT check was neccessary with the current clean-up.
        Extended svg/dom/path-parser.xhml to check the correct behavior.

        * Android.mk:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/FloatPoint.h:
        (WebCore::FloatPoint::move): Follow WebKit style and use multiple lines for the function.
        (WebCore::FloatPoint::scale): Scale FloatPoint.
        (WebCore::operator+=):
        (WebCore::operator+): Add two FloatPoints and give back the sum as FloatPoint.
        * svg/SVGAllInOne.cpp: Added new created files.
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateFromAndToValues): Use new PathParser to create a PathSegList.
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::parseMappedAttribute): Use new PathParser to create a Path.
        * svg/SVGGlyphElement.cpp:
        (WebCore::parsePathData): Use new PathParser to create a Path.
        * svg/SVGParserUtilities.cpp:
        (WebCore::parseArcFlag): Removed parseArcFlag(double&), we parse in float now.
        * svg/SVGParserUtilities.h: Removed path parsing code and a lot of unneccessary includes.
        * svg/SVGPathBuilder.cpp: Added.
        (WebCore::SVGPathBuilder::SVGPathBuilder):
        (WebCore::SVGPathBuilder::build): Builds a normalized Path.
        (WebCore::SVGPathBuilder::moveTo):
        (WebCore::SVGPathBuilder::lineTo):
        (WebCore::SVGPathBuilder::curveToCubic):
        (WebCore::SVGPathBuilder::closePath):
        * svg/SVGPathBuilder.h: Added. We just create normalized Paths, so this functions should never be reached.
        (WebCore::SVGPathBuilder::lineToHorizontal):
        (WebCore::SVGPathBuilder::lineToVertical):
        (WebCore::SVGPathBuilder::curveToCubicSmooth):
        (WebCore::SVGPathBuilder::curveToQuadratic):
        (WebCore::SVGPathBuilder::curveToQuadraticSmooth):
        (WebCore::SVGPathBuilder::arcTo):
        * svg/SVGPathConsumer.h: Added. Base class of SVGPathBuilder and SVGPathSegListBuilder.
        (WebCore::):
        (WebCore::SVGPathConsumer::SVGPathConsumer):
        (WebCore::SVGPathConsumer::~SVGPathConsumer):
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::parseMappedAttribute): Use new PathParser to create a PathSegList.
        * svg/SVGPathParser.cpp: Added.
        (WebCore::SVGPathParser::SVGPathParser):
        (WebCore::SVGPathParser::~SVGPathParser):
        (WebCore::SVGPathParser::parseClosePathSegment):
        (WebCore::SVGPathParser::parseMoveToSegment):
        (WebCore::SVGPathParser::parseLineToSegment):
        (WebCore::SVGPathParser::parseLineToHorizontalSegment):
        (WebCore::SVGPathParser::parseLineToVerticalSegment):
        (WebCore::SVGPathParser::parseCurveToCubicSegment):
        (WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
        (WebCore::SVGPathParser::parseCurveToQuadraticSegment):
        (WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
        (WebCore::SVGPathParser::parseArcToSegment):
        (WebCore::SVGPathParser::parsePathDataString):
        (WebCore::SVGPathParser::decomposeArcToCubic): Normalizes an arc to multiple cubic curves.
        * svg/SVGPathParser.h: Added.
        * svg/SVGPathSegListBuilder.cpp: Added.
        (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
        (WebCore::SVGPathSegListBuilder::build):
        (WebCore::SVGPathSegListBuilder::moveTo):
        (WebCore::SVGPathSegListBuilder::lineTo):
        (WebCore::SVGPathSegListBuilder::lineToHorizontal):
        (WebCore::SVGPathSegListBuilder::lineToVertical):
        (WebCore::SVGPathSegListBuilder::curveToCubic):
        (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
        (WebCore::SVGPathSegListBuilder::curveToQuadratic):
        (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
        (WebCore::SVGPathSegListBuilder::arcTo):
        (WebCore::SVGPathSegListBuilder::closePath):
        * svg/SVGPathSegListBuilder.h: Added.

2010-07-15  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Dan Bernstein.

        Fix for Bug 42342 - Font download error for an @font-face rule invalidates other @font-face rules for the same font-family
        https://bugs.webkit.org/show_bug.cgi?id=42342

        Test: fast/css/font-face-download-error.html

        * css/CSSSegmentedFontFace.cpp:
        (WebCore::CSSSegmentedFontFace::isValid): Valid if at least one font
        face is valid.
        (WebCore::CSSSegmentedFontFace::getFontData): Check validity for each
        font face.
        * css/CSSSegmentedFontFace.h: Make isValid private.

2010-07-19  Kent Tamura  <tkent@chromium.org>

        Reviewed by Shinichiro Hamaji.

        [Chromium] Fix style errors of RenderThemeChromiumWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=42568

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::):
        (WebCore::getNonClientMetrics):
        (WebCore::systemFontSize):
        (WebCore::pointsToPixels):
        (WebCore::querySystemBlinkInterval):
        (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeChromiumWin::platformActiveTextSearchHighlightColor):
        (WebCore::RenderThemeChromiumWin::paintButton):
        (WebCore::RenderThemeChromiumWin::paintSliderTrack):
        (WebCore::RenderThemeChromiumWin::paintMenuList):
        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
        (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):

2010-07-19  Steve Falkenburg  <sfalken@apple.com>

        (Hopefully the last) Windows build fix.
        
        Version of CoreServices.h in WebKit Support Libraries uses
        pragma once, unlike the version I have locally. Switch based
        on __COLORSYNCDEPRECATED__ instead.

        * WebCorePrefix.h:

2010-07-19  Steve Falkenburg  <sfalken@apple.com>

        Windows build fix.

        * WebCorePrefix.h:

2010-07-19  Steve Falkenburg  <sfalken@apple.com>

        Build fix.

        * WebCorePrefix.h:

2010-07-19  Steve Falkenburg  <sfalken@apple.com>

        Build fix.

        * WebCorePrefix.h:

2010-07-19  Steve Falkenburg  <sfalken@apple.com>

        Windows Build fixes for new ColorSync API.
        We support both new and old APIs, since the newer headers aren't in the tree yet.

        * WebCorePrefix.h: Removed include of CoreServices.h. Included via ColorSyncPriv.h instead, since header may not be present.
        * platform/graphics/cg/ColorCG.cpp:
        (WebCore::createCGColor): Conditionally use new ColorSync API.
        * platform/graphics/opentype/OpenTypeUtilities.cpp: Define Fixed if CoreServices.h doesn't.
        * platform/graphics/win/GraphicsLayerCACF.cpp:
        (WebCore::GraphicsLayerCACF::updateLayerDrawsContent): Use 0 instead of nil, since nil is no longer present via CoreServices.h.
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Include AssertMacros.h.
        * platform/network/cf/ResourceErrorCF.cpp:
        (WebCore::ResourceError::operator CFErrorRef): Use 0 instead of nil, since nil is no longer present via CoreServices.h.

2010-07-19  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Dimitri Glazkov.

        Only set unloadEventEnd when the unload event is actually fired
        https://bugs.webkit.org/show_bug.cgi?id=42607

        r63689 introduced this ASSERT and it began failing on Qt and Mac debug.
        For some reason, it did not fail on Windows (which is where I was
        testing). The ASSERT was disabled in r63699.

        Test: page-cache related layout tests don't crash in debug mode on Mac.

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

2010-07-19  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Don't unnecessarily copy QPainterPath in fillPath() and strokePath()
        https://bugs.webkit.org/show_bug.cgi?id=42513

        Avoid making unnecessary deep-copies of QPainterPaths that will
        be discarded after use.

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

2010-07-19  Kenneth Russell  <kbr@google.com>

        Reviewed by Nate Chapin.

        WebGL rendering results must be made available to Canvas.toDataURL and 2D drawImage
        https://bugs.webkit.org/show_bug.cgi?id=34719

        Fixed compiler warning introduced by original patch. No new tests;
        covered by existing tests.

        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):

2010-07-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler, Adam Roben, Dan Bernstein and Sam Weinig.

        Handle NP_ASFILE and NP_ASFILEONLY transfer modes
        https://bugs.webkit.org/show_bug.cgi?id=42587

        * WebCore.exp.in:
        Export functions from FileSystem.h
        
        * platform/mac/FileSystemMac.mm:
        (WebCore::openTemporaryFile):
        Try to create a temporary file using mkstemp.

2010-07-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Implement NPN_PostURLNotify
        https://bugs.webkit.org/show_bug.cgi?id=42602

        Export symbols needed by WebKit2.

        * WebCore.exp.in:

2010-07-19  Tony Gentilcore  <tonyg@chromium.org>

        Unreviewed build fix.

        Remove overzealous ASSERT from r63689
        https://bugs.webkit.org/show_bug.cgi?id=42606

        No new tests because no new functionality.

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

2010-07-19  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Mark Rowe.

        Web Inspector: Do Not Copy *.re2js Inspector Resources in XCode Build Phase
        https://bugs.webkit.org/show_bug.cgi?id=42601

        Remove *.re2js files after copying them over in the Build Phase. We do
        the same to remove the WebKit.qrc file.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-17  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Fisher.

        [Web Timing] Move times to DocumentLoader and fix bugs in mark points
        https://bugs.webkit.org/show_bug.cgi?id=42512

        Test: fast/dom/webtiming-navigate-within-document.html

        * loader/DocumentLoader.h: Move the FrameLoadTimeline (now call DocumentLoadTiming) to the DocumentLoader.
        (WebCore::DocumentLoader::documentLoadTiming):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading): Set unloadEventEnd on the provisional DocumentLoader. Add some ASSERTs to tighten things up.
        (WebCore::FrameLoader::loadWithDocumentLoader): This was not the right place to set navigationStart. Setting it here caused it to be set before the unload form prompt and caused it to be reset when navigating within the document.
        (WebCore::FrameLoader::finishedLoading): Set responseEnd on the active DocumentLoader.
        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): This is the right place for navigationStart as defined by the spec.
        * loader/FrameLoader.h: Get rid of FrameLoadTimeline.
        * loader/FrameLoaderTypes.h: Rename FrameLoadTimeline to DocumentLoadTiming. It is even more apparent this doesn't belong in this file now. I am planning to submit a patch moving it out ASAP, but didn't want to muddy this patch with all those build files.
        (WebCore::DocumentLoadTiming::DocumentLoadTiming):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::willSendRequest): Move fetchStart out of this method to load(), and rewrite setting of redirectStart, redirectEnd, and redirectCount to be more readable.
        (WebCore::MainResourceLoader::load): Set fetchStart slightly earlier here and tighten it up with some ASSERTs.
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::dispatchLoadEvent): Set loadEventStart and loadEventEnd on the DocumentLoader.
        * page/Navigation.cpp:
        (WebCore::Navigation::redirectCount): Retrieve redirectCount from the DocumentLoader.
        * page/Timing.cpp:
        (WebCore::getPossiblySkewedTimeInKnownRange): The skew problem turned out to be due to the fact that chromium's currentTime() implementation only syncs to the system time every 60 seconds. So absolute times across threads may be skewed slightly. I resolved this temporarily by clipping the time from another thread into a known bound. A better long term solution is probably to add a currentTimeFromSystemTime() method and call that for web timing marks.
        (WebCore::Timing::navigationStart):
        (WebCore::Timing::unloadEventEnd):
        (WebCore::Timing::redirectStart):
        (WebCore::Timing::redirectEnd):
        (WebCore::Timing::fetchStart):
        (WebCore::Timing::domainLookupStart):
        (WebCore::Timing::domainLookupEnd):
        (WebCore::Timing::connectStart):
        (WebCore::Timing::connectEnd):
        (WebCore::Timing::requestStart):
        (WebCore::Timing::requestEnd):
        (WebCore::Timing::responseStart):
        (WebCore::Timing::responseEnd):
        (WebCore::Timing::loadEventStart):
        (WebCore::Timing::loadEventEnd):
        (WebCore::Timing::documentLoader):
        (WebCore::Timing::documentLoadTiming):
        (WebCore::Timing::resourceLoadTiming):
        (WebCore::Timing::resourceLoadTimeRelativeToAbsolute): Ensure requestTime is in the range of fetchStart to responseEnd.
        * page/Timing.h:

2010-07-19  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=42118
        Disable WebGL on Leopard for now. 

        LayoutTests fail on some graphics hardware on Leopard because one of the features we use,
        GL_ARB_framebuffer_object, is not universally available in Leopard like it is in
        SnowLeopard. This will allow LayoutTests to pass on Leopard until we add logic to use a
        software OpenGL driver on machines without this support.

        * Configurations/FeatureDefines.xcconfig:

2010-07-19  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Sam Weinig.

        Remove HTML5 media element 'load' event
        https://bugs.webkit.org/show_bug.cgi?id=30464
        <rdar://problem/5650561>

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_completelyLoaded.
        (WebCore::HTMLMediaElement::parseMappedAttribute): Don't deal with 'load' event.
        (WebCore::HTMLMediaElement::prepareForLoad): Set m_completelyLoaded to false.
        (WebCore::HTMLMediaElement::setNetworkState): Don't post 'load' event.
        (WebCore::HTMLMediaElement::progressEventTimerFired): Bail if m_networkState != NETWORK_LOADING.
        (WebCore::HTMLMediaElement::userCancelledLoad): No more NETWORK_LOADED state.
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::):
        * html/HTMLMediaElement.idl: Remove NETWORK_LOADING.

2010-07-19  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=40996
        Progress event should not be fired during synchronous XMLHttpRequest

        https://bugs.webkit.org/show_bug.cgi?id=17502
        Assertion failure when trying to restart a sync XMLHttpRequest as an async one from onreadystatechange

        Tests: http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events.html
               http/tests/xmlhttprequest/xmlhttprequest-sync-vs-async-assertion-failure.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::callReadyStateChangeListener): We now only dispatch readystatechange
        event for synchronous requests in states UNSENT, OPENED and DONE. I'm not sure what exactly
        the spec draft says about readystatechange for sync requests, but this seems to be the most
        logical and backwards compatible behavior.
        (WebCore::XMLHttpRequest::didReceiveData): Don't dispatch progress events for sync requests.
        Note that we already don't dispatch upload progress events for those.

2010-07-19  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7232109> Unpainted white area appears at the edge of the page when body has bg color
        https://bugs.webkit.org/show_bug.cgi?id=34913

        Tests: fast/repaint/view-background-from-body-1.html
               fast/repaint/view-background-from-body-2.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::styleWillChange): If this is the body renderer and its current style is
        null, repaint the view, similarly to how the view is repainted for any repaint-or-higher
        style changes.
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::removeChildNode): If the removed child is the body renderer,
        repaint the view, in case the body’s background was propagated to the view.

2010-07-19  Adam Roben  <aroben@apple.com>

        Fix an assertion when a plugin returns -1 from NPP_Write

        We were forgetting to call setDefersLoading(false) before destroying
        the PluginStream. In the process of destroying the stream, someone
        would call setDefersLoading(true), and we would assert because we were
        already deferring loads.

        Fixes <http://webkit.org/b/42563> Assertion failure in
        ResourceHandle::setDefersLoading when running
        plugins/return-negative-one-from-write.html on Windows

        Reviewed by Anders Carlsson.

        * plugins/PluginStream.cpp:
        (WebCore::PluginStream::deliverData): Call setDefersLoading(false)
        before destroying the stream, to match the setDefersLoading(true) call
        earlier in this function. (We already call setDefersLoading(false) in
        the non-error case later on.)

2010-07-19  Rafael Antognolli  <antognolli@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Fix some EFL theme issues
        https://bugs.webkit.org/show_bug.cgi?id=42569

        Keep a pointer to theme filename and check for it correctly.
        Reduce the scope of some variables.
        Don't test for platformWidget() since we are not using it.

        No new tests, no new functionality.

        * platform/efl/WidgetEfl.cpp:
        (WebCore::Widget::applyCursor):
        (WebCore::Widget::setCursor):

2010-07-19  Rafael Antognolli  <antognolli@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Add ifdef to compile code just on presence of Ecore_X
        https://bugs.webkit.org/show_bug.cgi?id=42567

        No new tests since there's no new functionality.

        * platform/efl/WidgetEfl.cpp:
        (WebCore::Widget::setEvasObject):
        Add #ifdef HAVE_ECORE_X to it.

2010-07-19  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: add/removeStyleClass shouldn't increase number of spaces between class names.
        https://bugs.webkit.org/show_bug.cgi?id=42485

        * inspector/front-end/utilities.js:
        (Element.prototype.removeStyleClass):

2010-07-19  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: show stack trace for uncaught exceptions when Web Inspector is open.
        https://bugs.webkit.org/show_bug.cgi?id=42560

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
        * bindings/js/ScriptController.h:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
        * bindings/v8/ScriptController.h:
        * bindings/v8/V8ConsoleMessage.cpp:
        (WebCore::V8ConsoleMessage::dispatchNow):
        (WebCore::V8ConsoleMessage::handler):
        * bindings/v8/V8ConsoleMessage.h:
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        * inspector/ConsoleMessage.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addMessageToConsole):
        (WebCore::InspectorController::startGroup):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        * inspector/InspectorController.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage.prototype._formatMessage):
        (WebInspector.ConsoleMessage.prototype.toMessageElement):
        (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
        (WebInspector.ConsoleMessage.prototype._addMessageHeader):
        (WebInspector.ConsoleMessage.prototype.toString):
        * inspector/front-end/inspector.css:
        (.console-message.repeated-message > ol.stack-trace):
        (.section .properties ol, .event-properties ol, .stack-trace ol, ol.stack-trace):
        (ol.stack-trace):
        (.section .properties ol.expanded, .event-properties ol.expanded, .stack-trace ol, ol.stack-trace):
        * page/Console.cpp:
        (WebCore::Console::addMessage):
        * page/Console.h:
        (WebCore::):

2010-07-19  Robin Burchell  <robin.burchell@collabora.co.uk>

        Reviewed by Antonio Gomes

        [Qt] Use memcpy() instead of qMemCopy()
        This is supposed to be more efficient, as the compiler is able to
        optimise more.

        Additionally,  qMemCopy() is only strictly supposed to be used in
        headers (see Qt's src/corelib/qglobal.h for reference)
        See: https://bugs.webkit.org/show_bug.cgi?id=42392

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

2010-07-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Canvas: Rename operator==(CanvasStyle,CanvasStyle) since it isn't a proper equality check
        https://bugs.webkit.org/show_bug.cgi?id=42284

        New name is isEquivalentColor(CanvasStyle).

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setStrokeStyle):
        (WebCore::CanvasRenderingContext2D::setFillStyle):
        * html/canvas/CanvasStyle.cpp:
        (WebCore::CanvasStyle::isEquivalentColor):
        * html/canvas/CanvasStyle.h:

2010-07-19  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Canvas: Wrong internal positioning of drawImage() shadows
        https://bugs.webkit.org/show_bug.cgi?id=42510

        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/qt/StillImageQt.cpp:
        (WebCore::StillImage::draw):

2010-07-19  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Render shadow when drawing one canvas onto another
        https://bugs.webkit.org/show_bug.cgi?id=42508

        * platform/graphics/qt/StillImageQt.cpp:
        (WebCore::StillImage::draw):

2010-07-19  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Some composition modes fail when color has alpha zero
        https://bugs.webkit.org/show_bug.cgi?id=36973

        Remove erroneous optimization that ignored painting calls when
        the stroke/fill color had an alpha value of zero.

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

2010-07-19  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        CSS3 background: Number of layers should be determined by background-image element count
        https://bugs.webkit.org/show_bug.cgi?id=41201

        Manual test: css3-background-layer-count.html

        Spec link:
        http://www.w3.org/TR/css3-background/#layering

        * manual-tests/css3-background-layer-count.html: Added.
        * rendering/style/FillLayer.cpp:
        (WebCore::FillLayer::fillUnsetProperties): Don't repeat
        image properties, they determine the total number of layers.
        (WebCore::FillLayer::cullEmptyLayers): Change culling logic
        to discard all layers after the first one without an image set.
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::adjustBackgroundLayers): Call
        fillUnsetProperties() before cullEmptyLayers()
        (WebCore::InheritedFlags::adjustMaskLayers): Ditto.

2010-07-19  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Avoid QImage::pixel() in getImageData()
        https://bugs.webkit.org/show_bug.cgi?id=42463

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::getImageData): Use QImage::scanLine() instead
        of fetching data pixel-by-pixel.

2010-07-19  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: hide "toggle debugger" button when debugger is always enabled
        https://bugs.webkit.org/show_bug.cgi?id=42558

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

2010-07-19  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        Explicitly declare DeviceOrientationEvent destructor and define it in the .cpp file
        https://bugs.webkit.org/show_bug.cgi?id=42466

        (Original problem at https://bugs.webkit.org/show_bug.cgi?id=42447)

        No new functionality so no new tests.

        * dom/DeviceOrientationEvent.cpp:
        (WebCore::DeviceOrientationEvent::~DeviceOrientationEvent):
        Move here to avoid needing to have the full declaration of
        DeviceOrientation in DeviceOrientationEvent.h.
        * dom/DeviceOrientationEvent.h:

2010-07-18  Anders Carlsson  <andersca@apple.com>

        Fix Build.

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):

2010-07-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Always set the current NSGraphicsContext before calling drawWithFrame
        https://bugs.webkit.org/show_bug.cgi?id=42542

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMeter):
        (WebCore::RenderThemeMac::paintSearchField):
        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeMac::paintSearchFieldResultsButton):

2010-07-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Move PluginWidget to WebKit
        https://bugs.webkit.org/show_bug.cgi?id=42530

        Rename the PluginWidget class to PluginViewBase and make it an abstract base class.
        
        This is a stopgap measure until we have a single PluginView class that we can use everywhere.

        * WebCore.exp.in:
        Remove PluginWidget symbols.

        * WebCore.xcodeproj/project.pbxproj:
        Update.

        * platform/Widget.h:
        (WebCore::Widget::isPluginViewBase):
        Return false.

        * plugins/PluginViewBase.h: Added.
        (WebCore::PluginViewBase::platformLayer):
        Always return 0 here now.

        (WebCore::PluginViewBase::isPluginViewBase):
        Return true.

        * plugins/PluginWidget.h: Removed.
        * plugins/mac/PluginWidgetMac.mm: Removed.
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
        Cast to PluginWidgetBase instead.
        
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
        Cast to PluginWidgetBase instead.

2010-07-18  Dean Jackson  <dino@apple.com>

        Unreviewed.

        Remove the unwanted extra line that Xcode
        added in my last commit.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-18  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=41259
        Interacting with a <select> element within a transformed and clipped
        container scrolls the container

        The Node::getRect and ContainerNode::getRect functions were not
        transform-aware. This fixes both, and has a test to make sure
        we're not breaking any existing scrollToView code. This means
        that a <select> popup will appear in the correct place if it
        is within a transformed and scrolled container.

        Test: fast/transforms/scrollIntoView-transformed.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::getUpperLeftCorner):
        (WebCore::ContainerNode::getLowerRightCorner):
        - make sure we call localToAbsolute in the right order
        (after we've done a local move) and pass in the flags to
        indicate it should look for transforms.
        * dom/Node.cpp:
        (WebCore::Node::getRect):
        - make sure localToAbsolute gets told to look for transforms.

2010-07-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add NPJSObjectMap class
        https://bugs.webkit.org/show_bug.cgi?id=42524

        Export ScriptController functions.

        * WebCore.exp.in:

2010-07-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Implement some NPRuntime related NPN_ functions
        https://bugs.webkit.org/show_bug.cgi?id=42518

        * WebCore.exp.in:
        Export IdentifierRep functions.

2010-07-17  TJ Lee  <tjlee0909@gmail.com>

        Reviewed by Timothy Hatcher.

        HTMLLinkElement ignores dnsPrefetchingEnabled setting
        https://bugs.webkit.org/show_bug.cgi?id=42500

        Changed the HTML Link tag to check that the browser
        has DNS-prefetching enabled before calling ResourceHandle::prepareForURL.

        There are no test cases for this patch because it was unclear how to test
        this using a layout test. A possible test case would be to
        clear the DNS cache on the client's machine before loading a page with
        <link rel="dns-prefetch" href="SomeSiteThatsNotTheCurrentOne.com"> and
        then check the number of DNS cache entries.

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process):

2010-07-16  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Sam Weinig.

        Asynchronous policy checks make FrameLoader think it is done loading prematurely
        https://bugs.webkit.org/show_bug.cgi?id=42489

        This caused many (~100) layout tsts to fail under WebKit2.

        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadSubframe): Right after loading a new subframe,
        if m_complete is true, do not consider it done if it has a provisional loader.
        This will happen in the case where the policy check is asynchronous.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::subframeIsLoading): For similar reasons,
        consider a subframe to be loading if it has a policy decision pending.

2010-07-15  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Failure on http://philip.html5.org/tests/canvas/suite/tests/2d.shadow.alpha.5.html
        https://bugs.webkit.org/show_bug.cgi?id=38400

        FillRect with shadow need take alpha information from fillstyle

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

2010-07-17  Nikita Vasilyev  <me@elv1s.ru>

        Reviewed by Pavel Feldman.

        Web Inspector: [REGRESSION] Edit long CSS attributes works incorrect
        https://bugs.webkit.org/show_bug.cgi?id=42476

        * inspector/front-end/inspector.css:
        (.editing):

2010-07-16  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Sam Weinig.

        Failing 2d.path.arcTo.ensuresubpath.* philip canvas tests
        https://bugs.webkit.org/show_bug.cgi?id=42186

        Move code from Qt's Path::addArcTo() up to CanvasRenderingContext2D.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::arcTo): Behave as moveTo(x1,y1)
        if the current path is empty.
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArcTo): Remove now-redundant code.

2010-07-16  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Oliver Hunt.

        QtWebkit creates an unnecessary deep copy of images when canvas drawing is done
        A https://bugs.webkit.org/show_bug.cgi?id=32530

        Solve this by adding ImageBuffer::imageForRendering() which returns an image
        that can be used for rendering now, but isn't a copy to be kept around.

        * platform/graphics/ImageBuffer.h:
        (WebCore::ImageBuffer::imageForRendering):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::imageForRendering): Added to provide an image that can
        be used for rendering now, but may change in the future.
        * platform/graphics/qt/StillImageQt.cpp:
        (WebCore::StillImage::StillImage):
        (WebCore::StillImage::~StillImage):
        (WebCore::StillImage::size):
        (WebCore::StillImage::nativeImageForCurrentFrame):
        (WebCore::StillImage::draw):
        * platform/graphics/qt/StillImageQt.h:
        (WebCore::StillImage::createForRendering): Added for use in
        ImageBuffer::imageForRendering(), provides a thin wrapper around a QPixmap*.
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::paint): Paint with ImageBuffer::imageForRendering()

2010-07-16  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Oliver Hunt.

        [Qt] Remove redundant logic in Path::addArcTo()
        https://bugs.webkit.org/show_bug.cgi?id=42494

        Bounds checking for arcTo() is now done in cross-platform code
        thanks to <http://trac.webkit.org/changeset/63599>

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArcTo):

2010-07-16  Zhe Su  <suzhe@chromium.org>

        Reviewed by Darin Adler.

        REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
        https://bugs.webkit.org/show_bug.cgi?id=42253

        This patch just reverts the change to WebCore/page/FocusController.cpp
        made in changeset 61484, and add a new method named
        willSetInputMethodState in EditorClient interface, which gets called
        in FocusController just before changing the focused node.

        No new tests, because no new functionality.

        * loader/EmptyClients.h:
        (WebCore::EmptyEditorClient::willSetInputMethodState):
        * page/EditorClient.h:
        * page/FocusController.cpp:
        (WebCore::FocusController::setFocusedNode):

2010-07-16  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Sam Weinig.

        Failing 2d.path.stroke.prune.arc philip canvas test
        https://bugs.webkit.org/show_bug.cgi?id=42188

        * html/canvas/CanvasRenderingContext2D.cpp: 
        Note, updated parameter names to match spec.
        (WebCore::CanvasRenderingContext2D::lineTo): Pulled bound checking code out of lower code to have checks for all platforms.
        (WebCore::CanvasRenderingContext2D::arcTo): Bound checking per the spec for arcTo parameters. Updated parameter names to match spec.
        * platform/graphics/Path.h: Added in new method to expose the current position.
        * platform/graphics/cairo/PathCairo.cpp:
        (WebCore::Path::currentPoint): Added in likely correct implementation for this call with a FIXME just in case.
        * platform/graphics/cg/PathCG.cpp:
        (WebCore::Path::currentPoint): Added in support for this call.
        * platform/graphics/haiku/PathHaiku.cpp:
        (WebCore::Path::currentPoint): Added in stub for this call.
        * platform/graphics/openvg/PathOpenVG.cpp:
        (WebCore::Path::currentPoint): Added in likely implementation for this call with a FIXME just in case.
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::currentPoint): Added in implementation for this call courtesy of Andrea Kling.
        * platform/graphics/skia/PathSkia.cpp:
        (WebCore::Path::currentPoint): Added in stub for this call.
        * platform/graphics/wince/PathWince.cpp:
        (WebCore::Path::currentPoint): Added in stub for this call.
        * platform/graphics/wx/PathWx.cpp:
        (WebCore::Path::currentPoint): Added in stub for this call.

2010-07-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63593.
        http://trac.webkit.org/changeset/63593
        https://bugs.webkit.org/show_bug.cgi?id=42487

        Broke a few chromium pixel tests (Requested by tony^work on
        #webkit).

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::strokeRect):

2010-07-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        Part of <rdar://problem/7233974> Deprecate +[WebView _setShouldUseFontSmoothing:]
        https://bugs.webkit.org/show_bug.cgi?id=29355

        * WebCore.exp.in: Updated.
        * platform/graphics/Font.cpp:
        (WebCore::Font::Font): Added a font smoothing mode parameter to the constructor.
        Set the font smoothing mode in the font description.
        * platform/graphics/Font.h:

2010-07-16  Satish Sampath  <satish@chromium.org>

        Reviewed by Anders Carlsson.

        Add speech attribute to IDL for enabling access from JS.
        https://bugs.webkit.org/show_bug.cgi?id=42483

        No tests added, this change is a pre-requisite for future layout tests.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseMappedAttribute): Update the renderer when speech attribute changes.
        * html/HTMLInputElement.idl: Added the speech attribute to IDL.

2010-07-16  Fady Samuel  <fsamuel@chromium.org>

        Reviewed by David Levin.
        
        Avoids adding stroke when stroke-width is zero.

        SVG - stroke-width:0 bug with stroke other than "none"
        https://bugs.webkit.org/show_bug.cgi?id=42387

        Test: svg/stroke/path-zero-strokewidth-test.svg

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::strokeRect):

2010-07-16  Kent Tamura  <tkent@chromium.org>

        Unreviewed, build fix.

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::getThemeData): Fix a typo.

2010-07-16  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] <input type=number> UI implementation for Windows
        https://bugs.webkit.org/show_bug.cgi?id=42259

        No additional tests.  Existing tests cover this change and we'll
        update expectations.

        * platform/chromium/ChromiumBridge.h: Add paintSpinButton().
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::determineState):
         Add ControlSubPart parameter and add support for spin buttons.
        (WebCore::RenderThemeChromiumWin::determineClassicState): ditto.
        (WebCore::RenderThemeChromiumWin::getThemeData): ditto.
        (WebCore::RenderThemeChromiumWin::adjustInnerSpinButtonStyle): Added.
        (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): Added.
        * rendering/RenderThemeChromiumWin.h:
          Declare ControlSubpart, and add it to some functions.

2010-07-16  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Use function provided by EFL for system beep
        https://bugs.webkit.org/show_bug.cgi?id=42481

        EFL port does not support automated tests, yet.

        * platform/efl/SoundEfl.cpp:
        (WebCore::systemBeep):

2010-07-16  Sarah Strong  <sarah.e.strong@gmail.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Clipboard data is lost on exit
        https://bugs.webkit.org/show_bug.cgi?id=27411

        No new tests. To manually test the bug fixed by this patch:
        1) Open an application that uses a webkit webview on a GNOME-based system
        2) Copy some text from that application
        3) Optional: paste it to another application. This should work properly with and without this patch.
        4) Exit the application completely.
        5) Paste:
                  Without this patch, you cannot because your clipboard is empty.
                  With this patch, pasting succeeds.
        I have not included an automated test because of the difficulty of testing behaviour after application exit.

2010-07-16  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Fisher.

        Keyboard operations for <input type=number>
        https://bugs.webkit.org/show_bug.cgi?id=42076

        - The up arrow key works as stepUp().
        - The down arrow key works as stepDown().
        - Reject characters other than + - 0-9 . e E

        Test: fast/forms/input-number-keyoperation.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
         Add up/down arrow keys support, and call handleBeforeTextInsertedEvent().
        (WebCore::isNumberCharacter):
        (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
         For type=number, remove unacceptable characters.
        * html/HTMLInputElement.h:

2010-07-16  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Fisher.

        Improve hover state handling for spin buttons
        https://bugs.webkit.org/show_bug.cgi?id=42260

        Background:
        When we move the mouse cursor to a node from the outside of the node,
        the following steps are executed.
         1. setHovered(true) is called.
         2. The node is repainted for the hover state.
         3. 'mousemove' event is dispatched for the node.
        For a spin-button, RenderTheme::paint{Inner,Outer}SpinButton() is
        called before the event handler of the spin-button. So we can't
        detect which of the up part or the down part is hovered correctly.

        Solution:
        The hover state of a spin-button is one of three states;
        Indeterminate, Up, and Down. The state is Indeterminate since
        setHovered(true) is called and until 'mousemove' event is
        dispatched.

        No new tests because there are no implementation of spin-buttons
        with hovered state yet.

        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::isSpinUpButtonPartPressed):
        (WebCore::RenderTheme::isHovered):
         Return false if the node is a spin-button and the state is Indeterminate.
        (WebCore::RenderTheme::isSpinUpButtonPartHovered):
        * rendering/TextControlInnerElements.cpp:
        (WebCore::SpinButtonElement::SpinButtonElement):
         Initialize m_upDownState.
        (WebCore::SpinButtonElement::defaultEventHandler):
        (WebCore::SpinButtonElement::setHovered):
         Set the state to Indeterminate.
        * rendering/TextControlInnerElements.h:
        (WebCore::SpinButtonElement::upDownState):

2010-07-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7527532> Crash beneath setSelection() during detach()
        https://bugs.webkit.org/show_bug.cgi?id=42020

        No test because I am unable to reproduce the crash.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::setSelection): In the clearSelection() case, where the repaint mode is
        RepaintNewMinusOld, avoid making RenderBlockSelectionInfo instances, and thereby avoid calling
        localToAbsolute() during detach().

2010-07-16  Anders Carlsson  <andersca@apple.com>

        Fix release build.

        * storage/Database.cpp:
        (WebCore::DerefContextTask::performTask):

2010-07-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        Safari pegs CPU and drops frames on http://neography.com/experiment/circles/solarsystem/ (CSS animations)
        https://bugs.webkit.org/show_bug.cgi?id=41409
        
        AnimationController::isAnimatingPropertyOnRenderer() really asked whether an accelerated animation
        or transition was running. This prevented us from falling into compositing layers for animation
        on platforms, like Windows, that don't have accelerated animations.
        
        Fix by making things more explicit: we now have two methods, isRunningAnimationOnRenderer()
        and isRunningAcceleratedAnimationOnRenderer().
        
        Changes are more extensive because I flipped the sense of 'm_fallbackAnimating', which is
        now 'm_isAccelerated', for clarity.

        Test: compositing/animation/animation-compositing.html

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::AnimationBase): m_fallbackAnimating -> m_isAccelerated
        (WebCore::AnimationBase::blendProperties): Ditto.
        (WebCore::AnimationBase::updateStateMachine): Ditto.
        * page/animation/AnimationBase.h:
        (WebCore::AnimationBase::isAnimatingProperty): Takes new acceleratedOnly parameter
        which causes the method to only return true if the animation is accelerated.
        (WebCore::AnimationBase::isAccelerated): Changed from isFallbackAnimating.

        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
        (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
        (WebCore::AnimationController::isRunningAnimationOnRenderer):
        (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):

        * page/animation/CompositeAnimation.h:
        * page/animation/AnimationController.h: Rename isAnimatingPropertyOnRenderer(), add
        isRunningAcceleratedAnimationOnRenderer().
        * page/animation/AnimationControllerPrivate.h: Ditto.
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::updateTransitions): !isFallbackAnimating() -> isAccelerated().
        (WebCore::CompositeAnimation::isAnimatingProperty): Pass acceleratedOnly down.

        * page/animation/ImplicitAnimation.cpp:
        (WebCore::ImplicitAnimation::timeToNextService): !isFallbackAnimating() -> isAccelerated().

        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::timeToNextService): isFallbackAnimating() -> !isAccelerated().

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Avoid touching the transform or
        opacity if an accelerated animation is running.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): Make compositing layers
        if an animation of transform or opacity is running.

2010-07-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        Assertion when turning Accelerated Compositing off on a composited page
        https://bugs.webkit.org/show_bug.cgi?id=42408

        When accelerated compositing is turned off, check m_hasAcceleratedCompositing
        before saying that the root layer will be composited. Fixes an assertion.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):

2010-07-16  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Simon Fraser.

        Spatial navigation: do not consider outline for focusable element boundaries
        https://bugs.webkit.org/show_bug.cgi?id=42474

        Test: fast/events/spatial-navigation/snav-zero-margin-content.html

        Currently in WebCore::renderRectRelativeToRootDocument function, we are calling
        RenderObject::absoluteClippedOverflowRect to obtain the rect boundary of a given
        renderer/element. This method deals with outline, which is out of elements boundary.
        It makes spatial navigation to fail on common sites like google.gom: "Web, Images, Map, etc"
        are inaccessible.

        Patch replaces RenderObject::absoluteClippedOverflowRect by Node::getRect,
        which returns only the absolute bounding box rect of the Element.

        * page/SpatialNavigation.cpp:
        (WebCore::renderRectRelativeToRootDocument):
        (WebCore::checkNegativeCoordsForNode):

2010-07-15  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Gustavo Noronha.

        [Qt] Remove unnecessary WebKit headers inclusion from WebCore files
        https://bugs.webkit.org/show_bug.cgi?id=42416

        There are some places in WebCore unnecessarily including WebKit headers.

        Cleaning up only, no testing needed.

        * platform/network/qt/ResourceHandleQt.cpp:
        * platform/qt/RenderThemeQt.cpp:
        * platform/qt/WidgetQt.cpp:

2010-07-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        Refinement of r63556: moved the tab width computation back to Font, but added a
        SimpleFontData parameter.

        * platform/graphics/Font.h:
        (WebCore::Font::tabWidth):
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance):
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):

2010-07-16  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Pavel Feldman.

        Fix unit error in calculating timings from ResourceLoadTiming API
        https://bugs.webkit.org/show_bug.cgi?id=42473

        The start and end offsets are already in milliseconds so they should not be multiplied by 1000.0 like requestTime.

        No new tests because, for a yet unknown reason, the ResourceLoadTiming API is not populated in the chromium test shell like it is in full chromium. This means the test that would have caught this bug (fast/dom/webtiming.html) currently has its expectation set to FAIL.

        * page/Timing.cpp:
        (WebCore::Timing::domainLookupStart):
        (WebCore::Timing::domainLookupEnd):
        (WebCore::Timing::connectStart):
        (WebCore::Timing::connectEnd):
        (WebCore::Timing::requestStart):
        (WebCore::Timing::requestEnd):
        (WebCore::Timing::responseStart):

2010-07-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        clang++ build fixes for JavaScriptCore and WebCore
        https://bugs.webkit.org/show_bug.cgi?id=42478

        * platform/network/Credential.cpp:
        (WebCore::Credential::type):
        * platform/network/Credential.h:
        Remove const qualifier on Credential::type since it doesn't have an effect on the type.

2010-07-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by David Levin.

        Really add WARN_UNUSED_RESULT to leakRef
        https://bugs.webkit.org/show_bug.cgi?id=42464

        Get rid of a call to releaseRef here by passing the ScriptExecutionContext
        reference through to the DerefContextTask.

        * storage/Database.cpp:
        (WebCore::DerefContextTask::create):
        (WebCore::DerefContextTask::performTask):
        (WebCore::DerefContextTask::DerefContextTask):
        (WebCore::Database::~Database):

2010-07-16  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: The current implementation of generator is not ready
        for generation Backend part of Inspector interface. The full patch
        with Backend is quite big and I've split it.
        https://bugs.webkit.org/show_bug.cgi?id=42462

        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorArray::get):
        * inspector/InspectorValues.h:
        (WebCore::InspectorArray::length):

2010-07-15  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Darin Adler.

        An empty value for xml:lang isn't considered
        https://bugs.webkit.org/show_bug.cgi?id=42042

        Allow :lang selector to match empty values for xml:lang and
        lang attributes.

        Test: fast/css/lang-selector-empty-attribute.xhtml

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):

2010-07-16  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Shift-Enter does not do a reverse search. It searches forward.
        https://bugs.webkit.org/show_bug.cgi?id=42459

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

2010-07-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: do not include SSL time into Waiting time.

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

        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._showPopover):

2010-07-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/8198266> white-space: pre text containing tabs is not laid out correctly when the font lacks a space glyph
        https://bugs.webkit.org/show_bug.cgi?id=42437

        No test because none of the fonts available to DumpRenderTree are missing a space glyph.

        Changed the tab width computation to use the width of the space glyph from the font that has
        a space glyph, which may be a fallback font if the primary font lacks a space glyph.

        * platform/graphics/Font.h: Removed Font::tabWidth().
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance):
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):

2010-07-16  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Chromium build fix. Add missing include.

        * inspector/ConsoleMessage.h:

2010-07-16  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Antonio Gomes.

        [Qt] Path: Avoid creating a new GraphicsContext in strokeContains() and strokeBoundingRect()
        https://bugs.webkit.org/show_bug.cgi?id=42456

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::scratchContext): Added, provides a scratch GraphicsContext.
        (WebCore::Path::strokeContains): Use the scratch context instead
        of creating a new GraphicsContext.
        (WebCore::Path::strokeBoundingRect): Ditto.

2010-07-16  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        [V8] V8Proxy::retrieve may return null if javascript is disabled. Add a check
        to avoid crashes in inspected page.
        https://bugs.webkit.org/show_bug.cgi?id=42065

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::addListener):

2010-07-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add SSL time label into the resources popover.

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

        * English.lproj/localizedStrings.js:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::buildObjectForTiming):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._showPopover):

2010-07-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: disable AppCache in chromium.

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

        * inspector/front-end/Settings.js:
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        (WebInspector.StoragePanel.prototype.reset):
        (WebInspector.StoragePanel.prototype.addApplicationCache):

2010-07-16  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        console.trace should show file and line number for each function in the stack
        https://bugs.webkit.org/show_bug.cgi?id=21180

        Test: inspector/console-trace.html

        * bindings/js/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::initialize):
        * bindings/v8/ScriptCallFrame.cpp:
        (WebCore::ScriptCallFrame::ScriptCallFrame):
        * bindings/v8/ScriptCallFrame.h:
        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::getFrameLocation):
        (WebCore::toScriptCallFrame):
        (WebCore::ScriptCallStack::create):
        (WebCore::ScriptCallStack::ScriptCallStack):
        (WebCore::ScriptCallStack::at):
        (WebCore::ScriptCallStack::size):
        * bindings/v8/ScriptCallStack.h:
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::traceCallback):
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::CallFrame::CallFrame):
        (WebCore::ConsoleMessage::CallFrame::isEqual):
        (WebCore::ConsoleMessage::CallFrame::createFrontendObject):
        (WebCore::ConsoleMessage::ConsoleMessage):
        (WebCore::ConsoleMessage::addToFrontend):
        (WebCore::ConsoleMessage::isEqual):
        * inspector/ConsoleMessage.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage.prototype._formatMessage):
        (WebInspector.ConsoleMessage.prototype._createStackTraceElement):
        (WebInspector.ConsoleMessage.prototype._createSourceUrlLink):
        * inspector/front-end/inspector.css:
        (.console-message.expandable > .console-message-text::before):
        (.console-message.expandable.collapsed > .console-message-text::before):
        (.console-message.expandable.collapsed > ol.stack-trace):
        (.console-message > ol.stack-trace):
        (.console-message.repeated-message > ol.stack-trace):
        (.console-message.repeated-message > ol.stack-trace.trace-message):
        * page/Console.idl:

2010-07-16  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Build with MathML enabled. Fix build when MathML is enabled and
        make it the default.
        https://bugs.webkit.org/show_bug.cgi?id=42453

        EFL port does not support automated tests, yet.

        * CMakeLists.txt: add missing source file and sort.

2010-07-16  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        DeviceOrientationEvent.h should not forward-declare DeviceOrientation
        https://bugs.webkit.org/show_bug.cgi?id=42447

        When destructing m_orientation, DeviceOrientation cannot be an incomplete type.

        * dom/DeviceOrientationEvent.h:

2010-07-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        gradientTransform + objectBoundingBox is wrong
        https://bugs.webkit.org/show_bug.cgi?id=42446

        gradientTransform + gradientUnits="objectBoundingBox" is wrong. Reverse multiplication order of both transforms.

        * rendering/RenderSVGResourceGradient.cpp: s/multiply/multLeft/

2010-07-16  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Make JS memory stats available via 'Performance' object (Web Timing).
        This statistics is populated only if 'WebKitMemoryInfoEnabled'
        preference is set.

        'console.memory' is kept until Web Timing object becomes visible by
        default (currently it is hidden under compile-time flag).  These stats
        are guarded with the same preference.

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

        * bindings/js/JSConsoleCustom.cpp:
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        * page/Console.cpp:
        (WebCore::Console::disconnectFrame):
        (WebCore::Console::memory):
        * page/Console.h:
        * page/Console.idl:
        * page/MemoryInfo.cpp:
        (WebCore::MemoryInfo::MemoryInfo):
        * page/MemoryInfo.h:
        (WebCore::MemoryInfo::create):
        * page/Performance.cpp:
        (WebCore::Performance::disconnectFrame):
        (WebCore::Performance::memory):
        * page/Performance.h:
        * page/Performance.idl:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setMemoryInfoEnabled):
        (WebCore::Settings::memoryInfoEnabled):

2010-07-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Convolution computation causes bad alpha channel values
        https://bugs.webkit.org/show_bug.cgi?id=42273

        Unbreak the convolve matrix filter, fixing svg/W3C-SVG-1.1/filters-conv-01-f.svg.

        1) Fix clamping the rgb values:
        "image->set(pixel++, clampRGBAValue(totals[0], maxAlpha));" totals[0] -> totals[i].

        2) Don't apply the divisior divison and bias addition multiple times, accumulated!
    
        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
        (WebCore::setDestinationPixels): Fix two evil bugs, breaking feConvolveMatrix.

2010-07-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        relative positioning does not work for radialGradient after window resize
        https://bugs.webkit.org/show_bug.cgi?id=41249

        Redesign the way resources are invalidated. No longer utilize the DOM tree, specifically SVGStyledElement::svgAttributeChanged(), to invalidate
        all resources in the ancestor chain (including itself) when any attribute changes. rect.setAttribute("foo", "bar") should never invalidate the
        resources. Also the old approach didn't work correctly if the root layout changed (eg. window size change) - we failed to invalidate the resources,
        thus leading to wrong renderings.

        Instead of calling setNeedsLayout(true) from the SVG*Element classes, call RenderSVGResource::markForLayoutAndParentResourceInvalidation(), which
        does the same thing and invalidates all resources in the ancestor chain (removing the cached results from the HashMaps). This only happens from
        the various svgAttributeChanged() methods, if we know which attribute changed, and what action has to be taken.

        All SVG renderers now invalidate their own resources on layout() if the layout changed (selfNeedsLayout()=true). The resources will be recreated
        and cached during the following paint() call.

        Tests: svg/custom/marker-child-changes-css.svg
               svg/custom/relative-sized-content-with-resources.xhtml

        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::layout): If our layout changed, invalidate our resources, by calling RenderSVGResource::invalidateAllResourcesOfRenderer().
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::layout): Ditto.
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout): Ditto.
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::layout): Ditto.
        * rendering/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::styleDidChange): Added, to invalidate resources on CSS changes, covered by new svg/custom/marker-child-changes-css.svg test.
        * rendering/RenderSVGModelObject.h:
        * rendering/RenderSVGResource.cpp:
        (WebCore::RenderSVGResource::markForLayoutAndResourceInvalidation): Add new "needsBoundaries" parameter, calling setNeedsBoundaries() on the target render object,
                                                                            simplifying all RenderSVGResource* code.
        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): New static method used from DOM tree to invalidate all cached resources in the ancestor chain
                                                                                  for a render object. Also marks the renderer for layout, if needed. 
        * rendering/RenderSVGResource.h:
        * rendering/RenderSVGResourceClipper.cpp: Simplify code, remove no longer needed hacks, as invalidation is now carried out by render tree.
        (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): Add m_invalidationBlocked hack, to avoid invalidations, while we're mutating the render styles (which is a hack!).
        (WebCore::RenderSVGResourceClipper::invalidateClients): Don't do anything if m_invalidationBlocked=true.
        (WebCore::RenderSVGResourceClipper::invalidateClient): Ditto.
        (WebCore::RenderSVGResourceClipper::createClipData): Set m_invalidationBlocked before mutating render styles, as they are restored immediately after creating the clip image.
        (WebCore::RenderSVGResourceClipper::resourceBoundingBox): Remove no longer needed hack to initialize ClipperData earlier than applyResource() would do.
        * rendering/RenderSVGResourceClipper.h:
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
        (WebCore::RenderSVGResourceFilter::invalidateClient): Remove wrong assertion.
        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
        (WebCore::RenderSVGResourceGradient::invalidateClient): Remove wrong assertion.
        * rendering/RenderSVGResourceMarker.cpp:
        (WebCore::RenderSVGResourceMarker::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
        (WebCore::RenderSVGResourceMarker::invalidateClient): Remove wrong assertion.
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
        (WebCore::RenderSVGResourceMasker::invalidateClient): Remove wrong assertion.
        (WebCore::RenderSVGResourceMasker::resourceBoundingBox): Remove no longer needed hack to initializer MaskerData earlier than applyResource() would do.
        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
        (WebCore::RenderSVGResourcePattern::invalidateClient): Remove wrong assertion.
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::layout): If our layout changed, invalidate our resources, by calling RenderSVGResource::invalidateAllResourcesOfRenderer().
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::applyResultsToTarget): Call RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) instead of renderer->setNeedsLayout(true).
        * svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::applyResultsToTarget): Ditto.
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::svgAttributeChanged): Ditto.
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::svgAttributeChanged): Ditto.
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::notifyFinished): Ditto.
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::svgAttributeChanged): Ditto.
        * svg/SVGGElement.cpp:
        (WebCore::SVGGElement::svgAttributeChanged): Ditto.
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::svgAttributeChanged): Ditto.
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::svgAttributeChanged): Ditto.
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::svgAttributeChanged): Ditto.
        * svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::svgAttributeChanged): Ditto.
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::svgAttributeChanged): Ditto.
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::setCurrentScale): Ditto.
        (WebCore::SVGSVGElement::svgAttributeChanged): Ditto.
        (WebCore::SVGSVGElement::inheritViewAttributes): Ditto.
        * svg/SVGStopElement.cpp:
        (WebCore::SVGStopElement::SVGStopElement): Changed m_offset initialization from 0.0f to 0.
        (WebCore::SVGStopElement::svgAttributeChanged): Add missing implementation, calling RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) on offsetAttr changes.
        * svg/SVGStopElement.h:
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::svgAttributeChanged): Don't call invalidateResourceInAncestorChain() on every attribute change, do it in all classes inheriting from us,
                                                          for specific attributes. Also stop calling RenderSVGResource::invalidateAllResourcesOfRenderer(), all handled in the render tree now.
        (WebCore::SVGStyledElement::invalidateResourceClients): Early exit, if document is still parsing.
        * svg/SVGStyledElement.h:
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::svgAttributeChanged): Call RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) instead of renderer->setNeedsLayout(true).
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::svgAttributeChanged): Ditto.
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::svgAttributeChanged): Ditto.
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::svgAttributeChanged): Ditto.
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::svgAttributeChanged): Ditto.
        (WebCore::SVGUseElement::updateContainerSizes): Ditto.
        (WebCore::SVGUseElement::updateContainerOffsets): Ditto.

2010-07-16  Cosmin Truta  <ctruta@chromium.org>

        Reviewed by Eric Seidel.

        Some SVGs with empty <g> elements crash Chromium on Linux
        https://bugs.webkit.org/show_bug.cgi?id=41175

        Avoid painting of zero-sized image buffers. Skia can't handle it.

        Test: svg/filters/filter-empty-g.svg

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

2010-07-16  Nate Chapin  <japhet@chromium.org>

        Reviewed by Darin Fisher.

        Regression in r63100: Don't clear m_loadType in
        FrameLoader::handledOnloadEvents, as it is used
        to make some decisions after the load has actually
        completed.

        Tickling this bug requires manipulation
        via the API (layout tests don't appear to traverse
        the correct codepath), so no layout test.

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

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::handledOnloadEvents): Don't reset m_loadType.
        (WebCore::FrameLoader::addExtraFieldsToRequest): Set subresource cache
           policy in one place and don't depend on m_loadType.

2010-07-15  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler.

        Printing test results differ between machines, we should use ImageDiff instead
        https://bugs.webkit.org/show_bug.cgi?id=20011

        Added spoolAllPagesWithBoundaries into PrintContext.

        Test: printing/setPrinting.html

        * WebCore.base.exp:
        * page/PrintContext.cpp:
        (WebCore::PrintContext::spoolAllPagesWithBoundaries):
        * page/PrintContext.h:

2010-07-15  Kent Tamura  <tkent@chromium.org>

        Unreviewed, small style fixes.

        * platform/chromium/ThemeChromiumMac.mm:
        (WebCore::ThemeChromiumMac::inflateControlPaintRect):
        * platform/mac/ThemeMac.mm:
        (WebCore::ThemeMac::inflateControlPaintRect):

2010-07-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Update LegacyHTMLTreeBuilder to insert whitespace between </head> and <body>
        https://bugs.webkit.org/show_bug.cgi?id=42431

        Insert these whitespace text nodes into the HTML element between <head>
        and <body>, as required by HTML5.  Previously, we just dropped them on
        the floor.

        * html/LegacyHTMLTreeBuilder.cpp:
        (WebCore::LegacyHTMLTreeBuilder::handleError):

2010-07-15  Victor Wang  <victorw@chromium.org>

        Reviewed by David Levin.

        [chromium] update KURLGoogle decodeURLEscapeSequences to
        use googleurl public api so it does not access functions in
        url_canon_internal. This is for chromium multi-dll build.

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

        Test: (unittest) WebKit\chromium\tests\KURLTest.cpp

        * platform/KURLGoogle.cpp:
        (WebCore::decodeURLEscapeSequences):

2010-07-15  Kent Tamura  <tkent@chromium.org>

        Reviewed by Eric Seidel.

        [Chromium] Update ThemeChromiumMac.mm for the recent changes of ThemeMac.mm
        https://bugs.webkit.org/show_bug.cgi?id=41932

        Sync with ThemeMac.mm r61760.
        This change doesn't contain r54299, r57603, r57734, r57741, and
        r58533 because they conflict with Chromium change for
        FlippedView().

        * platform/chromium/ThemeChromiumMac.mm:
        (WebCore::sizeFromNSControlSize):
        (WebCore::sizeFromFont):
        (WebCore::controlSizeFromPixelSize):
        (WebCore::setControlSize):
        (WebCore::convertControlStatesToThemeDrawState):
        (WebCore::stepperSizes):
        (WebCore::stepperControlSizeForFont):
        (WebCore::paintStepper):
        (WebCore::ThemeChromiumMac::controlSize):
        (WebCore::ThemeChromiumMac::minimumControlSize):
        (WebCore::ThemeChromiumMac::inflateControlPaintRect):
        (WebCore::ThemeChromiumMac::paint):

2010-07-15  MORITA Hajime  <morrita@google.com>

        Reviewed by David Levin.

        [Chromium][Win] Crashes with <keygen> with huge padding.
        https://bugs.webkit.org/show_bug.cgi?id=41737

        When we try to draw a large region, TransparencyWin can fail to
        allocate a temporal buffer for composition.  This change adds a
        fallback path to ThemePainter to handle the buffer allocation
        failure.

        ThemePainter is no longer a subclass of TransparencyWin.  It has
        a TransparencyWin as a member.

        Test: fast/forms/large-parts.html

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::ThemePainter): Added a fallback path.

2010-07-15  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Darin Adler.

        Fix for Bug 42362 - CSSSegmentedFontFace::isLoaded() const is not used anywhere
        Remove the method.
        https://bugs.webkit.org/show_bug.cgi?id=42362

        No new tests because of no behavior changes.

        * css/CSSSegmentedFontFace.cpp:
        * css/CSSSegmentedFontFace.h:

2010-07-15  Erik Arvidsson  <arv@chromium.org>

        Reviewed by David Levin.

        Add directional property enums to the switch in applyProperty
        https://bugs.webkit.org/show_bug.cgi?id=42438

        Build fix for chromium mac.

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

2010-07-13  Zhenyao Mo  <zmo@google.com>

        Reviewed by Nate Chapin.

        bufferData and bufferSubData generate wrong error when null buffer is bound
        https://bugs.webkit.org/show_bug.cgi?id=42125

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::bufferData): Call validateBufferDataParameters().
        (WebCore::WebGLRenderingContext::bufferSubData): Ditto.
        (WebCore::WebGLRenderingContext::validateBufferDataParameters): Parameters validation for buffer{Sub}Data().
        * html/canvas/WebGLRenderingContext.h: Declare validateBufferDataParameters().

2010-07-15  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by David Levin.

        [chromium] Making the popup label color visible when the item is
        selected.
        https://bugs.webkit.org/show_bug.cgi?id=42271

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::paintRow): paint the label text with a
        different color when it is selected. 

2010-07-13  Zhenyao Mo  <zmo@google.com>

        Reviewed by Nate Chapin.

        WebGL rendering results must be made available to Canvas.toDataURL and 2D drawImage
        https://bugs.webkit.org/show_bug.cgi?id=34719

        Tests: fast/canvas/webgl/canvas-test.html
               fast/canvas/webgl/gl-pixelstorei.html

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::makeRenderingResultsAvailable): Paint the WebGL rendering results to canvas if it's 3d.
        (WebCore::HTMLCanvasElement::toDataURL): Paint the WebGL rendering results to canvas if it's 3d.
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage): Paint the WebGL rendering results to canvas if it's 3d before drawing.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::markContextChanged): Mark it always for canvas2d.drawImage purpose.
        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas): Paint the WebGL rendering results to canvas if it's dirty.
        * html/canvas/WebGLRenderingContext.h: Declare paintRenderingResultsToCanvas().
        * platform/graphics/GraphicsContext3D.h: Declare paintRenderingResultsToCanvas() & paintToCanvas().
        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::GraphicsContext3D::paintToCanvas): Paint the rendered image pixels to the canvas.
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Implement paintRenderingResultsToCanvas().
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::beginPaint): Just call paintRenderingResultsToCanvas().
        (WebCore::GraphicsContext3D::endPaint):
        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Implement paintRenderingResultsToCanvas().

2010-07-15  Nico Weber  <thakis@chromium.org>

        Reviewed by Ojan Vafai.

        chromium/skia: Fix canvas.toDataURL in the presence of transparency
        https://bugs.webkit.org/show_bug.cgi?id=42214

        The problem was that SkBitmaps contain premultiplied data, but pnglib
        doesn't expect premultiplied data. Now, the encoder unpremultiplies
        data before sending it to pnglib.

        Patch partially by deanm.

        Covered by fast/canvas/toDataURL-alpha.html.

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

2010-07-15  Alex Nicolaou  <anicolao@chromium.org>

        Reviewed by Eric Seidel.

        Convolution computation causes bad alpha channel values
        https://bugs.webkit.org/show_bug.cgi?id=42273

        Fixed by clamping colour channel values to the alpha value so that 
        r <= a, g <= a, and b <= a after the convolution is applied. See
        the bug for why I believe the SVG specification needs to be updated. 
        Test must be drawn to crash. 100x100 green rectangle is used to 
        indicate pass to minimize the chance of regression.

        Test: svg/custom/convolution-crash.svg

        * platform/graphics/skia/SkiaUtils.cpp:
        (WebCore::SkPMColorToColor):
        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
        (WebCore::clampRGBAValue):
        (WebCore::setDestinationPixels):
        (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
        (WebCore::FEConvolveMatrix::fastSetOuterPixels):

2010-07-15  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, Chromium-specific changes that I forgot to make in r63278.

        1. DatabaseTrackerChromium::getMaxSizeForDatabase() is called on
        the context thread by sync DBs.
        2. Forgot to change V8SQLTransactionSyncCustom to return the
        result set when executeSql() is called.

        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
        (WebCore::V8SQLTransactionSync::executeSqlCallback):
        * storage/chromium/DatabaseTrackerChromium.cpp:
        (WebCore::DatabaseTracker::getMaxSizeForDatabase):

2010-07-15  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Oliver Hunt.

        [GTK] Simplify the distribution step
        https://bugs.webkit.org/show_bug.cgi?id=42414

        No new tests as this is just a build change.

        * GNUmakefile.am: Modify EXTRA_DIST directly and make sure the list
        of files is sorted. Also handle distributing the IDL files from the
        WebCore source tree.

2010-07-15  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        LegacyHTMLTreeBuilder should insert an implicit <colgroup> before inserting <col> to match HTML5
        https://bugs.webkit.org/show_bug.cgi?id=42346

        This turned out to be an easy fix.

        This is covered by lots of layout tests.  I believe
        all of the changed results to be progressions.

        This change had no measurable effect on the parser benchmark.

        * html/LegacyHTMLTreeBuilder.cpp:
        (WebCore::LegacyHTMLTreeBuilder::colCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::getNode):
        * html/LegacyHTMLTreeBuilder.h:

2010-07-15  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=42410
        Many leaking DatasetDOMStringMaps seen on buildbot

        * dom/NodeRareData.h:
        (WebCore::NodeRareData::~NodeRareData): Add a virtual destructor so
        that the ElementRareData's destructor will be called when this is deleted
        from the Node's destructor.

2010-07-15  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: Crash when table has empty thead tag
        https://bugs.webkit.org/show_bug.cgi?id=42391

        Test: accessibility/table-with-empty-thead-causes-crash.html

        * accessibility/AccessibilityTableColumn.cpp:
        (WebCore::AccessibilityTableColumn::headerObjectForSection):

2010-07-15  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Start loading plug-in streams
        https://bugs.webkit.org/show_bug.cgi?id=42407

        Export some ResourceRequestBase getters.

        * WebCore.exp.in:

2010-07-15  Kenneth Russell  <kbr@google.com>

        Reviewed by Nate Chapin.

        Query of NUM_COMPRESSED_TEXTURE_FORMATS must be handled by WebGL
        https://bugs.webkit.org/show_bug.cgi?id=42401

        No new tests; covered by gl-get-calls.html.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getParameter):
         - Return 0 for getParameter(NUM_COMPRESSED_TEXTURE_FORMATS).

2010-07-07  John Gregg  <johnnyg@google.com>

        Reviewed by Jian Li.

        Experimental directory upload feature.
        https://bugs.webkit.org/show_bug.cgi?id=40872

        This patch adds a new HTML attribute webkitdirectory which applies to 
        <input type="file"> tags and allows the user to specify a folder
        which is recursively enumerated so that all the files in that folder
        are added to the file list.

        The files chosen in that way have a .webkitRelativePath attribute which contains
        the relative path starting from the chosen folder.  The relative path is
        also appended to each item in the FormData when uploaded.

        All the code is behind an ENABLE_DIRECTORY_UPLOAD flag.

        Test: fast/forms/input-file-directory-upload.html

        * html/Blob.cpp:
        (WebCore::Blob::Blob):
        * html/Blob.h:
        * html/File.cpp:
        (WebCore::File::File):
        (WebCore::File::Init):
        (WebCore::File::webkitRelativePath):
        * html/File.h:
        (WebCore::File::create):
        * html/File.idl:
        * html/HTMLAttributeNames.in: add webkitdirectory attribute
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setFileListFromRenderer):
        (WebCore::HTMLInputElement::webkitdirectory):
        * html/HTMLInputElement.h:
        * html/HTMLInputElement.idl:
        * platform/BlobItem.cpp:
        (WebCore::FileBlobItem::create):
        (WebCore::FileBlobItem::FileBlobItem):
        * platform/BlobItem.h:
        (WebCore::FileBlobItem::relativePath):
        * platform/FileChooser.h:
        (WebCore::FileChooser::allowsDirectoryUpload):
        * platform/network/FormData.cpp:
        (WebCore::FormData::appendKeyValuePairItems):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::allowsMultipleFiles):
        (WebCore::RenderFileUploadControl::allowsDirectoryUpload):
        * rendering/RenderFileUploadControl.h:

2010-07-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Avoid creating huge compositing layers for elements that project outside the viewport
        https://bugs.webkit.org/show_bug.cgi?id=42338

        The logic that computed the bounds of compositing layers naively used the
        union of the bounds of descendant, non-composited RenderLayers, without regard
        to what is actually visible. This could result in huge layers for page with
        elements are large negative offsets, or with large negative text-indent (both
        common).
        
        For elements without transforms on them or in their ancestor chain, and when
        no 3d transforms or hardware-accelerated animations are used, can clip compositing
        layers to the size of the document, or based on CSS overflow and clip.

        Tests: compositing/geometry/limit-layer-bounds-clipping-ancestor.html
               compositing/geometry/limit-layer-bounds-fixed-positioned.html
               compositing/geometry/limit-layer-bounds-overflow-repaint.html
               compositing/geometry/limit-layer-bounds-positioned-transition.html
               compositing/geometry/limit-layer-bounds-positioned.html
               compositing/geometry/limit-layer-bounds-transformed-overflow.html
               compositing/geometry/limit-layer-bounds-transformed.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::enclosingOverflowClipAncestor):  Walk up the RenderLayer tree
        looking for an ancestor that has overflow, or to the root. Along the way, check for
        transformed elements.
        (WebCore::RenderLayerBacking::updateCompositedBounds):  If we're in "consult
        overlap" mode, and we don't have transforms, then constrain the bounds
        of composited layers by the RenderView's layoutOverflowRect(), or by the
        enclosing layer with overflow.
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): If the offset from the renderer changes,
        we need to repaint the layer.

2010-07-15  Alex Nicolaou  <anicolao@chromium.org>

        Reviewed by Dirk Schulze.

        https://bugs.webkit.org/show_bug.cgi?id=42228
        
        SVG Masks were in the wrong colour space for non-CG graphics layers,
        because for those cases ImageBuffer needs to be explicitly told to
        convert the pixels. This change adds a test that demonstrates the
        problem and the conversion call to make the mask LinearRGB.

        Test: svg/custom/mask-colorspace.svg

        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::createMaskImage):

2010-07-15  Daniel Bates  <dbates@rim.com>

        Reviewed by Darin Adler.

        [Mac] Implement LayoutTestController::markerTextForListItem()
        https://bugs.webkit.org/show_bug.cgi?id=37929

        Export symbols for WebCore::markerTextForListItem() and WebCore::toElement().

        * WebCore.exp.in:

2010-07-15  Andreas Kling  <andreas.kling@nokia.com>

        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] Remove an unused variable in BitmapImage::draw()

        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw): Remove selfSize.

2010-07-15  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: pass all parameters to WebInspector.addConsoleMessage as a single payload object
        https://bugs.webkit.org/show_bug.cgi?id=42345

        This refactoring is covered by existing console tests.

        * bindings/js/ScriptArray.cpp:
        (WebCore::ScriptArray::set):
        * bindings/js/ScriptArray.h:
        (WebCore::ScriptArray::ScriptArray):
        (WebCore::ScriptArray::jsArray):
        * bindings/v8/ScriptArray.cpp:
        (WebCore::ScriptArray::set):
        * bindings/v8/ScriptArray.h:
        (WebCore::ScriptArray::ScriptArray):
        (WebCore::ScriptArray::~ScriptArray):
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::addToFrontend):
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::addConsoleMessage):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
        (WebInspector.ConsoleMessage):
        (WebInspector.ConsoleMessage.createTextMessage):
        (WebInspector.ConsoleCommandResult):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.generateStylesheet):
        * inspector/front-end/InjectedScriptAccess.js:
        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName.myCallback):
        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
        (InjectedScriptAccess._installHandler):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype._checkWarning):
        * inspector/front-end/inspector.js:
        (WebInspector.updateConsoleMessageExpiredCount):
        (WebInspector.addConsoleMessage):
        (WebInspector.log.logMessage):
        (WebInspector.log):

2010-07-14  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Fisher.

        Backfill DNS and connect times rather than exposing hard zeros
        https://bugs.webkit.org/show_bug.cgi?id=42303

        There are several cases where domain lookup is not performed and/or a new connection is not established. Previously in these cases, we exposed a "0" to the API. Now, we instead "backfill" with the most recent mark's time.

        Also, previously, I was using the ResourceLoadTiming API incorrectly. Each mark is an integer representing offset in milliseconds from requestTime. So all values need to be added to requestTime.

        No new test because existing test expectations are set to FAIL because disable disabled by default. The expected results of existings tests change as expected when enabled.

        * page/Timing.cpp:
        (WebCore::toIntegerMilliseconds): Move to file static instead of class static because it might generate more optimal code. Also, instead of converting negative doubles to zero, ASSERT that they are >= 0. This is because we no longer expose hard zeros for DNS and connect, so we want to be sure that the -1s returned by the API are properly handled.
        (WebCore::Timing::domainLookupStart):
        (WebCore::Timing::domainLookupEnd):
        (WebCore::Timing::connectStart):
        (WebCore::Timing::connectEnd):
        (WebCore::Timing::requestStart):
        (WebCore::Timing::requestEnd):
        (WebCore::Timing::responseStart):
        * page/Timing.h:

2010-07-15  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: differentiate between blocking and connecting timers.

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

        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::InspectorResource):
        (WebCore::InspectorResource::updateResponse):
        (WebCore::InspectorResource::updateScriptObject):
        (WebCore::InspectorResource::buildObjectForTiming):
        * inspector/InspectorResource.h:
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.get cached):
        (WebInspector.Resource.prototype.set cached):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._showPopover):
        (WebInspector.ResourceGraph):
        (WebInspector.ResourceGraph.prototype.refresh):
        (WebInspector.ResourceGraph.prototype._cachedChanged):
        * inspector/front-end/inspector.js:
        (WebInspector.updateResource):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
        * loader/FrameLoader.h:
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::ResourceResponseBase):
        (WebCore::ResourceResponseBase::connectionReused):
        (WebCore::ResourceResponseBase::setConnectionID):
        * platform/network/ResourceResponseBase.h:

2010-07-15  MORITA Hajime  <morrita@google.com>

        Text layout is wrong with a SVG Font that lacks <missing-glyph> element
        https://bugs.webkit.org/show_bug.cgi?id=42352

        floatWidthOfSubStringUsingSVGFont() calculated a wrong value for a
        sub-run, and a fallback to system font triggers such a computation.
        This change made floatWidthOfSubStringUsingSVGFont() to deal with
        sub-runs.
        
        Test: svg/custom/svg-fonts-without-missing-glyph.xhtml

        * svg/SVGFont.cpp:
        (WebCore::floatWidthOfSubStringUsingSVGFont):

2010-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Cycle detection needs to include shadow tree
        https://bugs.webkit.org/show_bug.cgi?id=42360

        Search for cycles in shadow tree fragments as well. Extended the svg/custom/recursion-* tests. No more crashes in any of them.

        * rendering/RenderSVGResourceContainer.h:
        (WebCore::RenderSVGResourceContainer::containsCyclicReference):
        * rendering/RenderSVGShadowTreeRootContainer.cpp: Implemented here, not inline, so that clients don't need to include SVGShadowTreeElements.h
        (WebCore::RenderSVGShadowTreeRootContainer::rootElement): Expose helper function, that returns the shadow tree root element as Node*.
        * rendering/RenderSVGShadowTreeRootContainer.h:

2010-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        clipPath is missing cycle detection
        https://bugs.webkit.org/show_bug.cgi?id=42350

        Detect cyclic clipper resources, and ignore them on rendering. Early exit in applyResource just like the pattern/mask resources do.

        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::applyResource):
        (WebCore::RenderSVGResourceClipper::hitTestClipContent):
        (WebCore::RenderSVGResourceClipper::childElementReferencesResource):
        * rendering/RenderSVGResourceClipper.h:

2010-07-15  Mark Rowe  <mrowe@apple.com>

        Reviewed by Maciej Stachowiak.

        Fix a leak of Vector instances seen on the build bot.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawBoxSideFromPath): Don't unnecessarily heap allocate then leak the DashArray.

2010-07-15  Mark Rowe  <mrowe@apple.com>

        Update the sorting in the Xcode project files.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Eric Seidel.

        SVG patterns and masks should not be able to reference themselves
        https://bugs.webkit.org/show_bug.cgi?id=32171

        Pattern still had an issue, when using constructs like:
        <pattern id="pattern1" xlink:href="#pattern2"/>
        <pattern id="pattern2"><rect fill="url(#pattern1)"/></pattern>

        Extended test svg/custom/recursive-pattern.svg to cover this situation.

        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::applyResource): Don't perform the cycle check against node()...
        (WebCore::RenderSVGResourcePattern::createTileImage): .. but against the "patternContentElement" which respect the xlink:href chaining.

2010-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Adam Barth.

        Pixel test failure in moving-shadow-on-path.html and moving-shadow-on-container.html
        https://bugs.webkit.org/show_bug.cgi?id=42249

        Partly revert <http://trac.webkit.org/changeset/63307>. The RenderSVGRoot change caused a pixel test regression in two fast/repaint tests.

        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::layout): Include selfNeedsLayout() check in LayoutStateRepainter argument.

2010-07-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63352.
        http://trac.webkit.org/changeset/63352
        https://bugs.webkit.org/show_bug.cgi?id=42341

        Broke plugin-initiate-popup-window.html and plugin-javascript-
        access.html on snow leopard (Requested by abarth on #webkit).

        * bindings/v8/NPV8Object.cpp:
        (_NPN_EvaluateHelper):

2010-07-14  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Make the LegacyHTMLTreeBuilder coalesce text nodes
        https://bugs.webkit.org/show_bug.cgi?id=42314

        This is slightly tricky as we're side-stepping the old
        parsers insertion logic in the cases where we know we can
        safely merge text into an existing text node instead of
        inserting a new one.

        This affects lots of tests (which will need to change for
        the HTML5 TreeBuilder anyway) and causes the LegacyHTMLTreeBuilder
        to now pass a bunch more subtests in html5lib/runner.html.

        The parser benchmark thinks that this is a small speedup.
        I think I happen to have been lucky enough to get the right
        cache alignment, and that this is likely a wash.

        * html/LegacyHTMLTreeBuilder.cpp:
        (WebCore::LegacyHTMLTreeBuilder::parseToken):

2010-07-14  Evan Stade  <estade@chromium.org>

        Reviewed by Kent Tamura.

        [chromium] Linux scrollbar steppers are "clickable" even when disabled
        https://bugs.webkit.org/show_bug.cgi?id=42231

        Not tested by layout tests.

        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        (WebCore::ScrollbarThemeChromiumLinux::paintButton):

2010-07-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63389.
        http://trac.webkit.org/changeset/63389
        https://bugs.webkit.org/show_bug.cgi?id=42311

        It broke the Chromium Linux build. (Requested by dave_levin on
        #webkit).

        * platform/KURLGoogle.cpp:
        (WebCore::decodeURLEscapeSequences):

2010-07-13  Mirko Damiani  <mirko@develer.com>

        Reviewed by Simon Hausmann.

        [Qt] CSS border style not cleared for SVG object
        https://bugs.webkit.org/show_bug.cgi?id=42150

        For tests and description see:
        https://bugs.webkit.org/show_bug.cgi?id=25738

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

2010-07-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTMLTreeBuilder shouldn't crash during fast/parser/remove-parser-current-node.html
        https://bugs.webkit.org/show_bug.cgi?id=42312

        We were crashing because of an ASSERT I added to the attach logic in
        the HTMLConstructionSite.  I knew this ASSERT was wrong when I added
        it, I just wanted to make sure we had test coverage of those cases.
        Turns out we do!  :)

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attach):
        (WebCore::HTMLConstructionSite::attachAtSite):

2010-07-14  Victor Wang  <victorw@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] update KURLGoogle decodeURLEscapeSequences to
        use googleurl public api so it does not access functions in
        url_canon_internal. This is for chromium multi-dll build.

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

        Test: (unittest) WebKit\chromium\tests\KURLTest.cpp

        * platform/KURLGoogle.cpp:
        (WebCore::decodeURLEscapeSequences):

2010-07-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Avoid extra memcpy of character tokens
        https://bugs.webkit.org/show_bug.cgi?id=42002

        Eric tells me this patch makes the new tree builder 1% faster than the
        old tree builder on our parser benchmark.

        * html/HTMLToken.h:
        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
        (WebCore::AtomicHTMLToken::characters):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
        (WebCore::convertToOldStyle):
        (WebCore::HTMLTreeBuilder::processFakeCharacters):

2010-07-14  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTreeBuilder foster parents when it should not
        https://bugs.webkit.org/show_bug.cgi?id=42235

        Regarding foster parenting of nodes inside tables:
        "Process the token using the rules for the "in body" insertion mode,
        except that if the current node is a table, tbody, tfoot, thead, or
        tr element, then, whenever a node would be inserted into the current
        node, it must instead be foster parented."

        We were forgetting the "when the current node is" part of that check
        and always foster parenting, even if we had just inserted another
        element (which would have just changed the current node).

        This was covered by multiple tests in html5lib/runner.html
        but I wrote a reduction (one which I included) as it makes it
        easier to see what's going on.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLNames::causesFosterParenting):
        (WebCore::HTMLConstructionSite::attach):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
        (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
        (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
        (WebCore::HTMLConstructionSite::insertTextNode):
        (WebCore::HTMLConstructionSite::shouldFosterParent):
        * html/HTMLConstructionSite.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2010-07-14  Brady Eidson  <beidson@apple.com>

        Reviewed by Mark Rowe.

        <rdar://problem/8131355> Apps load stale versions of pages when initial load happens via back/forward navigation.

        No test case is added because DumpRenderTree is not able to test the scenario where the initial load in a WebView
        occurs via a back/forward navigation.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::navigateToDifferentDocument): When the first load in a page is a back/forward navigation, we
          shouldn't try to prefer cached data but should do revalidation by default.
        (WebCore::FrameLoader::addExtraFieldsToRequest): Ditto.

2010-07-14  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Fisher.

        Breaks all dependencies on Page from platform/ and cleans up GLES2Context lifetime
        https://bugs.webkit.org/show_bug.cgi?id=42203

        Rather than constructing a GLES2Context from a Page, pass the LayerRendererChromium
        a GLES2Context in from the constructor.  This way the platform/ directory can remain
        ignorant of Page and friends.  Also adds functions on ChromeClientChromium to request
        onscreen and offscreen GLES2Contexts for callers in WebCore that need them.

        * page/chromium/ChromeClientChromium.h:
        * platform/chromium/GLES2Context.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::create):
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        * platform/graphics/chromium/LayerRendererChromium.h:

2010-07-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Add functions to extract individual RGBA32 components
        https://bugs.webkit.org/show_bug.cgi?id=42305

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::willDraw): Use alphaChannel()
        * platform/graphics/Color.h:
        (WebCore::redChannel):
        (WebCore::greenChannel):
        (WebCore::blueChannel):
        (WebCore::alphaChannel):
        (WebCore::Color::red):
        (WebCore::Color::green):
        (WebCore::Color::blue):
        (WebCore::Color::alpha):

2010-07-14  Alexey Proskuryakov  <ap@apple.com>

        Not reviewed.

        https://bugs.webkit.org/show_bug.cgi?id=42201
        Use ResourceHandle object for synchronous loading

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::loadResourceSynchronously): Fix an obvious typo.

2010-07-14  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Brady Eidson.

        https://bugs.webkit.org/show_bug.cgi?id=42201
        Use ResourceHandle object for synchronous loading

        Fix a Tiger test failure.

        Setting NSURLRequest properties has been moved to createNSURLConnection to share code between
        sync and async cases, but on Tiger, we don't call this function.

        There is more refactoring needed to make this nice, and we need to figure out if some of
        request-tweaking code in createNSURLConnection needs to run on every redirect, as it happens
        with CFNetwork version.

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::loadResourceSynchronously): Set main document for cookies, which is
        the only thing we've been missing.

2010-07-14  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Dan Bernstein.

        * WebCore.xcodeproj/project.pbxproj: Silence rsync.

2010-07-14  Darin Adler  <darin@apple.com>

        Reviewed by Gavin Barraclough.

        Fix warning seen with newer gcc (on Qt buildbot).

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
        Add parentheses around && expression.

2010-07-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Avoid extra memcpy of character tokens
        https://bugs.webkit.org/show_bug.cgi?id=42002

        This patch is just some cleanup to make fixing this bug easier.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::~ExternalCharacterTokenBuffer):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::isEmpty):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingWhitespace):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingWhitespace):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemaining):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::giveRemainingTo):
        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemainingWhitespace):
        (WebCore::HTMLTreeBuilder::processDoctypeToken):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processCharacterBuffer):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        (WebCore::HTMLTreeBuilder::defaultForInitial):
        (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
        (WebCore::HTMLTreeBuilder::defaultForBeforeHead):
        (WebCore::HTMLTreeBuilder::defaultForInHead):
        (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
        (WebCore::HTMLTreeBuilder::defaultForAfterHead):
        (WebCore::HTMLTreeBuilder::defaultForInTableText):
        * html/HTMLTreeBuilder.h:

2010-07-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Canvas: Don't add shadow rect to dirty region when shadow alpha is 0
        https://bugs.webkit.org/show_bug.cgi?id=42300

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

2010-07-14  Kevin Ollivier  <kevino@theolliviers.com>

        [CURL] Build fix after request -> firstRequest rename.

        * platform/network/curl/FormDataStreamCurl.cpp:
        (WebCore::FormDataStream::read):
        (WebCore::FormDataStream::hasMoreElements):
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::headerCallback):
        (WebCore::ResourceHandleManager::setupPOST):
        (WebCore::parseDataUrl):
        (WebCore::ResourceHandleManager::dispatchSynchronousJob):
        (WebCore::ResourceHandleManager::startJob):
        (WebCore::ResourceHandleManager::initializeHandle):

2010-07-14  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/8186963> Expose information about compositing layers.

        Expose information about the types of compositing layers via RenderLayerBacking::compositingLayerType().

        * WebCore.exp.in: Export WebCore::SpaceSplitStringData::createVector().
        * WebCore.xcodeproj/project.pbxproj: Make RenderLayerBacking.h a Private header for use by WebKit.
        * platform/graphics/GraphicsLayer.h: Add hasContentsLayer() and usingTiledLayer() methods.
        (WebCore::GraphicsLayer::hasContentsLayer):
        (WebCore::GraphicsLayer::usingTiledLayer):
        * platform/graphics/mac/GraphicsLayerCA.h:
        (WebCore::GraphicsLayerCA::hasContentsLayer): Return true if we have a contents layer.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::compositingLayerType): Return information about the type of composited layer.
        * rendering/RenderLayerBacking.h:

2010-07-14  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        TreeWalker::previousSibling calls firstChild instead of lastChild when handling FILTER_SKIP
        https://bugs.webkit.org/show_bug.cgi?id=42008

        TreeWalker::previousNode does not handle FILTER_REJECT when processing lastChild
        https://bugs.webkit.org/show_bug.cgi?id=42010

        Tests: fast/dom/TreeWalker/previousNodeLastChildReject.html
               fast/dom/TreeWalker/previousSiblingLastChildSkip.html

        * dom/TreeWalker.cpp:
        (WebCore::TreeWalker::previousSibling): Call lastChild instead of firstChild.
        (WebCore::TreeWalker::previousNode): Fix handling of FILTER_REJECT by exiting
        the lastChild loop when we encounter it.

2010-07-14  Sam Weinig  <sam@webkit.org>

        Reviewed by Brady Eidson.

        Fix crashing layout test on snowleopard.

        * platform/mac/CursorMac.mm:
        (WebCore::Cursor::ensurePlatformCursor): Make sure to retain the cursor.

2010-07-14  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: aria-checked not recognized on image map radio buttons
        https://bugs.webkit.org/show_bug.cgi?id=42055

        Moves some code from AccessibilityRenderObject to AccessibilityObject so that
        elements that do not have render objects, but do have Nodes (like image map links 
        and list box options) can still make use of certain aria attributes.

        Test: platform/mac/accessibility/image-map-link-used-as-radiobutton.html

        * accessibility/AccessibilityImageMapLink.cpp:
        (WebCore::AccessibilityImageMapLink::roleValue):
        (WebCore::AccessibilityImageMapLink::accessibilityDescription):
        (WebCore::AccessibilityImageMapLink::title):
           Make imageMap use standard AccessibilityObject methods for getAttribute()
        * accessibility/AccessibilityImageMapLink.h:
        (WebCore::AccessibilityImageMapLink::node):
        * accessibility/AccessibilityListBoxOption.cpp:
        (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored):
        (WebCore::AccessibilityListBoxOption::stringValue):
        * accessibility/AccessibilityListBoxOption.h:
        (WebCore::AccessibilityListBoxOption::node):
       * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::language):
             Language method doesn't need a node() anymore, it can use the node from AccessibilityObject.
        (WebCore::renderListItemContainerForNode):
        (WebCore::AccessibilityObject::getAttribute):
        (WebCore::AccessibilityObject::intValue):
           Move intValue into AccessibilityObject.
        (WebCore::AccessibilityObject::hasIntValue):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isCheckbox):
        (WebCore::AccessibilityObject::isRadioButton):
        (WebCore::AccessibilityObject::isCheckboxOrRadio):
           Consolidate what defines a checkbox and radio button into AccessibilityObject.
        (WebCore::AccessibilityObject::node):
        (WebCore::AccessibilityObject::headingLevel):
       (WebCore::AccessibilityObject::isDetached):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isPasswordField):
        (WebCore::AccessibilityRenderObject::headingLevel):
        (WebCore::AccessibilityRenderObject::selectedTabItem):
        (WebCore::AccessibilityRenderObject::hierarchicalLevel):
        (WebCore::AccessibilityRenderObject::node):
        (WebCore::AccessibilityRenderObject::intValue):
        * accessibility/AccessibilityRenderObject.h:
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::itemAccessibilityText):
            Stop using AccessibilityObjects getAttribute (no reason to use it really).

2010-07-14  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7759909> Certain text runs measure 1 pixel wider when measured as a whole than when measured piecewise
        https://bugs.webkit.org/show_bug.cgi?id=42279

        No test because the issue cannot be reproduced with standard fonts.

        Word- and run-rounding works by advancing ahead to the nearest integral width. As the total
        width accumulated becomes large, the float type’s low precision results in accumulated rounding
        error, sometimes crossing an integer. Consequently, word-rounding makes different decisions when
        measuring a multi-word run than when measuring its words individually. To work around this,
        word- and run-rounding are applied only to the width accumulated since the last rounding
        character.

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

2010-07-14  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Adler.

        Fix enum value names for Navigation.{idl|h}
        https://bugs.webkit.org/show_bug.cgi?id=42282

        This is necessary after https://bugs.webkit.org/show_bug.cgi?id=42250.

        No new tests because no new functionality.

        * page/Navigation.cpp:
        (WebCore::Navigation::type):
        * page/Navigation.h:
        (WebCore::Navigation::):

2010-07-14  Johnny Ding  <jnd@chromium.org>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=41292
        Set right UserGestureIndicator to indicate whether the NPN_Evaluate allows popup window or not.

        Test: plugins/plugin-initiate-popup-window.html

        * bindings/v8/NPV8Object.cpp:
        (_NPN_EvaluateHelper):

2010-07-14  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 42117 - AX: Data table heuristics: consider assuming data table for 'zebra-striped' rows
        https://bugs.webkit.org/show_bug.cgi?id=42117

        Test: platform/mac/accessibility/table-with-zebra-rows.html

        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):

2010-07-14  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: VoiceOver cannot navigate this page because Safari is taking too long
        https://bugs.webkit.org/show_bug.cgi?id=42219

        No tests. Existing tests cover change.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::boundingBoxRect):

2010-07-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Canvas: Fast-path for assigning the same color string as before to fillStyle or strokeStyle
        https://bugs.webkit.org/show_bug.cgi?id=42272

        Always route assignment of color strings via setFillColor() or setStrokeColor()
        where we can check it against the previous value and return early if it's the same.

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::toHTMLCanvasStyle):
        (WebCore::JSCanvasRenderingContext2D::strokeStyle):
        (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
        (WebCore::JSCanvasRenderingContext2D::setFillStyle):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setStrokeStyle):
        (WebCore::CanvasRenderingContext2D::setFillStyle):
        (WebCore::CanvasRenderingContext2D::setStrokeColor):
        (WebCore::CanvasRenderingContext2D::setFillColor):
        * html/canvas/CanvasRenderingContext2D.h:

2010-07-14  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Jian Li.

        Separate line-ending conversion code from BlobItem
        https://bugs.webkit.org/show_bug.cgi?id=40932

        Add common line-ending normalization code under platform/text.
        No new tests as it doesn't change any functionality.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/BlobBuilder.cpp:
        (WebCore::BlobBuilder::appendString):
        * html/FormDataList.cpp:
        (WebCore::FormDataList::appendString):
        * platform/BlobItem.cpp:
        * platform/BlobItem.h:
        * platform/text/LineEnding.cpp: Added.
        * platform/text/LineEnding.h: Added.

2010-07-14  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Darin Adler.

        Implement border-start and border-end properties
        https://bugs.webkit.org/show_bug.cgi?id=41782

        Test: fast/css/border-start-end.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::resolveDirectionAwareProperty):
        * css/CSSPropertyNames.in:
        * inspector/front-end/SourceCSSTokenizer.js:
        (WebInspector.SourceCSSTokenizer):

2010-07-14  Alexey Proskuryakov  <ap@apple.com>

        Tiger and Gtk build fixes.

        https://bugs.webkit.org/show_bug.cgi?id=42201
        Use ResourceHandle object for synchronous loading

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::createNSURLConnection):
        (WebCore::ResourceHandle::loadResourceSynchronously):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::startHttp):

2010-07-14  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
        Make changing Cursors work in WebKit2.

        - Converted Mac and Windows Cursor implementations to lazily
          create the platform cursor.
        - Add HostWindow function to set the cursor and use it from Widget::setCursor.
        - Rework Windows cursor code to use fewer global variables.

        * WebCore.exp.in: Updated
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::setCursor): 
        (WebCore::EmptyChromeClient::setLastSetCursorToCurrentCursor):
        Added empty implementations.

        * page/Chrome.cpp:
        (WebCore::Chrome::setCursor):
        * page/Chrome.h:
        * page/ChromeClient.h:
        Change existing setCursor() function to take a Cursor instead of a
        PlatformCursorHandle. Added setLastSetCursorToCurrentCursor.

        * platform/Cursor.cpp:
        * platform/Cursor.h:
        Added Cursor Type and the option of lazily creating the native cursor
        (used on Mac and Windows for now).

        * platform/HostWindow.h:
        Add setCursor.

        * platform/mac/CursorMac.mm:
        (WebCore::createCustomCursor): This no longer needs to call determineHotSpot
        as that is done when on construction of the cursor now and the hotSpot passed
        in is correct.
        (WebCore::Cursor::ensurePlatformCursor):
        (WebCore::Cursor::Cursor):
        (WebCore::Cursor::~Cursor):
        (WebCore::Cursor::operator=):
        (WebCore::Cursor::platformCursor):
        Convert to lazily creating the native cursor on the first request and
        storing the type.

        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::setCursor):
        Use HostWindow::setCursor to set the cursor. This in turn will call the
        ChromeClient.

        * platform/win/CursorWin.cpp:
        (WebCore::createSharedCursor):
        (WebCore::loadSharedCursor):
        (WebCore::loadCursorByName):
        (WebCore::Cursor::ensurePlatformCursor):
        (WebCore::SharedCursor::~SharedCursor):
        (WebCore::Cursor::Cursor):
        (WebCore::Cursor::~Cursor):
        (WebCore::Cursor::operator=):
        (WebCore::Cursor::platformCursor):
        Convert to lazily creating the native cursor on the first request and
        storing the type.

        * platform/win/WidgetWin.cpp:
        (WebCore::Widget::setCursor):
        Use HostWindow::setCursor to set the cursor. This in turn will call the
        ChromeClient.

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::handleMouseEvent):
        Use the new setLastSetCursorToCurrentCursor client function to ensure
        the cursor is properly updated when over a plugin.

        * platform/chromium/CursorChromium.cpp:
        * platform/efl/CursorEfl.cpp:
        * platform/gtk/CursorGtk.cpp:
        * platform/haiku/CursorHaiku.cpp:
        * platform/wince/CursorWince.cpp:
        * platform/wx/CursorWx.cpp:
        * platform/qt/CursorQt.cpp:
        Change m_impl -> m_platformCursor.

2010-07-13  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        reconstructActiveFormElements should reconstruct attributes as well
        https://bugs.webkit.org/show_bug.cgi?id=42222

        The case in question is "<p><b foo='bar'></p>text</b>".
        When the "b" is re-opened to wrap the text it should include
        any attributes from the original (now closed) tag name.

        There are also similar cases for the Adoption Agency algorithm, but since
        the html5lib test suite did not cover those (and it wasn't immediately
        obvious to me how to test those) I've saved fixing that bug for a
        later patch.  For now I've just made the adoption agency use
        HTMLConstructionSite::createHTMLElementFromElementRecord so the
        FIXME can be in one place instead of two.

        In order to cleanly support createHTMLElementFromSavedElement
        I re-factored "attachToCurrent" out from createHTMLElementAndAttachToCurrent
        and changed all callers to use attachToCurrent(createHTMLElement(token)).

        This is covered by two existing tests in html5lib/runner.html
        and I wrote two more.  One to cover the basic case that we now pass
        and a second to cover an evil edge case which we do not.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attachToCurrent):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
        (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
        (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
        (WebCore::HTMLConstructionSite::insertHTMLElement):
        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
        (WebCore::HTMLConstructionSite::insertScriptElement):
        (WebCore::HTMLConstructionSite::insertForeignElement):
        (WebCore::HTMLConstructionSite::createHTMLElementFromElementRecord):
        (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
        (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
        * html/HTMLConstructionSite.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2010-07-13  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=42201
        Use ResourceHandle object for synchronous loading

        * platform/network/ResourceHandle.cpp:
        (WebCore::ResourceHandle::ResourceHandle): Moved common tasks from create() to constructor.
        (WebCore::ResourceHandle::firstRequest): Renamed from request(). This is not changed with
        redirect, so the old name was quite confusing.

        * platform/network/ResourceHandle.h: Made createNSURLConnection() a member function, since
        it now needs access to both ResourceHandle and ResourceHandleInternal. Added createCFURLConnection().

        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal): Renamed m_request to m_firstRequest.

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCoreSynchronousLoaderClient): Replaced an Objective C delegate class with a ResourceHandleClient
        subclass. This allows for much better code sharing, with common logic is in ResourceHandle.
        (WebCore::ResourceHandle::createNSURLConnection): Factored out more code that is common
        between sync and async parts.
        (WebCore::ResourceHandle::start): Ditto.
        (WebCore::ResourceHandle::cancel): Updated for firstRequest() renaming.
        (WebCore::ResourceHandle::loadResourceSynchronously): Use ResourceHandle and ResourceHandleClient,
        like a good loader.
        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Updated for firstRequest() renaming.
        (WebCore::ResourceHandle::receivedCredential): Ditto.
        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Ditto.
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Ditto.
        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): Ditto.
        (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): Ditto.

        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::WebCoreSynchronousLoaderClient::create):
        (WebCore::WebCoreSynchronousLoaderClient::setAllowStoredCredentials):
        (WebCore::WebCoreSynchronousLoaderClient::isDone):
        (WebCore::WebCoreSynchronousLoaderClient::data):
        (WebCore::WebCoreSynchronousLoaderClient::WebCoreSynchronousLoaderClient):
        (WebCore::willSendRequest):
        (WebCore::didReceiveResponse):
        (WebCore::didReceiveData):
        (WebCore::shouldUseCredentialStorageCallback):
        (WebCore::didFinishLoading):
        (WebCore::didFail):
        (WebCore::didReceiveChallenge):
        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
        (WebCore::ResourceHandle::~ResourceHandle):
        (WebCore::ResourceHandle::createCFURLConnection):
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
        (WebCore::ResourceHandle::receivedCredential):
        (WebCore::ResourceHandle::loadResourceSynchronously):
        (WebCore::WebCoreSynchronousLoaderClient::willSendRequest):
        (WebCore::WebCoreSynchronousLoaderClient::didReceiveResponse):
        (WebCore::WebCoreSynchronousLoaderClient::didReceiveData):
        (WebCore::WebCoreSynchronousLoaderClient::didFinishLoading):
        (WebCore::WebCoreSynchronousLoaderClient::didFail):
        (WebCore::WebCoreSynchronousLoaderClient::didReceiveAuthenticationChallenge):
        (WebCore::WebCoreSynchronousLoaderClient::shouldUseCredentialStorage):
        Same changes for CFNetwork version. Now it's a more direct copy/paste than before, some
        day we'll share the code.

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::createResourceHandle):
        (WebCore::ApplicationCacheGroup::didReceiveResponse):
        (WebCore::ApplicationCacheGroup::didFinishLoading):
        (WebCore::ApplicationCacheGroup::didFail):
        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::didReceiveResponse):
        (WebCore::IconLoader::didFail):
        (WebCore::IconLoader::didFinishLoading):
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::headerCallback):
        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::start):
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::loadResourceSynchronously):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::startHttp):
        Updated for request() -> firstRequest renaming.

2010-07-14  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Jeremy Orlow.

        Code generator: ensure generated constants match their corresponding enums.
        https://bugs.webkit.org/show_bug.cgi?id=42250

        Specific interfaces can use DontCheckEnums attribute to avoid generating the compile-time check.

        Tests: updated bindings tests. Generated code should compile.

        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        (WebDOMTestObj::):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::):
        (WebCore::JSTestObjPrototype::getOwnPropertySlot):
        (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
        (WebCore::jsTestObjCONST_VALUE_0):
        (WebCore::jsTestObjCONST_VALUE_1):
        (WebCore::jsTestObjCONST_VALUE_2):
        (WebCore::jsTestObjCONST_VALUE_4):
        (WebCore::jsTestObjCONST_VALUE_8):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::):
        (WebCore::ConfigureV8TestObjTemplate):
        * css/WebKitCSSTransformValue.idl:
        * dom/DOMCoreException.idl:
        * dom/EventException.idl:
        * dom/Node.idl:
        * dom/OverflowEvent.idl:
        * dom/RangeException.idl:
        * html/FileError.idl:
        * html/FileReader.idl:
        * html/canvas/Float32Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * html/canvas/WebGLRenderingContext.idl:
        * inspector/JavaScriptCallFrame.idl:
        * loader/appcache/DOMApplicationCache.idl:
        * storage/SQLException.idl:
        * svg/SVGComponentTransferFunctionElement.idl:
        * svg/SVGException.idl:
        * svg/SVGFEBlendElement.idl:
        * svg/SVGFEColorMatrixElement.idl:
        * svg/SVGFECompositeElement.idl:
        * svg/SVGFEConvolveMatrixElement.idl:
        * svg/SVGFEDisplacementMapElement.idl:
        * svg/SVGFEMorphologyElement.idl:
        * svg/SVGFETurbulenceElement.idl:
        * svg/SVGGradientElement.idl:
        * xml/XMLHttpRequestException.idl:
        * xml/XPathException.idl:

2010-07-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Ojan Vafai.

        Unbreak fast/canvas/gradient-add-second-start-end-stop.html

        Assigning the same CanvasGradient or CanvasPattern to fillStyle
        or strokeStyle may not be a no-op since the object could have been
        modified since it was last set.

        Regressed with <http://trac.webkit.org/changeset/63327>

        * html/canvas/CanvasStyle.cpp:
        (WebCore::operator==):

2010-07-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Canvas: Make assigning the same fillStyle or strokeStyle a fast no-op
        https://bugs.webkit.org/show_bug.cgi?id=42267

        Avoid calling into GraphicsContext when setting a style to its current value.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setStrokeStyle): Return early if the
        new style is the same as the current one.
        (WebCore::CanvasRenderingContext2D::setFillStyle): Same.
        * html/canvas/CanvasStyle.cpp:
        (WebCore::operator==): Added operator==(CanvasStyle, CanvasStyle)
        * html/canvas/CanvasStyle.h:

2010-07-14  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Fisher.

        Implement Web Timing redirectStart, redirectEnd, redirectCount
        https://bugs.webkit.org/show_bug.cgi?id=42018

        Tests: http/tests/misc/webtiming-one-redirect.php
               http/tests/misc/webtiming-two-redirects.php

        * loader/FrameLoaderTypes.h:
        (WebCore::FrameLoadTimeline::FrameLoadTimeline):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::willSendRequest): This method is called for each request (including server redirects). fetchStart is updated to the current time on each invocation so that it represents fetching of the final document and doesn't include redirect time. For each redirect, redirectCount is incremented and redirectStart to redirectEnd measures the cumulative fetch time for all redirects.
        * page/Navigation.cpp:
        (WebCore::Navigation::redirectCount): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-count
        * page/Timing.cpp:
        (WebCore::Timing::redirectStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-start
        (WebCore::Timing::redirectEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-end
        * page/Timing.h:
        * page/Timing.idl:

2010-07-14  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        Generate MathML files with CMake even if MathML is disabled. This
        fixes EFL build after r63274.
        https://bugs.webkit.org/show_bug.cgi?id=42263

        No new functionality, so no new tests.

        * CMakeLists.txt:

2010-07-14  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Get rid of libWebCoreJS
        https://bugs.webkit.org/show_bug.cgi?id=42083

        Remove the need to build libWebCoreJS.

        * GNUmakefile.am: List all auto-generated source files for libWebCoreJS
        instead of relying on make to build libWebCoreJS. This is a more autotools-
        -friendly approach.

2010-07-14  Eric Carlson  <eric.carlson@apple.com>

        One more unreviewed build fix for r63319.

        * html/TimeRanges.cpp:
        (TimeRanges::nearest):

2010-07-14  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Enable toggling of the "Inspect Element" mode from the browser
        https://bugs.webkit.org/show_bug.cgi?id=42169

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype.handleShortcut):
        (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
        * inspector/front-end/inspector.js:
        (WebInspector.toggleSearchingForNode):

2010-07-14  Eric Carlson  <eric.carlson@apple.com>

        Unreviewed, build fix for r63319.

        * html/TimeRanges.cpp:
        (TimeRanges::nearest): Include math.h and use narrowPrecisionToFloat.

2010-07-14  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        Update media element's seeking logic
        https://bugs.webkit.org/show_bug.cgi?id=42178
        <rdar://problem/8185817>

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::seek): When asked to seek to an unbuffered time, seek to the 
        nearest time instead of generating an exception. Re-order the logic to match spec text.

        * html/TimeRanges.cpp:
        (TimeRanges::nearest): New, return the value closest to the specified time.
        * html/TimeRanges.h:

2010-07-14  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        Rename DeviceOrientationController::onOrientationChange to didChangeDeviceOrientation
        https://bugs.webkit.org/show_bug.cgi?id=42257

        According to convention, we should avoid "on" in favor of "did" in function names.

        * dom/DeviceOrientationController.cpp:
        (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
        * dom/DeviceOrientationController.h:

2010-07-14  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kent Tamura.

        Notify browser about popup being deleted. In EFL and BREW ports, the
        WebCore::Popup object was being deleted leaving the popup in browser
        alive. Popups can be deleted in two ways: either from browser to webcore or
        from webcore to browser. The first path was ok. The problem was when the
        user changed the page with a popup still opened. This would trigger the
        second path and would cause WebCore::Popup to be deleted without
        notifying browser.
        https://bugs.webkit.org/show_bug.cgi?id=41877

        No new functionality so no new tests.

        * platform/brew/PopupMenuBrew.cpp:
        (WebCore::PopupMenu::~PopupMenu): call hide() when object is
        destroyed.
        * platform/efl/PopupMenuEfl.cpp:
        (WebCore::PopupMenu::~PopupMenu): ditto.

2010-07-14  Satish Sampath  <satish@chromium.org>

        Reviewed by Kent Tamura.

        Invoke speech recognition when user clicks on the speech button of input elements.
        http://bugs.webkit.org/show_bug.cgi?id=42047

        No new tests, the relevant LayoutTestController bindings will be added in a subsequent patch.

        * rendering/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Added click handling.
        (WebCore::InputFieldSpeechButtonElement::speechInput):
        (WebCore::InputFieldSpeechButtonElement::recordingComplete): Callback to indicate recording progress.
        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Callback to receive recognized text.
        (WebCore::InputFieldSpeechButtonElement::detach):
        * rendering/TextControlInnerElements.h:

2010-07-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63305.
        http://trac.webkit.org/changeset/63305
        https://bugs.webkit.org/show_bug.cgi?id=42256

        "debugger-breakpoints-not-activated-on-reload.html fails on
        GTK" (Requested by yurys on #webkit).

        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype._addBreakpoint):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
        (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._addBreakpoint):

2010-07-14  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        Provide implementation of DeviceOrientationController and hook into DOMWindow
        https://bugs.webkit.org/show_bug.cgi?id=39588

        Added DeviceOrientationController::addListener() and removeListener()
        to start and stop the client and added calls from DomWindow. Implemented
        DeviceOrientationController::onDeviceOrientationChange() to fire a
        DeviceOrientationEvent on the window object.

        No new tests yet, pending LayoutTestController methods for mock DeviceOrientation.

        * dom/DeviceOrientationClient.h:
        * dom/DeviceOrientationController.cpp:
        (WebCore::DeviceOrientation::addListener):
        (WebCore::DeviceOrientation::removeListener):
        (WebCore::DeviceOrientation::removeAllListeners):
        (WebCore::DeviceOrientationController::onDeviceOrientationChange):
        * dom/DeviceOrientationController.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::addEventListener):
        (WebCore::DOMWindow::removeEventListener):
        (WebCore::DOMWindow::removeAllEventListeners):

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

        Reviewed by Pavel Feldman.

        Web Inspector: remove v8 debugger code that doesn't use ScriptDebugServer
        https://bugs.webkit.org/show_bug.cgi?id=42164

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::retrieveFrame):
        (WebCore::ScriptDebugServer::addListener):
        (WebCore::ScriptDebugServer::setBreakpoint):
        (WebCore::ScriptDebugServer::removeBreakpoint):
        (WebCore::ScriptDebugServer::clearBreakpoints):
        (WebCore::ScriptDebugServer::setBreakpointsActivated):
        (WebCore::ScriptDebugServer::pauseOnExceptionsState):
        (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
        (WebCore::ScriptDebugServer::continueProgram):
        (WebCore::ScriptDebugServer::stepIntoStatement):
        (WebCore::ScriptDebugServer::stepOverStatement):
        (WebCore::ScriptDebugServer::stepOutOfFunction):
        (WebCore::ScriptDebugServer::editScriptSource):
        (WebCore::ScriptDebugServer::handleV8DebugEvent):
        * bindings/v8/ScriptDebugServer.h:

2010-07-14  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: Clean-up InspectorBackend code. In the next changes
        InspectorBackend content will be generated by scripts. As far as
        generator is very simple thing all nontrivial function should be
        moved to InspectorController and DOMAgent.
        https://bugs.webkit.org/show_bug.cgi?id=42171

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::pause):
        * bindings/js/ScriptDebugServer.h:
        (WebCore::ScriptDebugServer::activateBreakpoints):
        (WebCore::ScriptDebugServer::deactivateBreakpoints):
        * bindings/v8/ScriptDebugServer.h:
        (WebCore::ScriptDebugServer::activateBreakpoints):
        (WebCore::ScriptDebugServer::deactivateBreakpoints):
        (WebCore::ScriptDebugServer::pause):
        * inspector/Inspector.idl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::saveApplicationSettings):
        (WebCore::InspectorBackend::saveSessionSettings):
        (WebCore::InspectorBackend::enableSearchingForNode):
        (WebCore::InspectorBackend::disableSearchingForNode):
        (WebCore::InspectorBackend::enableMonitoringXHR):
        (WebCore::InspectorBackend::disableMonitoringXHR):
        (WebCore::InspectorBackend::getResourceContent):
        (WebCore::InspectorBackend::reloadPage):
        (WebCore::InspectorBackend::activateBreakpoints):
        (WebCore::InspectorBackend::deactivateBreakpoints):
        (WebCore::InspectorBackend::pause):
        (WebCore::InspectorBackend::resume):
        (WebCore::InspectorBackend::stepOverStatement):
        (WebCore::InspectorBackend::stepIntoStatement):
        (WebCore::InspectorBackend::stepOutOfFunction):
        (WebCore::InspectorBackend::setPauseOnExceptionsState):
        (WebCore::InspectorBackend::copyNode):
        (WebCore::InspectorBackend::pushNodeByPathToFrontend):
        (WebCore::InspectorBackend::highlightDOMNode):
        (WebCore::InspectorBackend::hideDOMNodeHighlight):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::saveApplicationSettings):
        (WebCore::InspectorController::saveSessionSettings):
        (WebCore::InspectorController::highlightDOMNode):
        (WebCore::InspectorController::resume):
        (WebCore::InspectorController::setPauseOnExceptionsState):
        (WebCore::InspectorController::getResourceContent):
        (WebCore::InspectorController::reloadPage):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::hideDOMNodeHighlight):
        (WebCore::InspectorController::startProfiling):
        (WebCore::InspectorController::stopProfiling):
        (WebCore::InspectorController::enableSearchingForNode):
        (WebCore::InspectorController::disableSearchingForNode):
        (WebCore::InspectorController::enableMonitoringXHR):
        (WebCore::InspectorController::disableMonitoringXHR):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::copyNode):
        (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub.prototype.pause):
        (.WebInspector.InspectorBackendStub.prototype.resume):
        (.WebInspector.InspectorBackendStub.prototype.stepIntoStatement):
        (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunction):
        (.WebInspector.InspectorBackendStub.prototype.stepOverStatement):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._togglePause):
        (WebInspector.ScriptsPanel.prototype._stepOverClicked):
        (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
        (WebInspector.ScriptsPanel.prototype._stepOutClicked):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):

2010-07-14  Joone Hur  <joone@kldp.org>

        Reviewed by Jian Li.

        [GTK] Enabling File Reader/Writer APIs
        https://bugs.webkit.org/show_bug.cgi?id=40209

        The layout test fast/files will be enabled after eventSender.beginDragWithFiles is implemented for GTK.

        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::openFile): Added.
        (WebCore::readFromFile): Added.

2010-07-14  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Inconsistent LayoutRepainter usage in the SVG renderers
        https://bugs.webkit.org/show_bug.cgi?id=42245

        Unify LayoutRepainter usage in the SVG renders, as RenderBlock does it, always use:
        LayoutRepainter repainter(*this, m_everHadLayout && checkForRepaintDuringLayout());
        instead of including selfWillPaint / selfNeedsLayout checks. This improves layout test
        performance by 8s on my machine with a debug build (from 76.72s -> 68.59s, averaged over 5 runs)

        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::layout):
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::layout):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::layout):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::layout):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::layout):

2010-07-14  Kent Tamura  <tkent@chromium.org>

        Unreviewed, build fix for r63300.

        * rendering/RenderSVGResourceContainer.h:
        (WebCore::RenderSVGResourceContainer::containsCyclicReference):

2010-07-14  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: do not activate all breakpoints on page reload
        https://bugs.webkit.org/show_bug.cgi?id=41461

        Test: inspector/debugger-breakpoints-not-activated-on-reload.html

        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype._addBreakpoint):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
        (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._addBreakpoint):

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

        Reviewed by Pavel Feldman.

        Web Inspector: use OwnPtr to manage ConsoleMessages in InspectorController
        https://bugs.webkit.org/show_bug.cgi?id=42243

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::~InspectorController):
        (WebCore::InspectorController::addConsoleMessage):
        (WebCore::InspectorController::clearConsoleMessages):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::consoleMessages):

2010-07-14  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Eric Seidel.

        SVG patterns and masks should not be able to reference themselves
        https://bugs.webkit.org/show_bug.cgi?id=32171

        Don't apply pattern/mask resources, if they contain cyclic references. Gradients/Filters are not affected.
        Clippers are already correcly handling this on their own, as well as markers (all which require subtle quirks, covered by existing tests).

        Tests: svg/custom/recursive-filter.svg
               svg/custom/recursive-gradient.svg
               svg/custom/recursive-mask.svg
               svg/custom/recursive-pattern.svg

        * rendering/RenderSVGResourceContainer.h:
        (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): Stop using idForStyleResolution(), but use getIdAttribute(), no functional change though.
        (WebCore::RenderSVGResourceContainer::idChanged): Ditto.
        (WebCore::RenderSVGResourceContainer::childElementReferencesResource): To be implemented by classes inheriting from us. Defaults to false.
        (WebCore::RenderSVGResourceContainer::containsCyclicReference): Check whether this resource contains contains a child which references ourselves.
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::childElementReferencesResource): Check whether the masker child specifies mask=".." with the same URI than ourselves.
        (WebCore::RenderSVGResourceMasker::applyResource): Early exit if we contain a cylic reference.
        * rendering/RenderSVGResourceMasker.h:
        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::childElementReferencesResource): Check whether the masker child specifies fill=".." with the same URI than ourselves.
        (WebCore::RenderSVGResourcePattern::applyResource): Early exit if we contain a cylic reference.
        * rendering/RenderSVGResourcePattern.h:
        * svg/SVGPaint.cpp:
        (WebCore::SVGPaint::matchesTargetURI): Add new helper function comparing a SVGPaint URI with a given reference id.
        * svg/SVGPaint.h:

2010-07-14  Eric Seidel  <eric@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Selection dumping code should not dump body's offset in the document
        https://bugs.webkit.org/show_bug.cgi?id=42238

        This requires updating the results of many layout tests,
        but has no functional change.

        * rendering/RenderTreeAsText.cpp:
        (WebCore::nodePosition):

2010-07-14  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Fisher.

        <input type=number> UI: inner spin button layout
        https://bugs.webkit.org/show_bug.cgi?id=41924

        Add layout/event/style code for the inner spin button, which is
        going to be used for Windows implementation.
        No new tests because no ports implement the inner spin button yet.

        * rendering/RenderTextControlSingleLine.cpp:
          Introduce m_innerSpinButton.
        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
          Detach m_innerSpinButton.
        (WebCore::RenderTextControlSingleLine::layout):
          Set position and size of m_innerSpinButton.
        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
          Handle m_innerSpinButton.
        (WebCore::RenderTextControlSingleLine::forwardEvent):
          Handle m_innerSpinButton.
        (WebCore::RenderTextControlSingleLine::textBlockWidth):
          Shorten the text block width by m_innerSpinButton width.
        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
          Add m_innerSpinButton width.
        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
          Handle m_innerSpinButton.
        (WebCore::RenderTextControlSingleLine::createInnerSpinButtonStyle):
          Make style for m_innerSpinButton with INNER_SPIN_BUTTON pseudo class.
        * rendering/RenderTextControlSingleLine.h:

2010-07-14  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Fisher.

        <input type=number> UI: Support disabled/readonly states
        https://bugs.webkit.org/show_bug.cgi?id=38568

        Implement isEnabledFormControl() and isReadOnlyFormControl() of
        SpinButtonElement. They returns the states of the parent <input> element.
        The existing isEnabledFormControl() had a bug. It didn't have 'const'
        modifier.

        Test: fast/forms/input-appearance-spinbutton-disabled-readonly.html

        * rendering/TextControlInnerElements.cpp:
        (WebCore::SpinButtonElement::defaultEventHandler):
         - If the input element is disabled or read-only, don't process events.
         - Protect 'input' object from destruction during focus().
         - Fix a hit-test issue. We don't need to add renderBox()->y() because
           'local' is relative to the RenderBox.
         - Some code cleanup
        * rendering/TextControlInnerElements.h:
        (WebCore::SpinButtonElement::isEnabledFormControl):
        (WebCore::SpinButtonElement::isReadOnlyFormControl):

2010-07-13  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Page flashes to mostly white towards the end of loading
        https://bugs.webkit.org/show_bug.cgi?id=42230
        
        We constrain the size of huge composited layers. When doing so, we
        need to use the constained size to set the position as well
        as the dimensions, to ensure the layer appears in the correct place.

        Test: compositing/tiling/constrained-layer-size.html

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::updateLayerPosition):

2010-07-13  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Linux implementation of <input type=number> UI
        https://bugs.webkit.org/show_bug.cgi?id=41925

        - Move the code for scrollbar steppers from ScrollbarThemeChromiumLinux
          to PlatformThemeChromiumGtk.
        - Move the code for scrollbar colors from RenderThemeChromiumLinux
          to PlatformThemeChromiumGtk.

        * WebCore.gypi:
        * platform/chromium/PlatformThemeChromiumGtk.cpp: Added.
        (WebCore::PlatformThemeChromiumGtk::setScrollbarColors): Moved from RenderThemeChromiumLinux.
        (WebCore::clamp): Moved from ScrollbarThemeChromiumLinux.
        (WebCore::PlatformThemeChromiumGtk::saturateAndBrighten): ditto.
        (WebCore::PlatformThemeChromiumGtk::outlineColor): ditto.
        (WebCore::PlatformThemeChromiumGtk::paintArrowButton): ditto.
        * platform/chromium/PlatformThemeChromiumGtk.h: Added.
        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
        (WebCore::ScrollbarThemeChromiumLinux::paintButton):
         Move the main part of the code to PlatformThemeChromiumGtk.
        (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle): Added.
        (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton): Added.
        * rendering/RenderThemeChromiumLinux.h:

2010-07-13  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Darin Fisher

        Implementing DatabaseSync::transaction() and DatabaseSync::changeVersion().
        https://bugs.webkit.org/show_bug.cgi?id=40607

        Tests: fast/workers/storage/change-version-handle-reuse-sync.html
               fast/workers/storage/change-version-sync.html
               fast/workers/storage/empty-statement-sync.html
               fast/workers/storage/execute-sql-args-sync.html
               fast/workers/storage/executesql-accepts-only-one-statement-sync.html
               fast/workers/storage/multiple-transactions-on-different-handles-sync.html
               fast/workers/storage/open-database-creation-callback-sync.html
               fast/workers/storage/open-database-empty-version-sync.html
               fast/workers/storage/open-database-inputs-sync.html
               fast/workers/storage/open-database-set-empty-version-sync.html
               fast/workers/storage/open-database-while-transaction-in-progress-sync.html
               fast/workers/storage/sql-data-types-sync.html
               fast/workers/storage/sql-exception-codes-sync.html
               fast/workers/storage/test-authorizer-sync.html
               fast/workers/storage/transaction-in-transaction-sync.html

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * storage/AbstractDatabase.cpp:
        (WebCore::AbstractDatabase::maximumSize):
        (WebCore::AbstractDatabase::incrementalVacuumIfNeeded):
        * storage/AbstractDatabase.h:
        (WebCore::AbstractDatabase::sqliteDatabase):
        * storage/ChangeVersionWrapper.cpp:
        (WebCore::ChangeVersionWrapper::performPreflight):
        (WebCore::ChangeVersionWrapper::performPostflight):
        * storage/Database.cpp:
        (WebCore::Database::performGetTableNames):
        * storage/Database.h:
        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::createVTable):
        (WebCore::DatabaseAuthorizer::dropVTable):
        * storage/DatabaseCallback.h:
        * storage/DatabaseSync.cpp:
        (WebCore::ChangeVersionPreflightStep::create):
        (WebCore::ChangeVersionPreflightStep::performStep):
        (WebCore::ChangeVersionPreflightStep::ChangeVersionPreflightStep):
        (WebCore::ChangeVersionPostflightStep::create):
        (WebCore::ChangeVersionPostflightStep::performStep):
        (WebCore::ChangeVersionPostflightStep::ChangeVersionPostflightStep):
        (WebCore::DatabaseSync::changeVersion):
        (WebCore::DatabaseSync::transaction):
        (WebCore::DatabaseSync::runTransaction):
        * storage/DatabaseSync.h:
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::getMaxSizeForDatabase):
        * storage/SQLError.h:
        * storage/SQLResultSet.cpp:
        * storage/SQLResultSet.h:
        * storage/SQLStatementCallback.h:
        * storage/SQLStatementErrorCallback.h:
        * storage/SQLStatementSync.cpp: Copied from WebCore/storage/SQLStatement.cpp.
        (WebCore::SQLStatementSync::SQLStatementSync):
        (WebCore::SQLStatementSync::execute):
        * storage/SQLStatementSync.h: Added.
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::runCurrentStatement):
        (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
        (WebCore::SQLTransaction::postflightAndCommit):
        * storage/SQLTransaction.h:
        * storage/SQLTransactionCallback.h:
        * storage/SQLTransactionClient.cpp:
        (WebCore::SQLTransactionClient::didCommitWriteTransaction):
        (WebCore::SQLTransactionClient::didExecuteStatement):
        (WebCore::SQLTransactionClient::didExceedQuota):
        * storage/SQLTransactionClient.h:
        * storage/SQLTransactionErrorCallback.h:
        * storage/SQLTransactionSync.cpp:
        (WebCore::transactionClient):
        (WebCore::SQLTransactionSync::create):
        (WebCore::SQLTransactionSync::SQLTransactionSync):
        (WebCore::SQLTransactionSync::~SQLTransactionSync):
        (WebCore::SQLTransactionSync::executeSQL):
        (WebCore::SQLTransactionSync::begin):
        (WebCore::SQLTransactionSync::execute):
        (WebCore::SQLTransactionSync::commit):
        (WebCore::SQLTransactionSync::rollback):
        * storage/SQLTransactionSync.h:
        (WebCore::SQLTransactionSync::SQLTransactionSyncOptionalStep::~SQLTransactionSyncOptionalStep):
        * storage/SQLTransactionSyncCallback.h:
        * storage/chromium/SQLTransactionClientChromium.cpp:
        (WebCore::SQLTransactionClient::didCommitWriteTransaction):
        (WebCore::SQLTransactionClient::didExecuteStatement):
        (WebCore::SQLTransactionClient::didExceedQuota):

2010-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63162.
        http://trac.webkit.org/changeset/63162
        https://bugs.webkit.org/show_bug.cgi?id=42224

        This is no longer needed (Requested by olliej_ on #webkit).

        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):

2010-07-13  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix my misreading of "clear to the last marker" in the HTML5 spec
        https://bugs.webkit.org/show_bug.cgi?id=42199

        * html/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::clearToLastMarker):
        * html/HTMLFormattingElementList.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

2010-07-13  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        ES5 requires BOMs to be treated as whitespace
        https://bugs.webkit.org/show_bug.cgi?id=42218

        Remove BOM handling logic from WebCore Script objects.

        * bindings/js/StringSourceProvider.h:
        (WebCore::StringSourceProvider::StringSourceProvider):
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::CachedScript):
        (WebCore::CachedScript::script):
        * loader/CachedScript.h:

2010-07-13  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Canvas: rect(x,y,w,h) should move to (x,y) even if w=0 and h=0
        https://bugs.webkit.org/show_bug.cgi?id=42211

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

2010-07-13  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Show IDs and classnames in layer tree dumps
        https://bugs.webkit.org/show_bug.cgi?id=42213

        When dumping the layer tree via showLayerTree(), include id and class attributes for
        ease of debugging.
        
        No tests, since this is debug-only code.

        * rendering/RenderLayer.cpp:
        (showLayerTree):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::RenderTreeAsText::writeRenderObject):
        * rendering/RenderTreeAsText.h:
        (WebCore::):

2010-07-13  Simon Fraser  <simon.fraser@apple.com>

        Build fix: fix WebCore exports by editing the .in file, rather than the generated file.

        * WebCore.exp.in:

2010-07-13  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=42216
        ResourceRequest::doUpdateResourceRequest() crashes if client denied request

        This is covered by many regression tests with patch for bug 42201 applied (because it makes
        us also use this code path for sync requests, and those currently have more strict limitations).

        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::ResourceRequest::doUpdateResourceRequest): Added a null check.

2010-07-13  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Make our end tag in-foreign-content mode spec bug workarounds more closely match minefield
        https://bugs.webkit.org/show_bug.cgi?id=42187

        I do not expect these work-arounds to be permanent.  Hixie has promised to
        addresses the feedback to the parser sections of HTML5 soon.
        I added these hacks to make our hacks more-closely match Minefield's hacks
        and thus have us "pass" a few more html5lib runner tests.

        We now pass all of the html5lib foreign content tests
        (thus we'll likely need to write more).

        Tested by html5lib/runner.html

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::contains):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):

2010-07-12  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Fisher.

        Wire network times from ResourceLoadTiming to performance.timing
        https://bugs.webkit.org/show_bug.cgi?id=41824

        * page/Timing.cpp:
        (WebCore::Timing::domainLookupStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-domain-lookupstart
        (WebCore::Timing::domainLookupEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-domain-lookupend
        (WebCore::Timing::connectStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-connect-start
        (WebCore::Timing::connectEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-connect-end
        (WebCore::Timing::requestStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-request-start
        (WebCore::Timing::requestEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-request-end
        (WebCore::Timing::responseStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-response-start
        (WebCore::Timing::resourceLoadTiming):
        * page/Timing.h:
        * page/Timing.idl:

2010-07-13  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add support for loading javascript: URLs
        https://bugs.webkit.org/show_bug.cgi?id=42221

        * WebCore.exp.in:
        Export protocolIsJavaScript and ScriptValue::getString.

2010-07-13  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add support for URL frame loading using NPN_GetURLNotify
        https://bugs.webkit.org/show_bug.cgi?id=42192

        * WebCore.exp.in:
        Export ResourceRequestBase::setHTTPMethod and ResourceRequestBase::setURL.

2010-07-04  Zhenyao Mo  <zmo@google.com>

        Reviewed by Darin Fisher.

        Need to track texture completeness
        https://bugs.webkit.org/show_bug.cgi?id=41381

        Test: fast/canvas/webgl/texture-complete.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init max texture level.
        (WebCore::WebGLRenderingContext::bindTexture): Pass max texture level to setTarget().
        (WebCore::WebGLRenderingContext::copyTexImage2D): Cache full texture info rather than partial.
        (WebCore::WebGLRenderingContext::generateMipmap): Ditto.
        (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
        (WebCore::WebGLRenderingContext::validateTexFuncParameters): Also validate level.
        * html/canvas/WebGLRenderingContext.h: Add max texture level.
        * html/canvas/WebGLTexture.cpp: Update the class to fully cache texture information and track NPOT and COMPLETE states.
        (WebCore::WebGLTexture::WebGLTexture):
        (WebCore::WebGLTexture::setTarget): Check whether the texture is initialized or has been deleted.
        (WebCore::WebGLTexture::setParameteri): Ditto.
        (WebCore::WebGLTexture::setParameterf): Ditto.
        (WebCore::WebGLTexture::setLevelInfo): Set texture info.
        (WebCore::WebGLTexture::generateMipmapLevelInfo): Generate texture info for all levels after generateMipmaps() is called.
        (WebCore::WebGLTexture::getInternalFormat): Return internal format on texture face 0 level 0.
        (WebCore::WebGLTexture::isNPOT): Check whether the texture is initialized or has been deleted.
        (WebCore::WebGLTexture::needToUseBlackTexture): Ditto.
        (WebCore::WebGLTexture::_deleteObject):
        (WebCore::WebGLTexture::mapTargetToIndex): Map target to index.
        (WebCore::WebGLTexture::canGenerateMipmaps): Check whether Mipmaps can be generated.
        (WebCore::WebGLTexture::computeLevelCount): Compute texture level count from width/height.
        (WebCore::WebGLTexture::update): Update NPOT/COMPLETE states.
        * html/canvas/WebGLTexture.h: Ditto.
        (WebCore::WebGLTexture::LevelInfo::LevelInfo): Add data structure to fully cache texture info.
        (WebCore::WebGLTexture::LevelInfo::setInfo): Set information.

2010-07-13  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Canvas: drawImage() with wrong 'image' argument type should always throw TypeError
        https://bugs.webkit.org/show_bug.cgi?id=42160

        Test: canvas/philip/tests/2d.drawImage.wrongtype.html

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::drawImage): Throw TypeError instead of
        TYPE_MISMATCH_ERR if 'image' argument is not an image, canvas or video element.

2010-07-13  Aaron Boodman  <aa@chromium.org>

        Reviewed by Timothy Hatcher.

        Don't reset per-document user style caches when user styles are updated in
        Chromium.

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

        * page/PageGroup.cpp:
        (WebCore::PageGroup::addUserStyleSheetToWorld):
        (WebCore::PageGroup::removeUserStyleSheetFromWorld):
        (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
        (WebCore::PageGroup::removeAllUserContent):
        (WebCore::PageGroup::resetUserStyleCacheInAllFrames):
        * page/PageGroup.h:

2010-07-13  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        On Leopard, media element can't handle audio/mp4 MIME type in source tag
        https://bugs.webkit.org/show_bug.cgi?id=29326

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

        * platform/MIMETypeRegistry.cpp:
        (WebCore::TypeExtensionPair::): Add "audio/mp4", "m4a" to mappings table.

2010-07-13  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Fisher.

        Implement performance.timing.fetchStart
        https://bugs.webkit.org/show_bug.cgi?id=41816

        See: http://dev.w3.org/2006/webapi/WebTiming/#nt-fetch-start

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::willSendRequest): Record the fetchStart time for each request for the main resource. This means it is called for each server redirect, overwritting the previous value. In https://bugs.webkit.org/show_bug.cgi?id=42018, this will be modified such that if a previous value exists, it is stored as the redirect time.
        * loader/FrameLoaderTypes.h:
        (WebCore::FrameLoadTimeline::FrameLoadTimeline):
        * page/Timing.cpp:
        (WebCore::Timing::fetchStart):
        * page/Timing.h:
        * page/Timing.idl:

2010-07-13  Satish Sampath  <satish@chromium.org>

        Reviewed by Steve Block.

        Speech input plumbing in webcore
        https://bugs.webkit.org/show_bug.cgi?id=41518

        Adds the following:
        - a SpeechInput class to be used by the speech enabled HTML elements
        - a SpeechInputListener interface to be implemented by the speech enabled HTML elements
        - a SpeechInputClient interface (defined in WebCore, implemented by WebKit) for WebCore to call into WebKit.
          This is available as a member of WebCore::Page, set by the platforms which support speech input.
        - a SpeechInputClientListener interface for WebCore to receive events from WebKit

        No new tests, the relevant LayoutTestController bindings will be added in a subsequent patch.

        * Android.mk:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h: Added SpeechInputClient member variable and associated methods.
        (WebCore::Page::setSpeechInputClient):
        (WebCore::Page::speechInputClient):
        * page/SpeechInput.cpp: Added new class to provide speech API services to HTML elements.
        (WebCore::SpeechInput::SpeechInput):
        (WebCore::SpeechInput::recordingComplete):
        (WebCore::SpeechInput::setRecognitionResult):
        (WebCore::SpeechInput::startRecognition):
        * page/SpeechInput.h: Added.
        (WebCore::SpeechInput::~SpeechInput):
        (WebCore::SpeechInput::client):
        * page/SpeechInputListener.h: Added.
        (WebCore::SpeechInputListener::~SpeechInputListener):
        * page/SpeechInputClient.h: Added new interface implemented by WebKit to bubble up speech API requests to the embedder.
        (WebCore::SpeechInputClient::~SpeechInputClient):
        * page/SpeechInputClientListener.h: Added.
        (WebCore::SpeechInputClientListener::~SpeechInputClientListener):

2010-07-13  Richard Moore <rich@kde.org>, Robert Hogan  <robert@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] MIME handling in qtwebkit network layer case-sensitivity

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

        Like other platforms, Qt needs to convert MIME types to lower case
        so they will be handled by WebCore.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):

2010-07-13  James Robinson  <jamesr@chromium.org>

        Reviewed by Simon Fraser.

        REGRESSION(55056) debug builds ASSERT falsely on pages with animations
        https://bugs.webkit.org/show_bug.cgi?id=42175

        Revision 55065 added some repaint box precomputation and some debug ASSERT()ions
        to ensure the precomputed values were valid.  However, if animations are enabled and
        not hardware accelerated, the repaint box dimensions become time-dependent and the
        ASSERT()s can trigger.  This can make it impossible to interactively debug pages
        like google maps.

        https://bugs.webkit.org/show_bug.cgi?id=37048 is another example of an assertion
        failing due to time dependent animation values.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):

2010-07-13  Zhenyao Mo  <zmo@google.com>

        Reviewed by Darin Fisher.

        Implement bufferData and bufferSubData with ArrayBuffer as input
        https://bugs.webkit.org/show_bug.cgi?id=41884

        Test: fast/canvas/webgl/buffer-data-array-buffer.html

        * html/canvas/WebGLBuffer.cpp: Implement associateBufferData & associateBufferSubData with ArrayBuffer as input.
        (WebCore::WebGLBuffer::associateBufferData):
        (WebCore::WebGLBuffer::associateBufferSubData):
        * html/canvas/WebGLBuffer.h: Ditto.
        * html/canvas/WebGLRenderingContext.cpp: Implement bufferData and bufferSubData with ArrayBuffer as input.
        (WebCore::WebGLRenderingContext::bufferData):
        (WebCore::WebGLRenderingContext::bufferSubData):
        * html/canvas/WebGLRenderingContext.h: Ditto.
        * html/canvas/WebGLRenderingContext.idl: Ditto.
        * platform/graphics/GraphicsContext3D.h: Ditto.
        * platform/graphics/mac/GraphicsContext3DMac.mm: Ditto.
        (WebCore::GraphicsContext3D::bufferData):
        (WebCore::GraphicsContext3D::bufferSubData):

2010-07-13  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Fisher.

        Implement performance.timing.responseEnd
        https://bugs.webkit.org/show_bug.cgi?id=42006

        See: http://dev.w3.org/2006/webapi/WebTiming/#nt-response-end

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::finishedLoading):
        * loader/FrameLoaderTypes.h:
        (WebCore::FrameLoadTimeline::FrameLoadTimeline):
        * page/Timing.cpp:
        (WebCore::Timing::responseEnd):
        * page/Timing.h:
        * page/Timing.idl:

2010-07-13  W. James MacLean <wjmaclean@chromium.org>

        Reviewed by Darin Fisher

        Bug 41962 Limit html canvas element dimensions to 32767 for Skia platform
        https://bugs.webkit.org/show_bug.cgi?id=41962

        Test: fast/canvas/canvas-skia-excessive-size.html

        * WebCore/html/HTMLCanvasElement.cpp
        (WebCore::HTMLCanvasElement::convertLogicalToDevice):

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

        Reviewed by Darin Fisher.

        Need to emulate MAX_VARYING_VECTORS/MAX_FRAGMENT_UNIFORM_VECTORs/MAX_VERTEX_UNIFORM_VECTORS for glGet
        https://bugs.webkit.org/show_bug.cgi?id=42032

        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::getIntegerv): Emulate the enums.

2010-07-13  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Eric Carlson.

        [GTK] video playback position query flood when mouse over the video element
        https://bugs.webkit.org/show_bug.cgi?id=35333

        Don't trigger a position query only to know which play/pause
        button to display. Instead use the media-control button display
        type to select the image to paint.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::paintMediaPlayButton):

2010-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63192.
        http://trac.webkit.org/changeset/63192
        https://bugs.webkit.org/show_bug.cgi?id=42173

        Broke fast/backgrounds/size/contain-and-cover.html (Requested
        by kling on #webkit).

        * manual-tests/css3-background-layer-count.html: Removed.
        * rendering/style/FillLayer.cpp:
        (WebCore::FillLayer::cullEmptyLayers):

2010-07-13  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Jeremy Orlow.

        Removes cycles caused by "m_this" members in a few IndexedDB classes.
        https://bugs.webkit.org/show_bug.cgi?id=42161

        Adds IDBAny::create for the various types.
        No functionality change, just cleaning up.

        * storage/IDBAny.cpp:
        (WebCore::createIDBAny):
        (WebCore::IDBAny::create):
        * storage/IDBAny.h:
        * storage/IDBDatabaseRequest.cpp:
        (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
        (WebCore::IDBDatabaseRequest::createObjectStore):
        (WebCore::IDBDatabaseRequest::removeObjectStore):
        * storage/IDBDatabaseRequest.h:
        * storage/IDBKeyRange.cpp:
        (WebCore::IDBKeyRange::IDBKeyRange):
        * storage/IDBKeyRange.h:
        (WebCore::IDBKeyRange::left):
        (WebCore::IDBKeyRange::right):
        * storage/IDBObjectStoreRequest.cpp:
        (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
        (WebCore::IDBObjectStoreRequest::get):
        (WebCore::IDBObjectStoreRequest::add):
        (WebCore::IDBObjectStoreRequest::put):
        (WebCore::IDBObjectStoreRequest::remove):
        (WebCore::IDBObjectStoreRequest::createIndex):
        (WebCore::IDBObjectStoreRequest::removeIndex):
        * storage/IDBObjectStoreRequest.h:
        * storage/IndexedDatabaseRequest.cpp:
        (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
        (WebCore::IndexedDatabaseRequest::open):
        * storage/IndexedDatabaseRequest.h:

2010-07-13  Antti Koivisto  <koivisto@iki.fi>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Land the initial build system for WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=41604

        The build is enabled by passing --qmakearg="CONFIG+=webkit2" to build-webkit

        * WebCore.pri:
        * WebCore.pro:

2010-07-13  Leon Clarke  <leonclarke@google.com>

        Reviewed by Pavel Feldman.

        Don't access objects after deleting them, following
        the addition of link prefetching. Also remove a forward declaration
        of the now-nonexistent CachedLinkPrefetch class.
        https://bugs.webkit.org/show_bug.cgi?id=3652

        No new tests. Correcting aspects of the prefetch change that shouldn't
        have affected functionality.

        * html/HTMLLinkElement.h:
        * loader/loader.cpp:
        (WebCore::Loader::Host::cancelPendingRequests):

2010-07-13  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] Fix the case of a linker option to lowercase to be able to
        cross compile QtWebKit for Windows on Linux.

        No new tests needed.

        * WebCore.pro:

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

        Reviewed by Yury Semikhatsky.

        WebInspector: Next iteration of Inspector code generator.
        The InspectorFrontend2 was replaced by slightly modified version of
        InspectorBackend file (Inspector.idl). At the end all the interface
        between WebInspector and inspected page will be specified by this file
        and generated by CodeGeneratorInspector (InspectorFrontend.cpp,
        InspectorBackend.cpp and InspectorBackend.js).
        https://bugs.webkit.org/show_bug.cgi?id=42104

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/rule_binding.py:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/IDLParser.pm:
        * bindings/scripts/IDLStructure.pm:
        * bindings/scripts/generate-bindings.pl:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl: Added.
        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::inspectorStyleSheet):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::startTimelineProfiler):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::remoteInspectorFrontend):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        * inspector/InspectorDOMAgent.h:
        (WebCore::InspectorDOMAgent::create):
        * inspector/InspectorFrontend2.idl: Removed.
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
        * inspector/InspectorTimelineAgent.h:

2010-07-12  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        DeviceOrientationEvent should use optional properties
        https://bugs.webkit.org/show_bug.cgi?id=41607

        This change adds a new DeviceOrientation class which takes care of which of the
        optional properties are present. DeviceOrientationEvent owns an instance of
        DeviceOrientation, rather than owning the properties directly.
        DeviceOrientationEvent now requires custom bindings.

        Test: fast/dom/DeviceOrientation/optional-event-properties.html

        * Android.mk:
        * Android.jscbindings.mk:
        * Android.v8bindings.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDeviceOrientationEventCustom.cpp: Added.
        (WebCore::JSDeviceOrientationEvent::alpha):
        (WebCore::JSDeviceOrientationEvent::beta):
        (WebCore::JSDeviceOrientationEvent::gamma):
        (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
        * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp: Added.
        (WebCore::V8DeviceOrientationEvent::alphaAccessorGetter):
        (WebCore::V8DeviceOrientationEvent::betaAccessorGetter):
        (WebCore::V8DeviceOrientationEvent::gammaAccessorGetter):
        (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
        * dom/DeviceOrientation.cpp: Added.
        * dom/DeviceOrientation.h: Added.
        (WebCore::DeviceOrientation::create):
        (WebCore::DeviceOrientation::canProvideAlpha):
        (WebCore::DeviceOrientation::alpha):
        (WebCore::DeviceOrientation::canProvideBeta):
        (WebCore::DeviceOrientation::beta):
        (WebCore::DeviceOrientation::canProvideGamma):
        (WebCore::DeviceOrientation::gamma):
        (WebCore::DeviceOrientation::DeviceOrientation):
        * dom/DeviceOrientationEvent.cpp:
        (WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
        (WebCore::DeviceOrientationEvent::initDeviceOrientationEvent):
        * dom/DeviceOrientationEvent.h:
        (WebCore::DeviceOrientationEvent::create):
        (WebCore::DeviceOrientationEvent::orientation):
        * dom/DeviceOrientationEvent.idl:

2010-07-13  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Antti Koivisto.

        CSS3 background: Number of layers should be determined by background-image element count
        https://bugs.webkit.org/show_bug.cgi?id=41201

        Change FillLayer culling logic to discard all layers
        after the first one without an image set.

        Manual test: css3-background-layer-count.html

        * manual-tests/css3-background-layer-count.html: Added.
        * rendering/style/FillLayer.cpp:
        (WebCore::FillLayer::cullEmptyLayers):

2010-07-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Darin Adler.

        Prevent assertion/duplicate loads for non-deferred subtitute-data loads

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

        MainResourceLoader uses the member m_initialRequest to store requests for future
        deferred loads. When doing the actual load in handleDataLoadNow(), we therefore
        have to clear this request so that subsequent entries into the loader will not
        start yet another load.

        This can happen as a result of a PageGroupLoadDeferrer going out of scope when
        returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false),
        but only in the case of using both substitute-data and non-deferred main resource
        load together. That's why two new DRT functions were added:

         * queueLoadHTMLString()
         * setDeferMainResourceLoad()

        The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac
        and Win the hook uses new SPI in WebDataSource. For Qt a new static member was
        added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt.

        Test: fast/loader/non-deferred-substitute-load.html

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::handleDataLoadNow):

2010-07-13  Yoshiki Hayashi  <yhayashi@google.com>

        Reviewed by Kent Tamura.

        Make sure correct Nodes are passed to childrenChanged so that
        :last-child gets properly applied when fragment is inserted.
        https://bugs.webkit.org/show_bug.cgi?id=37944

        Test: fast/css/last-child-innerhtml.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::appendChild):

2010-07-13  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Kent Tamura.

        InsertListCommand's modifyRange and doApply should be merged
        https://bugs.webkit.org/show_bug.cgi?id=41403

        Isolated the code in doApply to insert and remove lists for single paragraph into doApplyForSingleParagraph.
        Merged the code in modifyRange into doApply and cleaned up.

        No test is added since this is a clean up.

        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::InsertListCommand): m_forceCreateList is no longer initialized
        (WebCore::InsertListCommand::doApply): Isolated the code to insert/remove lists in doApplyForSingleParagraph
        (WebCore::InsertListCommand::doApplyForSingleParagraph): Insert/remove lists for single paragraph
        * editing/InsertListCommand.h: Added doApplyForSingleParagraph and removed m_forceCreateList

2010-07-12  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix typo in "close the cell" which caused assertion
        https://bugs.webkit.org/show_bug.cgi?id=42138

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::closeTheCell):

2010-07-12  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix line number handling in HTMLTreeBuilder to fix a zillion layout tests
        https://bugs.webkit.org/show_bug.cgi?id=42143

        Covered by a zillion layout tests.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processScriptStartTag):

2010-07-12  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Kent Tamura.

        Adding right aligned text called labels to PopupMenus.
        https://bugs.webkit.org/show_bug.cgi?id=41964

        * platform/PopupMenuClient.h:
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::paintRow):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::itemLabel):
        * rendering/RenderMenuList.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::itemLabel):
        * rendering/RenderTextControlSingleLine.h:

2010-07-12  Mihnea Ovidenea  <mihnea@adobe.com>

        Reviewed by Dirk Schulze.

        [Cairo] Incorrect Test for Text Fill
        https://bugs.webkit.org/show_bug.cgi?id=42123

        Correct test used for text shadow.  It currently checks for
        equality with cTextFill.  However, this test fails if the
        text drawing mode is set to 'cTextFill | cTextStroke'.  Fix
        is to modify the test to be like other Cairo uses of the
        text drawing mode, and check for the cTextFill bit being
        set, not for equality with the bit.

        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs):

2010-07-12  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam Weinig.

        Fix a typo in the adoption agency causing test failures
        https://bugs.webkit.org/show_bug.cgi?id=42133

        The new behavior actually differs from old webkit.
        <p><b><p>TEST
        was not bold in the old parser, but is bold now.
        This matches Minefield and the HTML5 spec.

        Covered by two tests in html5lib/runner.html.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

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

        Reviewed by Joseph Pecoraro.

        Web Inspector: provide starts and ends for network phases instead of duration.

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

        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateResponse):
        (WebCore::InspectorResource::updateScriptObject):
        (WebCore::InspectorResource::buildObjectForTiming):
        * platform/network/ResourceLoadTiming.h:
        (WebCore::ResourceLoadTiming::deepCopy):
        (WebCore::ResourceLoadTiming::operator==):
        (WebCore::ResourceLoadTiming::ResourceLoadTiming):
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::ResourceResponseBase):
        (WebCore::ResourceResponseBase::wasCached):
        (WebCore::ResourceResponseBase::setWasCached):
        * platform/network/ResourceResponseBase.h:

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

        Reviewed by Eric Seidel.

        HTML5 Parser: document.write after onload blows away document
        https://bugs.webkit.org/show_bug.cgi?id=40745

        Rather than blowing away the document when we get a document.write call
        after the document is closed, we new ignore the write.  This
        technically violates the spec (which requires us to blow away the
        document), but blowing away the document breaks too many web sites.

        Rather than this patch, we could go back to our old behavior (which was
        to append the bytes just before EOF), but implementing this approach
        (suggested by Henri) will let us gather data about whether his approach
        is workable.

        See also: http://www.w3.org/Bugs/Public/show_bug.cgi?id=9767

        * dom/Document.cpp:
        (WebCore::Document::write):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::insert):

2010-07-12  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Oliver Hunt.

        Strip BOMs from source before passing to V8
        https://bugs.webkit.org/show_bug.cgi?id=42102

        This extra copy may carry a performance penalty. We should investigate
        whether this allows any simplification in v8/scanner.cc:SkipJavaScriptWhiteSpace().

        No new tests because no new functionality.

        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):

2010-07-12  Gustavo Noronha Silva  <gns@gnome.org>

        Unreviewed. make distcheck fix.

        * GNUmakefile.am:

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

        Reviewed by Alexey Proskuryakov.

        Fix crash caused by unintentional deletion of worker bridge and channel.

        WebSocket: Crash caused by calling close() within onmessage handler
        https://bugs.webkit.org/show_bug.cgi?id=41507

        Test: websocket/tests/workers/close-in-onmessage-crash.html

        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::close): bufferedAmount() may call WebSocket::didClose(),
        which causes m_channel to get freed.
        * websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Add reference to
        the bridge because waitForMethodCompletion() may dereference the bridge.
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount): Ditto.
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
        The root cause is a call to WorkerRunLoop::runInMode in this function.
        It may call WebSocket::didClose() even inside WebSocket::close(), which frees
        everything including the worker bridge and the channel.

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

        Reviewed by Eric Seidel.

        REGRESSION (HTML5 parser?): Impossible to get past the CAPTCHA on postcode.royalmail.com
        https://bugs.webkit.org/show_bug.cgi?id=41797

        Once we resume parsing after script execution, we want to clear the
        preload scanner so we don't scan any bytes it might have accumulated.

        Test: http/tests/loading/preload-slow-loading.php

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):

2010-07-12  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Jian Li.

        Adding directional property enums back into
        CSSComputedStyleDeclaration::getPropertyCSSValue().

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

        The four directional -webkit- properties --  CSSPropertyWebkitMarginEnd,
        CSSPropertyWebkitMarginStart, CSSPropertyWebkitPaddingEnd, and
        CSSPropertyWebkitPaddingStart -- are resolved into other css
        properties before the swtich statement via a call to
        CSSProperty::resolveDirectionAwareProperty().  Thus, they are never
        seen by the switch statement.  However, if you leave out a potential
        enum value from the switch, gcc will generate a warning if -Wall is
        specified.  This warning breaks the Chromium build.  To avoid this,
        we add in the enum values and ASSERT_NOT_REACHED() if they are hit.


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

2010-07-12  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX converts AtomicStrings to .string() more than needed
        https://bugs.webkit.org/show_bug.cgi?id=42056

        No behavior change. No new tests.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isPressed):
        (WebCore::siblingWithAriaRole):
        (WebCore::AccessibilityRenderObject::intValue):
        (WebCore::AccessibilityRenderObject::accessibilityDescription):
        (WebCore::AccessibilityRenderObject::hasTextAlternative):
        (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
        (WebCore::AccessibilityRenderObject::supportsARIADropping):
        (WebCore::AccessibilityRenderObject::supportsARIADragging):
        (WebCore::AccessibilityRenderObject::determineARIADropEffects):
        (WebCore::AccessibilityRenderObject::isExpanded):
        (WebCore::AccessibilityRenderObject::isRequired):
        (WebCore::AccessibilityRenderObject::isSelected):
        (WebCore::AccessibilityRenderObject::supportsARIAOwns):
        (WebCore::AccessibilityRenderObject::isEnabled):
        (WebCore::AccessibilityRenderObject::activeDescendant):
        (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
        (WebCore::AccessibilityRenderObject::orientation):
        (WebCore::AccessibilityRenderObject::canSetExpandedAttribute):
        (WebCore::AccessibilityRenderObject::canSetValueAttribute):

2010-07-12  Tony Chang  <tony@chromium.org>

        Reviewed by David Hyatt.

        crash in FrameView::detachCustomScrollbars
        https://bugs.webkit.org/show_bug.cgi?id=41196

        Test: scrollbars/hidden-iframe-scrollbar-crash.html

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

2010-07-12  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML tags should break out of foreign content
        https://bugs.webkit.org/show_bug.cgi?id=42106

        Implement another paragraph of the spec to pass another
        bunch of foreign content tests.

        This fixes a bunch of tests in html5lib/runner.html.
        After this change we only have 4 remaining foreign content failures.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

2010-07-12  Zhenyao Mo  <zmo@google.com>

        Reviewed by Darin Fisher.

        Bring bufferData and clear to GLES2 compliant
        https://bugs.webkit.org/show_bug.cgi?id=41574

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::bufferData): Call validateBufferDataUsage().
        (WebCore::WebGLRenderingContext::clear): Check mask.
        (WebCore::WebGLRenderingContext::validateBufferDataUsage): Check usage.
        * html/canvas/WebGLRenderingContext.h: Declare validateBufferDataUsage.

2010-07-12  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Attempt to fix Chromium Windows build.

        Always generate SVGNames and MathMLNames for all ports (to support HTML5)
        https://bugs.webkit.org/show_bug.cgi?id=42050

        Another way to fix this might be to mark all the .in files with
        svn:eol=native.  But fixing the perl to be more robust against
        stray whitespace seems to be a better long-term fix.

        No functional change, thus no tests.

        * bindings/scripts/InFilesParser.pm:

2010-07-12  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Remove dependency on PlatformString.h in Color.h
        https://bugs.webkit.org/show_bug.cgi?id=42109

        * platform/graphics/Color.cpp:
        * platform/graphics/Color.h:

2010-07-12  Eric Seidel  <eric@webkit.org>

        Unreviewed, build fix.

        Update HTMLTreeBuilder now that MathMLNames is always generated
        https://bugs.webkit.org/show_bug.cgi?id=42059

        Fix the Windows project file to build MathMLNames.*.
        Also added MathMLElementFactory.* which is a NOOP now, but will
        prevent folks from breaking the build when they turn MathML on.

        * WebCore.vcproj/WebCore.vcproj:

2010-07-12  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        Update media element's handling of empty 'src' attribute
        https://bugs.webkit.org/show_bug.cgi?id=42001

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::src): Return getNonEmptyURLAttribute().
        (WebCore::HTMLMediaElement::selectMediaResource): Call noneSupported() for empty 'src'.
        (WebCore::HTMLMediaElement::selectNextSourceChild): Use getNonEmptyURLAttribute() to convert 
        'src' to URL instead of document()->completeURL(). Don't consider a <source> with an empty 'src'. 

        * html/HTMLMediaElement.idl: Add 'NonEmpty' option to 'src' attribute.

        * html/HTMLSourceElement.cpp:
        (WebCore::HTMLSourceElement::src): Return getNonEmptyURLAttribute().
        (WebCore::HTMLSourceElement::isURLAttribute): New, 'src' is a URL attribute.
        * html/HTMLSourceElement.h:

        * html/HTMLSourceElement.idl: Add 'NonEmpty' option to 'src' attribute.

        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::parseMappedAttribute): Use getNonEmptyURLAttribute() to convert 
        'poster' to URL instead of document()->completeURL().

        * html/HTMLVideoElement.idl:  Add 'NonEmpty' option to 'poster' attribute.

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

        Reviewed by Xan Lopez.

        [GTK] make dist is broken because of missing headers and other miscellaneous reasons
        https://bugs.webkit.org/show_bug.cgi?id=42107

        * GNUmakefile.am: Remove InspectorFrontend2.idl from the list of IDL files, so
        that it is not built into libWebCoreJS. Add missing header to the source list.
        Make sure to distribute the new file: WebCore/inspector/CodeGeneratorInspector.pm.

2010-07-12  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTreeBuilder needs to support mixing SVG and MathML content
        https://bugs.webkit.org/show_bug.cgi?id=42096

        This is just a direct transcription of another paragraph of the
        HTML5 spec.

        This improved a couple results in html5lib/runner.html, but more
        work to do yet to pass all the foreign content tests.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processUsingSecondaryInsertionModeAndAdjustInsertionMode):
        * html/HTMLTreeBuilder.h:
        * mathml/mathtags.in:

2010-07-12  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Update HTMLTreeBuilder now that MathMLNames is always generated
        https://bugs.webkit.org/show_bug.cgi?id=42059

        Fix the HTMLTreeBuilder MathML code path to compile and remove
        the MathML and SVG guards now that SVGNames and MathMLNames are
        always compiled into ever port after:
        https://bugs.webkit.org/show_bug.cgi?id=42050

        This fixed a whole bunch of libhtml5 tests now that we have the
        mathml code paths enabled.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
        (WebCore::HTMLTreeBuilder::processEndTag):
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
         - Always init SVGNames and MathML names.

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

        Reviewed by Dan Bernstein.

        Don't go into compositing mode for 0x0 plugins
        https://bugs.webkit.org/show_bug.cgi?id=34009
        
        Don't use compositing for small (0-height or width, or 1x1) plugins, or iframes whose
        height or width is zero.
        
        Previously we made all compositing decisions inside styleChanged(). However,
        now that plugin and iframe compositing behavior depends on renderer size, we have
        to wait until layout before deciding whether to composite these. This behavior
        change is controlled by the m_compositingDependsOnGeometry flag. When set,
        updateCompositingLayers() always does a hierarchy update.

        Tests: compositing/iframes/iframe-size-from-zero.html
               compositing/iframes/iframe-size-to-zero.html
               compositing/plugins/1x1-composited-plugin.html
               compositing/plugins/large-to-small-composited-plugin.html
               compositing/plugins/small-to-large-composited-plugin.html

        * page/FrameView.cpp:
        (WebCore::FrameView::updateCompositingLayers): No longer bail if usesCompositing() is false; we
        have to always enter updateCompositingLayers().
        (WebCore::FrameView::repaintFixedElementsAfterScrolling): Ditto
        (WebCore::FrameView::enterCompositingMode): Remove bogus return of a void.

        * rendering/RenderLayerCompositor.h: Add m_compositingDependsOnGeometry.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor): Initialize m_compositingDependsOnGeometry to false.
        (WebCore::RenderLayerCompositor::updateCompositingLayers): If m_compositingDependsOnGeometry is true,
        we always need to run through the layer hierarchy looking for things which need to be composited, even if
        we're not (yet) in compositing mode.
        
        (WebCore::RenderLayerCompositor::computeCompositingRequirements): Because we can enter compositing mode
        on the fly inside updateCompositingLayers() now, the state of willBeComposited needs to be updated
        when processing the root layer, for the case where the compositing mode changes.
        
        (WebCore::RenderLayerCompositor::requiresCompositingForPlugin): Set the m_compositingDependsOnGeometry
        flag if we see a potentially-composited plugin. Once we have layout information, only composite the plugin
        if height * width > 1.
        
        (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): Set the m_compositingDependsOnGeometry
        flag if we see a potentially-composited iframe. Once we have layout information, only composite the plugin
        if height or width is greater than zero.

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

        Reviewed by Dan Bernstein.

        Need to do a layout when RenderLayers come and go because of compositing
        https://bugs.webkit.org/show_bug.cgi?id=42108
        
        If we create or destroy RenderLayers for reasons other than style changes
        (e.g. because of composited iframes or plugins), then we need to ensure
        that we do a layout.

        Test: compositing/iframes/layout-on-compositing-change.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::adjustStyleDifference):

2010-07-11  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        Always generate SVGNames and MathMLNames for all ports (to support HTML5)
        https://bugs.webkit.org/show_bug.cgi?id=42050

        Historically, FOONames has only been generate when ENABLE(FOO) is defined.
        However, for HTML5 parser support, we need to have access to the SVG
        and MathML tag names regardless of whether we the engine is configured
        to render SVG or MathML content.

        This change enables generation of SVGNames and MathMLNames on all ports and
        makes it so that ports can include FOOElementFactory.* regardless of whether
        ENABLE(FOO) is defined (and have it do the right thing).

        No functional change (yet) so no tests.

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.pri:
        * dom/make_names.pl:

2010-07-10  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        make_names.pl should always generate all names in Names.* files
        https://bugs.webkit.org/show_bug.cgi?id=42023

        Only the *ElementFactory files need to have conditional contents
        based on enabled features.  WebCore should always have all known
        names for SVG, MathML, XML, XLink, HTML, etc. generated in the
        various *Names files, even if features are disabled.

        make_names.pl is kinda a big hack at this point.  I tried to clean
        up a little as I went.  The way I made *Names include all names was to
        read the .in files twice, once using the preprocessor and once without.

        * dom/make_names.pl:

2010-07-12  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Oliver Hunt.

        Canvas: Move fillRect() save/restore into GraphicsContext implementations
        https://bugs.webkit.org/show_bug.cgi?id=42088

        Saving the platform painter state is an expensive operation,
        so don't do it in fillRect() for platforms that don't need it. (CG, Qt)

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::fillRect):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::fillRect):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::fillRect):
        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::GraphicsContext::fillRect):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::fillRect):

2010-07-12  Nate Chapin  <japhet@chromium.org>

        Reviewed by Darin Fisher.

        Ensure that a cache policy that forces validation is cleared once
        the load event is fired, rather than only doing so at the next
        navigation. This leads to a lot of unnecessary load on AJAX-y
        websites.

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

        Test: http/tests/xmlhttprequest/cache-headers-after-reload.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::handledOnloadEvents): Reset m_loadType to FrameLoadTypeStandard.
        (WebCore::FrameLoader::addExtraFieldsToRequest): Only respect the original request's cache policy if the
            DocumentLoader is still loading, and handle the other cache policy settings that were scattered around the loader.
        (WebCore::FrameLoader::loadResourceSynchronously): Merge cachePolicy setting into FrameLoader::addExtraFieldsToRequest.
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::create): Merge cachePolicy setting into FrameLoader::addExtraFieldsToRequest.

2010-07-12  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Oliver Hunt.

        CSS color parsing optimizations
        https://bugs.webkit.org/show_bug.cgi?id=42073

        - Avoid instantiating a CSSParser in parseColor() unless necessary.
        - Fixed hex color fast-path to support strings starting with '#'.
        - Avoid allocating a new string for the value part of a '#' color.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseColor):
        * platform/graphics/Color.cpp:
        (WebCore::Color::parseHexColor):
        (WebCore::Color::Color):
        * platform/graphics/Color.h:

2010-07-09  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=13075
        XMLHttpRequest with failed authentication should set status to 401

        https://bugs.webkit.org/show_bug.cgi?id=6871
        <rdar://problem/3363403> 401 error page is never shown

        * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::receivedCredential):
        Added a comment explaining why we handle empty credentials differently here.

        * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::receivedCredential):
        Bring this code in sync with Mac.

2010-07-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam Roben.

        Add a PluginController class, use it for invalidation and getting the user agent
        https://bugs.webkit.org/show_bug.cgi?id=42084

        * WebCore.exp.in:
        Export Widget::convertToContainingWindow.

2010-07-12  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Dragging within webkit with a drag created via Javascript ends up misinterpreting the data
        https://bugs.webkit.org/show_bug.cgi?id=41457

        Treat non-special-cased mime-types as Unicode strings in ClipboardQt's getData()
        Fixes corruption when retrieving data that was set with anything other than text/plain

        Also use QMimeData::setHtml() when applicable to be consistent with PasteboardQt.

        * platform/qt/ClipboardQt.cpp:
        (WebCore::isHtmlMimeType):
        (WebCore::ClipboardQt::getData):
        (WebCore::ClipboardQt::setData):

2010-07-12  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        add ANDROID to STORE_FONT_CUSTOM_PLATFORM_DATA
        https://bugs.webkit.org/show_bug.cgi?id=32273

        Tested by existing tests, just adding ANDROID to the list of platforms that use this feature.

        * loader/CachedFont.cpp:

2010-07-12  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Unreviewed.

        [EFL] Move ScriptConcotrollerEfl.cpp from CMakeLists.txt to
        CMakeListsEfl.txt.

        * CMakeLists.txt:
        * CMakeListsEfl.txt:

2010-07-12  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Unreviewed build fix after r60050.

        * CMakeLists.txt: Add WebCore/bindings to the include path.

2010-07-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Crashes when going back with page cache in unknown circunstances
        https://bugs.webkit.org/show_bug.cgi?id=41710

        Could not yet find a way to reproduce this in a layout test. The
        issue is document being NULL, so this NULL-check should be enough
        to get rid of the crash. We are working on trying to find a better
        solution for these null cases, like attaching the document earlier
        when openning a cached page.

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

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

        Reviewed by Yury Semikhatsky.

        [Chromium] Crash when stepping on a breakpoint while debugging Web Inspector
        https://bugs.webkit.org/show_bug.cgi?id=41958

        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
        * page/PageGroupLoadDeferrer.h:

2010-07-12  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        Make the mathsize MathML attribute handle values in em, px, pt,...
        https://bugs.webkit.org/show_bug.cgi?id=42067

        Test: mathml/presentation/attributes.xhtml

        * css/mathml.css:
        (math[mathsize="small"], mstyle[mathsize="small"], mo[mathsize="small"], mn[mathsize="small"], mi[mathsize="small"], mtext[mathsize="small"], mspace[mathsize="small"], ms[mathsize="small"]):
        (math[mathsize="normal"], mstyle[mathsize="normal"], mo[mathsize="normal"], mn[mathsize="normal"], mi[mathsize="normal"], mtext[mathsize="normal"], mspace[mathsize="normal"], ms[mathsize="normal"]):
        (math[mathsize="big"], mstyle[mathsize="big"], mo[mathsize="big"], mn[mathsize="big"], mi[mathsize="big"], mtext[mathsize="big"], mspace[mathsize="big"], ms[mathsize="big"]):
        * mathml/MathMLElement.cpp:
        (WebCore::MathMLElement::parseMappedAttribute):

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

        Reviewed by Gustavo Noronha.

        Fix compilation with sealed GTK+.

        * platform/gtk/GtkVersioning.h:
        * platform/gtk/PasteboardHelper.cpp:
        (WebCore::PasteboardHelper::fillDataObjectFromDropData):

2010-07-12  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        Fix a bug preventing msqrt and mfrac to use style color to draw themselves.
        In mfrac, the fraction bar is now using the color defined by the element style instead of black.
        In msqrt, the radical was always drawn in black due to a colorSpace problem.
        https://bugs.webkit.org/show_bug.cgi?id=41889

        Test: mathml/presentation/roots.xhtml
        Test: mathml/presentation/fractions.xhtml

        * mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::paint):
        * mathml/RenderMathMLSquareRoot.cpp:
        (WebCore::RenderMathMLSquareRoot::paint):

2010-07-12  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Antti Koivisto.

        Canvas: arc() with startAngle == endAngle shouldn't add to the path
        https://bugs.webkit.org/show_bug.cgi?id=41420

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-stroke

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

2010-07-12  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Ojan Vafai.

        Update padding on Windows?
        https://bugs.webkit.org/show_bug.cgi?id=38016

        Remove internal padding and add 1px vertical padding for Windows.

        * css/themeWin.css:
        (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::setupInnerStyle):
        * rendering/RenderTheme.h:
        * rendering/RenderThemeWin.cpp:
        * rendering/RenderThemeWin.h:
        * rendering/RenderThemeWince.cpp:
        * rendering/RenderThemeWince.h:

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

        Not reviewed. Chromium tests fix.

        [Chromium, V8] r63057 regressed url tests.

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

        * bindings/scripts/CodeGeneratorV8.pm:

2010-07-12  Steve Block  <steveblock@google.com>

        Reviewed by Alexey Proskuryakov.

        XPath substring function does not correctly handle non-positive values for the position argument
        https://bugs.webkit.org/show_bug.cgi?id=41913

        This patch changes the behavior of the XPath evaluate function when a non-positive
        position argument is supplied and no length argument is supplied. In this case,
        we reset the position to 1. This follows the spec and matches the current behaviour
        when a length argument is supplied.

        Test: fast/xpath/substring-non-positive-postion.html

        * xml/XPathFunctions.cpp:
        (WebCore::XPath::FunSubstring::evaluate):

2010-06-27  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Dumitru Daniliuc.

        Implement IDBObjectStore.get/set/remove
        https://bugs.webkit.org/show_bug.cgi?id=41250

        Implement these functions in IDBObjectStore,
        add plumbing, teach IDBAny/Callbacks how to deal
        with IDBKey, and a few small bits of cleanup.

        Test: Modified existing test to provide basic coverage.
              Will add much more extensive layout test coverage
              in future patches.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.jscbindings.mk:
        * Android.mk:
        * Android.v8bindings.mk:
        * CMakeLists.txt:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSIDBAnyCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8IDBAnyCustom.cpp:
        (WebCore::toV8):
        * storage/IDBAny.cpp:
        (WebCore::IDBAny::idbKey):
        (WebCore::IDBAny::set):
        * storage/IDBAny.h:
        (WebCore::IDBAny::):
        * storage/IDBAny.idl:
        * storage/IDBCallbacks.h:
        * storage/IDBDatabaseRequest.h:
        * storage/IDBDatabaseRequest.idl:
        * storage/IDBKeyRange.h:
        * storage/IDBObjectStore.h:
        (WebCore::IDBObjectStore::):
        * storage/IDBObjectStoreImpl.cpp:
        (WebCore::IDBObjectStoreImpl::IDBObjectStoreImpl):
        (WebCore::IDBObjectStoreImpl::get):
        (WebCore::IDBObjectStoreImpl::set):
        (WebCore::IDBObjectStoreImpl::remove):
        * storage/IDBObjectStoreImpl.h:
        * storage/IDBObjectStoreRequest.cpp:
        (WebCore::IDBObjectStoreRequest::get):
        (WebCore::IDBObjectStoreRequest::add):
        (WebCore::IDBObjectStoreRequest::modify):
        (WebCore::IDBObjectStoreRequest::addOrModify):
        (WebCore::IDBObjectStoreRequest::remove):
        * storage/IDBObjectStoreRequest.h:
        * storage/IDBObjectStoreRequest.idl:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess):
        * storage/IDBRequest.h:

2010-07-11  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dan Bernstein.

        Implement animation-related methods for WebKitTestRunner
        https://bugs.webkit.org/show_bug.cgi?id=42053

        * WebCore.exp.in: Export Document::getElementById for WebKit2's benefit.

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

        Rubber-stamped by Eric Seidel

        Add a complete list of the HTML5 entities in JSON format.

        * html/HTMLEntityNames.json: Added.

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

        Reviewed by Xan Lopez.

        [GTK] WebKitWebView should support drops
        https://bugs.webkit.org/show_bug.cgi?id=39843

        Add support for dropping content onto GTK+ WebViews.

        No new tests, as the DRT does not support simulating drops yet.

        * platform/gtk/ClipboardUtilitiesGtk.cpp:
        (WebCore::dragOperationToGdkDragAction): Added.
        (WebCore::gdkDragActionToDragOperation): Properly detect DragOperationEvery.
        * platform/gtk/ClipboardUtilitiesGtk.h: Add declaration for dragOperationToGdkDragAction.
        * platform/gtk/PasteboardHelper.cpp:
        Add new target atom and rename the markup target type to match the others.
        Add a method which fills a data object from drop data.
        (WebCore::PasteboardHelper::initializeTargetList): Add support for new atoms.
        (WebCore::selectionDataToUTF8String): Added this helper.
        (WebCore::PasteboardHelper::getClipboardContents): Use the selectionDataToUTF8String helper.
        (WebCore::PasteboardHelper::targetListForDataObject): Change to reflect markup atom rename.
        (WebCore::PasteboardHelper::fillDataObjectFromDropData): Added.
        (WebCore::PasteboardHelper::dropAtoms): Added.
        * platform/gtk/PasteboardHelper.h: Add declarations of new methods.

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

        Reviewed by Anders Carlsson.

        Enhance content attribute reflection for URL attributes, including adding a non-empty option
        https://bugs.webkit.org/show_bug.cgi?id=42040

        Test: fast/dom/URL-attribute-reflection.html

        Changed syntax from [ReflectURL] to [Reflect,URL] and also added support for
        a new option, NonEmpty, which implements the non-empty URL concept from the
        HTML5 specification.

        * bindings/scripts/CodeGenerator.pm: Changed code to expect the Reflect and URL
        extended attributes to come in separately. The URL one simply means "the string
        of this attribute is a URL", since we don't have a distinct type for URL. Also
        added a new NonEmpty extended attribute.

        * bindings/scripts/CodeGeneratorJS.pm: Removed now-unneeded code to handle ReflectURL.
        * bindings/scripts/CodeGeneratorV8.pm: Ditto.

        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated for new added test cases
        and the fix I made to the reflectedCustomURLAttr test.
        * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto. Also, for some reason the V8
        bindig writes out the keywords into the generated file as comments, so the keyword
        change had a direct efffect on the output file.

        * bindings/scripts/test/TestObj.idl: Changed the test cases for ReflectURL to use
        the new syntax. Added test cases for NonEmpty. Fixed the name of
        reflectedNonEmptyURLAttr, which accidentally was repeating reflectedURLAttr
        instead; never noticed because we never compile the test output.

        * dom/Element.cpp:
        (WebCore::Element::getNonEmptyURLAttribute): Added. For use by NonEmpty and also
        by any code that wants to implement the non-empty URL content attribute semantic.
        * dom/Element.h: Ditto.

        * html/HTMLAnchorElement.idl: Use Reflect,URL instead of ReflectURL.
        * html/HTMLAreaElement.idl: Ditto.
        * html/HTMLFrameElement.idl: Ditto.
        * html/HTMLImageElement.idl: Ditto.
        * html/HTMLInputElement.idl: Ditto.
        * html/HTMLLinkElement.idl: Ditto.
        * html/HTMLMediaElement.idl: Ditto.
        * html/HTMLObjectElement.idl: Ditto.
        * html/HTMLScriptElement.idl: Ditto.
        * html/HTMLVideoElement.idl: Ditto.

2010-07-10  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Adler.

        Add missing derrived sources to xcode project
        https://bugs.webkit.org/show_bug.cgi?id=42034

        This allows --web-timing to work with build-webkit on OSX with JSC.
        This should have been done in bug 41442.

        No new tests because no new functionality.

        * WebCore.xcodeproj/project.pbxproj:

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

        Reviewed by Sam Weinig.

        Don't initialize plug-ins until allowed by the page
        https://bugs.webkit.org/show_bug.cgi?id=42033

        * WebCore.exp.in:
        Export Document::addMediaCanStartListener and Document::removeMediaCanStartListener.

2010-07-10  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=42021
        isEqualNode should work for DocumentType nodes

        Test: fast/dom/Node/isEqualNode.html

        * dom/Node.cpp:
        (WebCore::Node::isEqualNode): Add DocumentType logic from the DOM3 spec.

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

        Reviewed by Adam Barth.

        Move enum ReasonForCallingCanExecuteScripts to header ScriptControllerBase.h
        https://bugs.webkit.org/show_bug.cgi?id=39339

        Moved the enum ReasonForCallingCanExecuteScripts, which was
        defined in both the JSC and V8 ScriptController.h file, into
        a shared file called ScriptControllerBase.h.

        No functionality was changed, so no new tests.

        * GNUmakefile.am: Added file bindings/ScriptControllerBase.h.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.vcproj/WebCoreCommon.vsprops: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/ScriptControllerBase.h: Added.
        (WebCore::):
        * bindings/js/ScriptController.h: #include ScriptControllerBase.h
        * bindings/v8/ScriptController.h: Ditto.

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

        Reviewed by Anders Carlsson.

        <rdar://problem/8153214> Continuation outlines in layers do not paint correctly

        Test: fast/inline/continuation-outlines-with-layers-2.html

        Continuation outlines are normally painted by the containing block. However, when the
        block and the inline are not enclosed by the same self-painting layer, the inline has to
        paint its own outlines. This was handled correctly only for the case where the inline had
        its own self-painting layer, but now when an ancestor inline had the self-painting layer.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paint): Instead of testing for having a self-painting layer, test
        whether any intermediate box between the inline and the containing block has a self-painting
        layer.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintObject): Ditto.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::enclosingBoxModelObject): Added this utility method.
        * rendering/RenderObject.h:

2010-07-10  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        Build fix: syntax and typo issues
        https://bugs.webkit.org/show_bug.cgi?id=41859

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTag):

2010-07-10  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTreeBuilder needs adjustForeignAttributes support
        https://bugs.webkit.org/show_bug.cgi?id=42022

        To add adjust foreign attributes support I had to add an
        AtomicString (prefixed name) to QualifiedName hash.  Once I had
        done that, I decided it would be best for the other "adjust" functions
        to share the same hash logic, so I moved them to using the same
        AtomicString -> QualifiedName hash as well.

        Tested by html5lib/runner.html

        * dom/Attribute.h:
        (WebCore::Attribute::parserSetName):
        * html/HTMLTreeBuilder.cpp:

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=41978
        Remove namespace prefixes from idl files

        No new tests, idl syntax fixes.

        * css/CSSImportRule.idl:
        * css/CSSMediaRule.idl:
        * css/CSSStyleSheet.idl:
        * css/CSSVariablesRule.idl:
        * svg/SVGAnimatedString.idl:
        * svg/SVGColor.idl:
        * svg/SVGDocument.idl:
        * svg/SVGLangSpace.idl:
        * svg/SVGSVGElement.idl:
        * svg/SVGStringList.idl:
        * svg/SVGStylable.idl:
        * svg/SVGStyleElement.idl:
        * svg/SVGTests.idl:
        * svg/SVGZoomEvent.idl:
        * xml/XPathEvaluator.idl:

2010-07-10  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, GTK build fix.

        * bindings/gobject/GObjectEventListener.h:

2010-07-10  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Darin Adler.

        Remove unnecessary includes in header files in WebCore/dom.
        https://bugs.webkit.org/show_bug.cgi?id=41941

        * css/StyleMedia.h:
        * dom/BeforeLoadEvent.h:
        * dom/CustomEvent.h:
        * dom/DOMStringMap.h:
        * dom/DeviceOrientationEvent.h:
        * dom/EventListener.h:
        * dom/MessagePort.h:
        * dom/Node.cpp:
        * dom/NodeFilter.h:
        * dom/NodeRareData.h:
        * dom/RegisteredEventListener.h:
        * dom/SelectorNodeList.cpp:
        * dom/SelectorNodeList.h:
        * dom/StyleElement.h:
        * dom/Traversal.h:

2010-07-09  Tony Chang  <tony@chromium.org>

        Reviewed by Ojan Vafai.

        crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting pre
        https://bugs.webkit.org/show_bug.cgi?id=38231

        Test: editing/execCommand/indent-pre.html

        * editing/IndentOutdentCommand.cpp:
        (WebCore::countParagraphs):
        (WebCore::IndentOutdentCommand::indentRegion): Split text nodes into one node per paragraph
                                                       so moveParagraph doesn't get confused.
        (WebCore::IndentOutdentCommand::splitTextNodes):
        * editing/IndentOutdentCommand.h:

2010-07-09  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Darin Adler.

        Computed style is not implemented for padding-start, padding-end, margin-start, margin-end
        https://bugs.webkit.org/show_bug.cgi?id=41496

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::resolveDirectionAwareProperty): This function resolves the property ID for a direction aware property.
        * css/CSSProperty.h:
        * css/CSSStyleSelector.cpp: Use helper function.
        (WebCore::CSSStyleSelector::applyProperty):

2010-07-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTML5 tree builder should pass some LayoutTests
        https://bugs.webkit.org/show_bug.cgi?id=41991

        Before this patch, we weren't attaching text nodes to the render tree,
        which turns out to be important.  :)

        This patch fixes more than 10,000 LayoutTests.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attach):
        (WebCore::HTMLConstructionSite::attachAtSite):

2010-07-09  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Darin Adler.

        [WINCE] Buildfix for TextEncodingRegistry
        https://bugs.webkit.org/show_bug.cgi?id=41992

        Renamed TextCodecWince to TextCodecWinCE.

        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::buildBaseTextCodecMaps):
        (WebCore::extendTextCodecMaps):

2010-07-09  Leon Clarke  <leonclarke@google.com>

        Reviewed by Adam Barth.

        add support for link prefetching
        https://bugs.webkit.org/show_bug.cgi?id=3652

        Test: fast/dom/HTMLLinkElement/prefetch.html

        * Configurations/FeatureDefines.xcconfig:
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
        (WebCore::HTMLLinkElement::process):
        * html/HTMLLinkElement.h:
        (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
        * loader/Cache.cpp:
        (WebCore::createResource):
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::data):
        (WebCore::CachedResource::didAddClient):
        * loader/CachedResource.h:
        (WebCore::CachedResource::):
        (WebCore::CachedResource::error):
        (WebCore::CachedResource::isPrefetch):
        (WebCore::CachedResource::schedule):
        * loader/CachedScript.cpp:
        * loader/CachedScript.h:
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::requestLinkPrefetch):
        (WebCore::DocLoader::canRequest):
        (WebCore::DocLoader::incrementRequestCount):
        (WebCore::DocLoader::decrementRequestCount):
        * loader/DocLoader.h:
        * loader/loader.cpp:
        (WebCore::cachedResourceTypeToTargetType):
        (WebCore::Loader::determinePriority):
        (WebCore::Loader::load):
        (WebCore::Loader::Host::servePendingRequests):
        (WebCore::Loader::Host::didFinishLoading):
        (WebCore::Loader::Host::didFail):
        (WebCore::Loader::Host::didReceiveResponse):
        (WebCore::Loader::Host::cancelPendingRequests):
        * loader/loader.h:
        (WebCore::Loader::):
        * platform/network/ResourceRequestBase.h:
        (WebCore::ResourceRequestBase::):

2010-07-09  James Robinson  <jamesr@chromium.org>

        Unreviewed build fix.  Add #include to pick up ExceptionCode values for config (like Qt) where it's not picked up indirectly.

        * html/HTMLCanvasElement.cpp:

2010-07-09  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Adler.

        Removes CanvasSurface and moves all of its functionality to HTMLCanvasElement.
        https://bugs.webkit.org/show_bug.cgi?id=42005

        http://trac.webkit.org/changeset/55201 introduced a new base class for HTMLCanvasElement called CanvasSurface.
        The intention was that this would allow for code sharing with the then-proposed OffscreenCanvas.  However,
        there is no OffscreenCanvas and there's unlikely to be one soon.  Additionally CanvasSurface breaks
        encapsulation pretty badly by doing "static_cast<HTMLCanvasElement* const>(this)".  Until an abstraction is
        really needed we should just use HTMLCanvasElement when we want to talk about a canvas.

        This patch moves all of CanvasSurface's functionality back up to HTMLCanvasElement and reorders the header
        to be a bit more logical.

        Refactor with no behavior change, thus no new tests.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/CanvasSurface.cpp: Removed.
        * dom/CanvasSurface.h: Removed.
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
        (WebCore::HTMLCanvasElement::willDraw):
        (WebCore::HTMLCanvasElement::setSurfaceSize):
        (WebCore::HTMLCanvasElement::toDataURL):
        (WebCore::HTMLCanvasElement::convertLogicalToDevice):
        (WebCore::HTMLCanvasElement::securityOrigin):
        (WebCore::HTMLCanvasElement::styleSelector):
        (WebCore::HTMLCanvasElement::createImageBuffer):
        (WebCore::HTMLCanvasElement::drawingContext):
        (WebCore::HTMLCanvasElement::buffer):
        (WebCore::HTMLCanvasElement::baseTransform):
        * html/HTMLCanvasElement.h:
        (WebCore::HTMLCanvasElement::setObserver):
        (WebCore::HTMLCanvasElement::width):
        (WebCore::HTMLCanvasElement::height):
        (WebCore::HTMLCanvasElement::size):
        (WebCore::HTMLCanvasElement::toDataURL):
        (WebCore::HTMLCanvasElement::setOriginTainted):
        (WebCore::HTMLCanvasElement::originClean):
        (WebCore::HTMLCanvasElement::hasCreatedImageBuffer):

2010-07-09  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Calling layoutTestController.layerTreeAsText() should update layout
        https://bugs.webkit.org/show_bug.cgi?id=41818
        
        Need to call updateLayout() before we check for any layers, not after,
        since layout will update compositing, and may create layers.

        * page/Frame.cpp:
        (WebCore::Frame::layerTreeAsText):

2010-07-09  Kenneth Russell  <kbr@google.com>

        Reviewed by Nate Chapin.

        bufferSubData causes crash in WebGLBuffer::associateBufferSubData
        https://bugs.webkit.org/show_bug.cgi?id=42004

        Test: fast/canvas/webgl/index-validation-crash-with-buffer-sub-data.html

        * html/canvas/WebGLBuffer.cpp:
        (WebCore::WebGLBuffer::associateBufferData):
         - Allocate m_elementArrayBuffer for entry point taking only size.
           Guard against allocation failures of m_elementArrayBuffer.
        (WebCore::WebGLBuffer::associateBufferSubData):
         - Guard against any possibility of crashes due to m_elementArrayBuffer being NULL.

2010-07-09  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, but pre-approved by Eric Seidel.

        Remove unnecessary includes in header files in WebCore/css.
        https://bugs.webkit.org/show_bug.cgi?id=41941

        * css/CSSComputedStyleDeclaration.h:
        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData):
        * css/CSSFontFaceSource.h:
        * css/CSSPrimitiveValueMappings.h:
        * css/StyleMedia.h:

2010-07-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Get rid of manual case maps in HTMLTreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=42000

        No functional change, thus no tests.

        * html/HTMLTreeBuilder.cpp:

2010-07-09  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Dimitri Glazkov.

        Implement performance.timing.navigationStart
        https://bugs.webkit.org/show_bug.cgi?id=41815

        See: http://dev.w3.org/2006/webapi/WebTiming/#nt-navigation-start

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadWithDocumentLoader):
        * loader/FrameLoaderTypes.h:
        (WebCore::FrameLoadTimeline::FrameLoadTimeline):
        * page/Timing.cpp:
        (WebCore::Timing::navigationStart):

2010-07-09  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] GraphicsLayerQt must have syncCompositingStateForThisLayerOnly() implemented
        https://bugs.webkit.org/show_bug.cgi?id=41954

        Add GraphicsLayerQt::syncCompositingStateForThisLayerOnly, a non-recursive
        implementation of GraphicsLayerQt::syncCompositingState and which targets
        the current layer only.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQt::syncCompositingStateForThisLayerOnly):
        * platform/graphics/qt/GraphicsLayerQt.h:

2010-07-09  David Kozub  <zub@linux.fjfi.cvut.cz>

        Reviewed by Darin Adler.

        Fix build by adding missing html/TimeRanges.idl to CMakeLists.txt.

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

        No functional changes, thus no tests.

        * CMakeLists.txt:

2010-07-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix SVG tag name casing for HTMLTreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=41998

        Tested by html5lib/runner.html

        * html/HTMLTreeBuilder.cpp:
        (WebCore::):

2010-07-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Implement SVG attribute case mapping for HTMLTreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=41949

        Tested by html5lib/runner.html.

        * html/HTMLTreeBuilder.cpp:

2010-07-09  Andy Estes  <aestes@apple.com>

        Reviewed by Adele Peterson.

        Remove the workaround for a Core Animation bug on platforms where the
        bug has been fixed.
        https://bugs.webkit.org/show_bug.cgi?id=41927
        <rdar://problem/7920153>

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): Add
        a compile-time check for platforms that have a Core Animation bug that
        needs working around.

2010-07-08  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Nate Chapin.

        Implement unloadEventEnd, loadEventStart, and loadEventEnd for Web Timing
        https://bugs.webkit.org/show_bug.cgi?id=41332

        Test: fast/dom/webtiming.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::loadWithDocumentLoader):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::frameLoadTimeline):
        * loader/FrameLoaderTypes.h:
        (WebCore::FrameLoadTimeline::FrameLoadTimeline):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::dispatchLoadEvent):
        * page/Timing.cpp:
        (WebCore::Timing::navigationStart):
        (WebCore::Timing::unloadEventEnd):
        (WebCore::Timing::loadEventStart):
        (WebCore::Timing::loadEventEnd):
        * page/Timing.h:
        * page/Timing.idl:

2010-07-09  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, but pre-approved by Eric Seidel.

        Remove all unnecessary includes from the header files in WebCore/accessibility/.
        https://bugs.webkit.org/show_bug.cgi?id=41941

        * accessibility/AXObjectCache.h:
        * accessibility/AccessibilityListBox.cpp:
        * accessibility/AccessibilityListBox.h:
        * accessibility/AccessibilityMenuList.h:
        * accessibility/mac/AccessibilityObjectWrapper.h:

2010-07-09  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kent Tamura.

        [WINCE] Buildfix for EventHandlerWin
        https://bugs.webkit.org/show_bug.cgi?id=41909

        Use Clipboard.h instead of ClipboardWin.h on WinCE.

        * page/win/EventHandlerWin.cpp:

2010-07-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r62946.
        http://trac.webkit.org/changeset/62946
        https://bugs.webkit.org/show_bug.cgi?id=41965

        AppCache inspector support should be enabled in WebKit ToT.
        (Requested by pfeldman_ on #webkit).

        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        (WebInspector.StoragePanel.prototype.reset):
        (WebInspector.StoragePanel.prototype.addApplicationCache):

2010-07-09  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        Implement MathML mathcolor & mathbackground attributes
        https://bugs.webkit.org/show_bug.cgi?id=41895

        Test: mathml/presentation/attributes.xhtml

        * dom/MappedAttributeEntry.h:
        (WebCore::):
        * mathml/MathMLElement.cpp:
        (WebCore::MathMLElement::MathMLElement):
        (WebCore::MathMLElement::mapToEntry):
        (WebCore::MathMLElement::parseMappedAttribute):
        * mathml/MathMLElement.h:
        * mathml/mathattrs.in:

2010-07-09  Xiaomei Ji  <xji@chromium.org>

        Reviewed by David Levin.

        Fix characters with unicode-bidi-mirror property are not correctly
        mirrored in Linux.
        https://bugs.webkit.org/show_bug.cgi?id=41305

        Since harfbuzz does not do mirroring, chromium should iterate each
        character in the string and mirror it if needed before passing the
        string to harfbuzz for shaping.

        Test: fast/text/international/bidi-mirror-he-ar.html

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::TextRunWalker):
        (WebCore::TextRunWalker::~TextRunWalker):
        (WebCore::TextRunWalker::mirrorCharacters):


2010-07-09  Anders Carlsson  <andersca@apple.com>

        Reviewed by Simon Fraser.

        Instantiate Netscape plug-ins, pass geometry information to Plugin
        https://bugs.webkit.org/show_bug.cgi?id=41960

        * WebCore.exp.in:
        Export ScrollView::contentsToWindow.

2010-07-09  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kent Tamura.

        [WINCE] Buildfix for FrameWince after r47440
        https://bugs.webkit.org/show_bug.cgi?id=41904

        * page/wince/FrameWince.cpp: Added property svn:eol-style.
        (WebCore::computePageRectsForFrame):
        (WebCore::imageFromSelection):

2010-07-09  Vitaly Repeshko  <vitalyr@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Call JS gc in a fresh context to avoid retaining the current one.
        https://bugs.webkit.org/show_bug.cgi?id=41963
        http://crbug.com/46571

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::collectGarbage):

2010-07-09  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Crash with uniform array test
        https://bugs.webkit.org/show_bug.cgi?id=36028

        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::vertexAttribAndUniformHelperf):
        (WebCore::uniformHelperi):
        (WebCore::uniformMatrixHelper):
         - Fixed type tests and casting of incoming arrays.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getUniform):
         - Fixed crash when null WebGLUniform is passed to getUniform.

2010-07-09  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX:  text editing not spoken by VO on web view contenteditable textbox
        https://bugs.webkit.org/show_bug.cgi?id=41912

        Test: platform/mac/accessibility/selection-value-changes-for-aria-textbox.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::renderObjectIsObservable):

2010-07-09  Michael Nordman  <michaeln@google.com>

        Reviewed by Dumitru Daniliuc.

        Use class ProgressEvent when raising appcache related progress events and
        set the 'total', 'loaded', and 'lengthComputable' attributes.
        Also raise the final progress event with the 'total' and 'loaded' attribute
        values are equal to one another to keep pace with the spec for this feature.
        https://bugs.webkit.org/show_bug.cgi?id=37602

        Test: http/tests/appcache/progress-counter.html

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        (WebCore::ApplicationCacheGroup::startLoadingEntry):
        (WebCore::CallCacheListenerTask::create):
        (WebCore::CallCacheListenerTask::performTask):
        (WebCore::CallCacheListenerTask::CallCacheListenerTask):
        (WebCore::ApplicationCacheGroup::postListenerTask):
        * loader/appcache/ApplicationCacheGroup.h:
        (WebCore::ApplicationCacheGroup::postListenerTask):
        * loader/appcache/ApplicationCacheHost.cpp:
        (WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
        (WebCore::ApplicationCacheHost::stopDeferringEvents):
        (WebCore::ApplicationCacheHost::dispatchDOMEvent):
        * loader/appcache/ApplicationCacheHost.h:
        (WebCore::ApplicationCacheHost::DeferredEvent::DeferredEvent):

2010-07-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

        Reviewed by Gustavo Noronha Silva.

        Bug 41340 - [GStreamer] Subtle race condition during seeks
        https://bugs.webkit.org/show_bug.cgi?id=41340

        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (webKitWebSrcStop):
        (webKitWebSrcNeedDataMainCb):
        (webKitWebSrcNeedDataCb):
        (webKitWebSrcEnoughDataMainCb):
        (webKitWebSrcEnoughDataCb):
        (webKitWebSrcSeekDataCb):
        (StreamingClient::didFinishLoading):
        Fix two subtle race conditions that can happen during seeks:
        - The timeout callback could be called before the callback ID is
          assigned to the instance private data. This causes the ID to
          be set after the callback has finished and breaks all future
          processing.
        - The source must not go EOS while a seek is pending because
          this confuses appsrc due to the different threads involved here.

2010-07-09  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Removed hard-coded enabled default of video support

        Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.

        * WebCore.pri:

2010-07-09  Ben Murdoch  <benm@google.com>

        Reviewed by Steve Block.

        [Arm] Missing NaN check in XPath substring function
        https://bugs.webkit.org/show_bug.cgi?id=41862

        Test: fast/xpath/substring-nan-position.html

        * xml/XPathFunctions.cpp:
        (WebCore::XPath::FunSubstring::evaluate): Add an isnan()
            to the value returned from evaluating the position
            argument and early out and return the empty string.

2010-07-09  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Prospective build fix.

        Moved the media element detection from WebCore.pro into WebCore.pri, where
        all the features are detected. This is also used by build-webkit to determine
        the defaults, which may be the reason for the build breakage.

        * WebCore.pri:
        * WebCore.pro:

2010-07-09  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Re-enable support for QtMultimediaKit as backend for the media elements

        Experimental support is re-enabled if QtMobility is available and the Qt
        version is 4.7 or above.

        * WebCore.pro:
        * platform/graphics/MediaPlayer.cpp:
        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        (WebCore::MediaPlayerPrivate::supportsType): Adapt to latest QtMultimediaKit API changes.
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::totalBytes):

2010-07-09  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: do not show default tooltip when detailed network info is available.

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

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype.reset):
        (WebInspector.ResourcesPanel.prototype.showResource):
        (WebInspector.ResourcesPanel.prototype._getPopoverAnchor):
        (WebInspector.ResourcesPanel.prototype._showPopover):
        (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):

2010-07-09  François Sausset  <sausset@gmail.com>

        Reviewed by Beth Dakin.

        Correct the default font variant of mtext (regular instead of italic).
        https://bugs.webkit.org/show_bug.cgi?id=41626

        Add test to be sure that only <mi> elements use italic fonts by default.
        Update test with fractions to take into account the correct behaviour of mtext (regular instead of italic).

        * css/mathml.css:
        (mi):

2010-07-09  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Dimitri Glazkov.

        Implement performance.navigation.type
        https://bugs.webkit.org/show_bug.cgi?id=41564

        Tests: fast/dom/navigation-type-back-forward.html
               fast/dom/navigation-type-navigate.html
               fast/dom/navigation-type-reload.html

        * page/Navigation.cpp:
        (WebCore::Navigation::type):
        * page/Navigation.h:
        (WebCore::Navigation::):
        * page/Navigation.idl:

2010-07-09  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: hide AppCache until implemented.

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

        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        (WebInspector.StoragePanel.prototype.reset):
        (WebInspector.StoragePanel.prototype.addApplicationCache):

2010-07-09  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        Set the good default behaviour for the columalign attribute on MathML mtable element
        https://bugs.webkit.org/show_bug.cgi?id=41631

        Test update: mathml/tables.xhtml

        * css/mathml.css:
        (math):

2010-07-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r62937.
        http://trac.webkit.org/changeset/62937
        https://bugs.webkit.org/show_bug.cgi?id=41955

        Crashes SnowLeopard leaks and Windows debug bot in fast/xsl
        /xslt-relative-path.xml, with assertion in
        XSLTProcessorLibxslt.cpp:264 (Requested by WildFox on
        #webkit).

        * xml/XSLTProcessor.h:
        (WebCore::XSLTProcessor::XSLTProcessor):
        * xml/XSLTProcessorLibxslt.cpp:
        (WebCore::docLoaderFunc):
        (WebCore::setXSLTLoadCallBack):
        (WebCore::xsltStylesheetPointer):
        (WebCore::XSLTProcessor::transformToString):

2010-07-09  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Laszlo Gombos.

        NotificationPresenter needs a cancelRequestPermission API
        https://bugs.webkit.org/show_bug.cgi?id=41783

        Updated NotificationPresenter API, to use ScriptExecutionContext instead of origin.
        Added new API NotificationPresenter::cancelRequestsForPermision
        The new API will be implemented and a test will be added in a followup patch.

        * notifications/Notification.cpp:
        (WebCore::Notification::Notification):
        * notifications/NotificationCenter.cpp:
        (WebCore::NotificationCenter::checkPermission):
        (WebCore::NotificationCenter::requestPermission):
        (WebCore::NotificationCenter::disconnectFrame):
        * notifications/NotificationCenter.h:
        * notifications/NotificationPresenter.h:

2010-07-09  Andreas Wictor  <andreas.wictor@xcerion.com>

        Reviewed by Alexey Proskuryakov.

        Remove global variables from XSLTProcessorLibxslt.cpp
        https://bugs.webkit.org/show_bug.cgi?id=41348

        Remove the globalProcessor and globalDocLoader global variables
        by using the _private field that exists on most libxml structs.

        No new tests, existing tests covers this.

        * xml/XSLTProcessor.h:
        (WebCore::XSLTProcessor::sourceNode):
        (WebCore::XSLTProcessor::XSLTProcessor):
        * xml/XSLTProcessorLibxslt.cpp:
        (WebCore::registeredXSLTProcessors):
        (WebCore::registeredXSLStyleSheets):
        (WebCore::docLoaderFunc):
        (WebCore::clearSavedStyleSheetPointers):
        (WebCore::xsltStylesheetPointer):
        (WebCore::XSLTProcessor::transformToString):

2010-07-09  Adam Barth  <abarth@webkit.org>

        Unreviewed build fix.

        We recently taught the HTMLTokenizer to recognize self-closing tags,
        <http://trac.webkit.org/changeset/62926>, but that confused the
        LegacyHTMLTreeBuilder.  It turns out that it's much happier if we never
        say a tag is self-closing.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::convertToOldStyle):

2010-07-09  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Rob Buis.

        svg/custom/use-instanceRoot-event-bubbling.xhtml test crashes
        https://bugs.webkit.org/show_bug.cgi?id=41931

        Be careful to not mutate (marking it for recreation) the shadow tree, while building it.
        The recent change that cloneNode() properly synchronizes the style/SVG attributes caused this problem.

        Fixes crash seen on the buildbots in svg/custom/use-instanceRoot-event-bubbling.xhtml.

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::SVGUseElement):
        (WebCore::SVGUseElement::recalcStyle):
        (WebCore::SVGUseElement::buildShadowAndInstanceTree):
        (WebCore::SVGUseElement::invalidateShadowTree):
        * svg/SVGUseElement.h:
        (WebCore::SVGUseElement::setUpdatesBlocked):

2010-07-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Skip leading newlines in <textarea>
        https://bugs.webkit.org/show_bug.cgi?id=41947

        We would have caught this earlier with the ASSERT.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):

2010-07-08  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Provide detailed network info in the resources panel.

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

        * English.lproj/localizedStrings.js:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::didReceiveResponse):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::InspectorResource):
        (WebCore::InspectorResource::updateResponse):
        (WebCore::InspectorResource::updateScriptObject):
        (WebCore::InspectorResource::buildObjectForTiming):
        * inspector/InspectorResource.h:
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype.elementsToRestoreScrollPositionsFor):
        (WebInspector.ResourcesPanel.prototype._getPopoverAnchor):
        (WebInspector.ResourcesPanel.prototype._showPopover):
        (WebInspector.ResourcesPanel.prototype.hide):
        (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
        (WebInspector.ResourceGraph):
        * inspector/front-end/inspector.js:
        (WebInspector.updateResource):
        * platform/network/ResourceLoadTiming.h:
        (WebCore::ResourceLoadTiming::create):
        (WebCore::ResourceLoadTiming::deepCopy):
        (WebCore::ResourceLoadTiming::operator==):
        (WebCore::ResourceLoadTiming::ResourceLoadTiming):
        * platform/network/ResourceRequestBase.h:
        (WebCore::ResourceRequestBase::reportLoadTiming):
        (WebCore::ResourceRequestBase::setReportLoadTiming):
        (WebCore::ResourceRequestBase::ResourceRequestBase):
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::connectionID):
        (WebCore::ResourceResponseBase::setConnectionID):
        * platform/network/ResourceResponseBase.h:

2010-07-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Implement self closing start tag state in the tokenizer
        https://bugs.webkit.org/show_bug.cgi?id=41946

        Amazingly we got this far w/o needing self closing.
        The LegacyHTMLTreeBuilder clearly uses the self-closing
        state, but the fact that we never exposed it seems to
        not have caused any test failures.  Sad.

        The new HTMLTreeBuilder only needs the self closing state
        for foreign content mode (and a few parse error cases).

        * html/HTMLToken.h:
        (WebCore::HTMLToken::setSelfClosing):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::):

2010-07-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add basic "in foreign content" support to the TreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=41943

        This is covered by numerous tests in html5lib/runner.html.

        "in foreign content" mode requires us to be able to process
        tokens using the "secondary insertion mode".  We have to set
        a fake insertion mode to do that, so much of this code is enabling
        setting of fake insertion modes, and then later restoration of the
        insertion mode after execution.

        There is a lot more of foreign content mode to implement, but this is
        a good start resulting in huge test progressions.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
         - Use createHTMLElementAndAttachToCurrent instead of copy/paste code.
         - No need to include HTMLElementFactory in this file.
        * html/HTMLConstructionSite.h:
         - RedirectToFosterParentGuard does not need to be a friend class.
        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::isOnlyHTMLElementsInScope):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::setInsertionMode):
        (WebCore::HTMLTreeBuilder::isFakeInsertionMode):
        (WebCore::HTMLTreeBuilder::setFakeInsertionMode):

2010-07-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Coalesce text nodes when foster parenting
        https://bugs.webkit.org/show_bug.cgi?id=41921

        Introduces the notion of an AttachmentSite to the overall
        HTMLConstructionSite.  Maybe we should rename HTMLConstructionSite to
        HTMLConstructionArea since we construct things all over the tree?  :)

        There's something wrong in the internal layering in this class, but I
        can't quite see what it is.  I added a FIXME for the some of the
        symptoms.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attach):
        (WebCore::HTMLConstructionSite::attachAtSite):
        (WebCore::HTMLConstructionSite::insertTextNode):
        (WebCore::HTMLConstructionSite::findFosterSite):
        (WebCore::HTMLConstructionSite::fosterParent):
        * html/HTMLConstructionSite.h:

2010-07-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        RenderSVGRoot does not include border/padding while repainting
        https://bugs.webkit.org/show_bug.cgi?id=41854

        RenderSVGRoot does not include border/padding in the repaint rect.
        clippedOverflowRectForRepaint() was missing. Affects all DRT results,
        as <svg> now gets properly sized.

        Test: svg/custom/repaint-moving-svg-and-div.xhtml

        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
        (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
        * rendering/RenderSVGRoot.h:

2010-07-09  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Nikolas Zimmermann.

        Add RuntimeEnabledFeatures::timeRangesEnabled() required by r62880

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

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore::RuntimeEnabledFeatures::timeRangesEnabled):
                Add in timeRangesEnabled() implementation.
        * bindings/generic/RuntimeEnabledFeatures.h:
                Add in timeRangesEnabled() declaration.


2010-07-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add setInsertionMode setter in preparation for "in foreign content" mode
        https://bugs.webkit.org/show_bug.cgi?id=41942

        "in foreign content" mode needs to be able to use a fake
        insertion mode for processing.  We need to be able to save the
        original insertion mode, set a fake one, and then restore the original
        if it wasn't changed.  To detect changes, we need all callsites to
        use a setInsertionMode accessor instead of m_insertionMode =

        No functional changes, thus no tests.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
        (WebCore::HTMLTreeBuilder::setInsertionModeAndEnd):
        (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
        (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
        (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processDefaultForInTableTextMode):
        (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
        (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
        (WebCore::HTMLTreeBuilder::processScriptStartTag):

2010-07-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add insertForeignElement in preparation for adding "in foreign content" support
        https://bugs.webkit.org/show_bug.cgi?id=41940

        No functional changes, thus no tests.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertForeignElement):
        (WebCore::HTMLConstructionSite::createElement):
        (WebCore::HTMLConstructionSite::createHTMLElement):
        * html/HTMLConstructionSite.h:

2010-07-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implementing pending table characters
        https://bugs.webkit.org/show_bug.cgi?id=41916

        This turned out to not be as scary as I thought it would be.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processDoctypeToken):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        (WebCore::HTMLTreeBuilder::processDefaultForInTableTextMode):
        * html/HTMLTreeBuilder.h:

2010-07-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Handle whitespace correctly
        https://bugs.webkit.org/show_bug.cgi?id=41907

        This patch introduces an extra memcpy in the character token pipeline.
        I'll remove the memcpy in a future patch.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertTextNode):
        * html/HTMLConstructionSite.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processCharacter):
        * html/HTMLTreeBuilder.h:

2010-07-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Move more mode handling into functions for later re-use
        https://bugs.webkit.org/show_bug.cgi?id=41939

        No functional changes, thus no tests.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
        (WebCore::HTMLTreeBuilder::processEndTagForInRow):
        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
        (WebCore::HTMLTreeBuilder::processEndTag):
        * html/HTMLTreeBuilder.h:

2010-07-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add new popUntilPopped functions to clean up code
        https://bugs.webkit.org/show_bug.cgi?id=41936

        Pretty self explanatory.  Much awesome code reduction.

        No functional changes, thus no tests.

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::popUntilPopped):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
        (WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
        (WebCore::HTMLTreeBuilder::processEndTag):

2010-07-09  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Just renaming (discussed with Adam Barth).

        Rename createElement* to createHTMLElement* to better reflect
        behavior.  This is in preparation for adding foreign content support.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::createHTMLElementAndAttachToCurrent):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
        (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
        (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
        (WebCore::HTMLConstructionSite::insertHTMLElement):
        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
        (WebCore::HTMLConstructionSite::createHTMLElement):
        * html/HTMLConstructionSite.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2010-07-09  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Just renaming (discussed with Adam Barth).

        Rename insertElement to insertHTMLElement and
        insertSelfClosingElement to insertSelfClosingHTMLElement
        to better reflect what they actually do.  This is in preparation
        for adding foreign content support.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertHTMLElement):
        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
        (WebCore::HTMLConstructionSite::insertFormattingElement):
        (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
        (WebCore::HTMLConstructionSite::fosterParent):
        * html/HTMLConstructionSite.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
        (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
        (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):

2010-07-08  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Eric Seidel.

        Implement SVGSVGElement.getElementById
        https://bugs.webkit.org/show_bug.cgi?id=41655

        Implement getElementById for SVGSVGElement by trying to
        reuse Document.getElementById. If that fails to find an
        SVG element in the document fragent do a subtree search.

        Test: svg/custom/svg-getelementid.xhtml

        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::getElementById):
        * svg/SVGSVGElement.h:
        * svg/SVGSVGElement.idl:

2010-07-08  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Unwrap a few || blocks for easier readability
        https://bugs.webkit.org/show_bug.cgi?id=41838

        No functional change, thus no tests.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::adjustedLexerState):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processStartTagForInHead):

2010-07-08  Sam Magnuson  <smagnuson@netflix.com>

        Reviewed by Simon Hausmann.

        [Qt] for debugging purposes nice I'm contributing back my FPS
        counter in the AnimationQtBase
        https://bugs.webkit.org/show_bug.cgi?id=40381

        Simply start a timer and count frames in the AnimationQtBase and
        spit out the FPS count at the end of a single animation.

        No new tests: this is a simple debugging aid.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::AnimationQt::updateState):
        (WebCore::AnimationQt::updateCurrentTime):
        (WebCore::TransformAnimationQt::updateState):
        (WebCore::OpacityAnimationQt::updateState):

2010-07-08  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: migrate InspectorDOMAgent to the generated version of
        InspectorFrontend interface. This is the next step on the way to
        Remote Debugging.

        * bindings/js/ScriptEventListener.cpp:
        (WebCore::eventListenerHandlerBody):
        (WebCore::eventListenerHandlerLocation):
        * bindings/js/ScriptEventListener.h:
        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::eventListenerHandlerBody):
        (WebCore::eventListenerHandlerLocation):
        * bindings/v8/ScriptEventListener.h:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::inspectorStyleSheet):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::inspectorFrontend2):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::setDocument):
        (WebCore::InspectorDOMAgent::handleEvent):
        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
        (WebCore::InspectorDOMAgent::getEventListenersForNode):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
        (WebCore::InspectorDOMAgent::didInsertDOMNode):
        (WebCore::InspectorDOMAgent::getStyles):
        (WebCore::InspectorDOMAgent::getAllStyles):
        (WebCore::InspectorDOMAgent::getStyleSheet):
        (WebCore::InspectorDOMAgent::getRuleRangesForStyleSheetId):
        (WebCore::InspectorDOMAgent::getInlineStyle):
        (WebCore::InspectorDOMAgent::getComputedStyle):
        (WebCore::InspectorDOMAgent::buildObjectForAttributeStyles):
        (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
        (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
        (WebCore::InspectorDOMAgent::applyStyleText):
        (WebCore::InspectorDOMAgent::toggleStyleEnabled):
        (WebCore::InspectorDOMAgent::setRuleSelector):
        (WebCore::InspectorDOMAgent::addRule):
        (WebCore::InspectorDOMAgent::buildObjectForStyle):
        (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
        (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
        (WebCore::InspectorDOMAgent::buildObjectForRule):
        (WebCore::InspectorDOMAgent::toArray):
        (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
        * inspector/InspectorDOMAgent.h:
        (WebCore::InspectorDOMAgent::create):
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * inspector/InspectorFrontend2.idl:
        * inspector/front-end/inspector.js:
        (WebInspector.dispatchMessageFromBackend):

2010-07-08  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        compositing/iframes/iframe-resize.html displays incorrectly after the resize
        https://bugs.webkit.org/show_bug.cgi?id=41794
        
        The clip and scroll layers of a composited iframe's RenderLayerCompositor are updated from
        from updateGraphicsLayerGeometry(), but this is too early to get the correct layoutWidth and
        layoutHeight from the FrameView which happen later in layout. So when a widget size changes,
        call updateAfterWidgetResize() directly on the RenderLayerBacking (if any).

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateAfterWidgetResize): New method that updates the clip
        and scroll layers of the iframe's content RenderLayerCompositor.
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call updateAfterWidgetResize()
        * rendering/RenderLayerBacking.h: Add updateAfterWidgetResize().
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::setWidgetGeometry): Call updateAfterWidgetResize().

2010-07-08  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Calling layoutTestController.layerTreeAsText() should update layout
        https://bugs.webkit.org/show_bug.cgi?id=41818

        Call updateLayout() on the document before obtaining the layer tree.
        This will update compositing layers.
        
        * page/Frame.cpp:
        (WebCore::Frame::layerTreeAsText):

2010-07-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Get my head wrapped around processCharacter
        https://bugs.webkit.org/show_bug.cgi?id=41812

        The bulk of the patch is just stubbing out functions to document what
        the spec tells us to do.  I'll implement these functions in subsequent
        patches.

        * html/HTMLConstructionSite.h:
        (WebCore::HTMLConstructionSite::insertLeadingWhitespace):
        (WebCore::HTMLConstructionSite::insertLeadingWhitespaceWithActiveFormattingElements):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processCharacter):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::skipLeadingWhitespace):

2010-07-08  Tony Chang  <tony@chromium.org>

        Reviewed by Ojan Vafai.

        WebCore::InsertLineBreakCommand::shouldUseBreakElement ReadAV@NULL
        https://bugs.webkit.org/show_bug.cgi?id=30116
        Fixing the crash causes text insertions on hidden elements to get ignored
        (not a new bug).  This is https://bugs.webkit.org/show_bug.cgi?id=40342

        Test: editing/inserting/return-key-in-hidden-textarea.html

        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):

2010-07-08  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=41923
        TimeRanges should expose a JS constructor

        * html/TimeRanges.idl: Remove [OmitConstructor].
        * page/DOMWindow.idl: Add constructor.

2010-07-08  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Ojan Vafai.

        Add missing padding-end and margin-end CSS properties.
        https://bugs.webkit.org/show_bug.cgi?id=25761

        Tests: fast/css/margin-start-end.html
               fast/css/padding-start-end.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * inspector/front-end/SourceCSSTokenizer.js:
        (WebInspector.SourceCSSTokenizer):

2010-07-08  Aaron Boodman  <aa@chromium.org>

        Reviewed by Timothy Hatcher.

        Add the ability for user scripts and user styles to affect just the top frame.

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

        Tests: userscripts/user-script-all-frames.html
               userscripts/user-script-top-frame-only.html
               userscripts/user-style-all-frames.html
               userscripts/user-style-top-frame-only.html

        * WebCore.base.exp: Update PageGroup method signatures.
        * dom/Document.cpp:
        (WebCore::Document::pageGroupUserSheets): Check allFrames before injecting.
        * page/Frame.cpp:
        (WebCore::Frame::injectUserScriptsForWorld): Ditto.
        * page/PageGroup.cpp:
        (WebCore::PageGroup::addUserScriptToWorld):
        (WebCore::PageGroup::addUserStyleSheetToWorld):
        * page/PageGroup.h:
        * page/UserScript.h:
        (WebCore::UserScript::UserScript):
        (WebCore::UserScript::injectedFrames):
        * page/UserScriptTypes.h:
        (WebCore::):
        * page/UserStyleSheet.h:
        (WebCore::UserStyleSheet::UserStyleSheet):
        (WebCore::UserStyleSheet::injectedFrames):

2010-07-08  Adele Peterson  <adele@apple.com>

        Reviewed by Jon Honeycutt, Adam Roben, and Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=41721
        <rdar://problem/8158561> Missing plug-in indicator should have a pressed state

        Test: plugins/clicking-missing-plugin-fires-delegate.html

        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::HTMLPlugInElement): Initialize m_isCapturingMouseEvents.
        (WebCore::HTMLPlugInElement::detach): If we're still capturing when getting detached, clear the capturing node on the EventHandler.
        (WebCore::HTMLPlugInElement::defaultEventHandler): Call handleMissingPluginIndicatorEvent when the missing plugin indicator is showing.
        * html/HTMLPlugInElement.h:
        (WebCore::HTMLPlugInElement::isCapturingMouseEvents):
        (WebCore::HTMLPlugInElement::setIsCapturingMouseEvents):
        * page/ChromeClient.h:
        (WebCore::ChromeClient::shouldMissingPluginMessageBeButton): Added default implementation.
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::replacementTextRoundedRectPressedColor):
        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
        (WebCore::RenderEmbeddedObject::setMissingPluginIndicatorIsPressed): Added.  Causes a repaint when the state changes.
        (WebCore::RenderEmbeddedObject::paintReplaced): Call getReplacementTextGeometry.
        (WebCore::RenderEmbeddedObject::getReplacementTextGeometry): Factored this out so it can be used in paintReplaced and in isInMissingPluginIndicator.
        (WebCore::RenderEmbeddedObject::isInMissingPluginIndicator): Hit test to see if the mouse event is in the missing plugin indicator.
        (WebCore::RenderEmbeddedObject::handleMissingPluginIndicatorEvent): Capture mouse events as needed and track the pressed appearance.
        * rendering/RenderEmbeddedObject.h:

2010-07-08  James Robinson  <jamesr@google.com>

        Reviewed by Darin Fisher.

        Allow resizing and getting the texture id from an offscreen GLES2Context
        https://bugs.webkit.org/show_bug.cgi?id=41828

        When using an offscreen GLES2Context the caller needs to be able to resize the backing store
        managed by the embedder and get access to a texture id to pass to the compositor.  WebGL
        does these actions in an indirect way, it will be refactored to use this path.

        * platform/chromium/GLES2Context.h:

2010-07-02  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Adam Barth.

        Crash in RenderObject::containingBlock when clearing selection in a display:none node.
        https://bugs.webkit.org/show_bug.cgi?id=41523

        updateStyleIfNeeded before clearing the selection in the RenderView. Otherwise,
        m_selectionStart and m_selectionEnd in RenderView point to garbage object.
        This fixes the crash because updateStyleIfNeeded clears the selection before
        clobbering nodes that contain the selection.

        Test: editing/selection/crash-on-clear-selection.html

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

2010-07-08  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Xan Lopez.

        Correct a mistake in calculating squiggle extents.  The entire
        quantity was being divided by two, rather than just the unitWidth.
        This error caused the squiggle to be about half the expected length.

        * platform/graphics/cairo/DrawErrorUnderline.h:
        (drawErrorUnderline):

2010-07-08  John Abd-El-Malek  <jam@chromium.org>

        Reviewed by Darin Fisher.

        [V8] Navigation policy doesn't play nicely with pepper plugins
        https://bugs.webkit.org/show_bug.cgi?id=41864

        * bindings/v8/V8Utilities.cpp:
        (WebCore::callingOrEnteredFrame):
        (WebCore::shouldAllowNavigation):
        (WebCore::navigateIfAllowed):

2010-07-08  Jon Honeycutt  <jhoneycutt@apple.com>

        Missing plug-ins may cause an assertion failure.
        https://bugs.webkit.org/show_bug.cgi?id=41900

        Reviewed by Adele Peterson.

        Test: plugins/missing-plugin.html

        * plugins/PluginView.cpp:
        (WebCore::PluginView::~PluginView):
        Check whether m_instance is null before trying to remove it from the
        map. Trying to remove a null instance results in an assertion failure.
        (WebCore::PluginView::PluginView):
        Initialize m_instance to 0, because there is an early return that may
        skip its being assigned its proper value.

2010-07-08  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        Fix a test failure seen only on the Leopard bot.

        * bindings/js/JSSharedWorkerCustom.cpp:
        (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
        If SharedWorker::create returns an exception, don't try to create a wrapper
        for its return value, which can be 0.

2010-07-08  Albert J. Wong  <ajwong@chromium.org>

        Not reviewed, build break fix for chromium.

        A new MediaControlElementType enum was added which caused a warning in
        the Chromium build.

        * rendering/RenderMediaControlsChromium.cpp:
        (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
            Add MediaVolumeSliderMuteButton enumartion entry.

2010-07-08  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin.

        Remove IDL declarations and stubs for navigator.registerProtocolHandler and navigator.registerContentHandler.
        https://bugs.webkit.org/show_bug.cgi?id=41878

        This is practically a rollback of http://trac.webkit.org/changeset/50477.

        * page/Chrome.cpp:
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/Navigator.cpp:
        * page/Navigator.h:
        * page/Navigator.idl:

2010-07-08  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Darin Adler.

        Fix adoptRef assertion failures caused by stack-allocated ResourceHandle objects
        https://bugs.webkit.org/show_bug.cgi?id=41823

        Create the ResourceHandle manually for now instead of calling
        ::create, since that methods does a few extra checks that make us
        fail a couple of HTTP tests.

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

2010-07-08  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=41886
        Shorten access control failure explanation messages

        * loader/CrossOriginAccessControl.cpp:
        (WebCore::passesAccessControlCheck):
        * loader/CrossOriginPreflightResultCache.cpp:
        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
        Removed "response header field" parts from error text - it's long, but doesn't add much
        to header field name.

        * platform/network/ResourceErrorBase.cpp:
        * platform/network/ResourceErrorBase.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::didFail):
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
        (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
        (WebCore::DocumentThreadableLoader::didReceiveResponse):
        (WebCore::DocumentThreadableLoader::preflightFailure):
        Renamed the constant for domain. WebCore shouldn't be creating errors observable by WebKit
        clients, because it can't create a platform error, and cannot load a localized string.
        We don't treat cross origin access check failures as true loading failures, so we don't tell
        clients about these.

2010-07-08  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        Mac OS X media controls should have a way to adjust volume incrementally
        https://bugs.webkit.org/show_bug.cgi?id=41718
        <rdar://problem/5679472>

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Handle MediaVolumeSliderMuteButtonPart.

        * css/CSSSelector.cpp: 
        (WebCore::CSSSelector::pseudoId): Handle PseudoMediaControlsVolumeSliderMuteButton.
        (WebCore::nameToPseudoTypeMap): Define mediaControlsVolumeSliderMuteButton.
        (WebCore::CSSSelector::extractPseudoType): Handle PseudoMediaControlsVolumeSliderMuteButton.

        * css/CSSSelector.h:
        (WebCore::CSSSelector::): Define PseudoMediaControlsVolumeSliderMuteButton.

        * css/CSSValueKeywords.in: Define media-volume-slider-mute-button.

        * css/mediaControls.css: 
        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): New.

        * css/mediaControlsQuickTime.css:
        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): Add "overflow: visible" 
        so volume slider pop-up will be visible.

        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): Make 
        mute button 14x12 instead of 15x14 so it matches the size in the volume slider.

        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): 
        New.

        * platform/ThemeTypes.h: Define MediaVolumeSliderMuteButtonPart.

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlInputElement::MediaControlInputElement): Handle MEDIA_CONTROLS_VOLUME_SLIDER_MUTE_BUTTON.
        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Add ButtonLocation 
        parameter both mute buttons can be created.
        (WebCore::MediaControlMuteButtonElement::create): Ditto.

        * rendering/MediaControlElements.h: Define MediaVolumeSliderMuteButton and ButtonLocation.

        * rendering/RenderMedia.cpp: 
        (WebCore::RenderMedia::styleDidChange): Update volume slider mute button.
        (WebCore::RenderMedia::createMuteButton): Pass ButtonLocation parameter to MediaControlMuteButtonElement::create.
        (WebCore::RenderMedia::createVolumeSliderMuteButton): New.
        (WebCore::RenderMedia::updateControls): Deal with volume slider mute button.
        (WebCore::RenderMedia::updateVolumeSliderContainer): Don't assume all ports want to position
        the volume slider in the same place, call new volumeSliderOffsetFromMuteButton theme function.
        (WebCore::RenderMedia::forwardEvent): Handle volume slider mute button.
        * rendering/RenderMedia.h:

        * rendering/RenderTheme.cpp: 
        (WebCore::RenderTheme::paint): Handle MediaVolumeSliderMuteButtonPart.
        (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton): New, return location previously hard
        coded in RenderMedia::updateVolumeSliderContainer.
        * rendering/RenderTheme.h:

        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Deal with the volume slider thumb.
        (WebCore::RenderThemeMac::paintMediaVolumeSliderContainer): New, call the WKSI paint function 
        for this button.
        (WebCore::RenderThemeMac::paintMediaVolumeSliderTrack): Ditto.
        (WebCore::RenderThemeMac::paintMediaVolumeSliderThumb): Ditto.
        (WebCore::RenderThemeMac::shouldRenderMediaControlPart): Draw the volume slider parts when
        using the new controller UI for a movie that has audio.
        (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): New, position the volume slider 
        directly above the mute button.

        * rendering/style/RenderStyleConstants.h: Define MEDIA_CONTROLS_VOLUME_SLIDER_MUTE_BUTTON.

2010-07-08  Antonio Gomes  <tonikitoo@webkit.org>

        Unreviewed complementary fix for r62815

        One last time change made me blind to a "!" in a if statment.

        * editing/EditorCommand.cpp:
        (WebCore::executeToggleStyle):

2010-07-07  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Darin Adler.

        Regression: Selection anchor + focus swap when arrow keys after setBaseAndExtent
        https://bugs.webkit.org/show_bug.cgi?id=32605

        Only have selections be non-directional when they are set via the mouse.
        Otherwise, all selections are directional.

        Test: editing/selection/extend-forward-after-set-base-and-extent.html

        * WebCore.base.exp:
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelection):
        * editing/SelectionController.h:
        (WebCore::SelectionController::setSelection):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::selectClosestWordFromMouseEvent):
        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
        (WebCore::EventHandler::handleMousePressEventTripleClick):
        (WebCore::EventHandler::handleMousePressEventSingleClick):
        (WebCore::EventHandler::updateSelectionForMouseDrag):

2010-07-08  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Ojan Vafai.

        Refactor platform dependent editing behavior code out of Settings (part II)
        https://bugs.webkit.org/show_bug.cgi?id=39854

        Mac port is currently the only port relying on a style to be present on the start
        of a selection to consider the style as applied or not. All other ports
        have to have the style present in all text node of the selection for such.

        Patch makes situations that depend on this check like this to be controlled by
        the EditingBehavior class.

        Refactoring, so no new tests needed.

        * editing/EditingBehavior.h:
        (WebCore::EditingBehavior::shouldToggleStyleBasedOnStartOfSelection):
        * editing/EditorCommand.cpp:
        (WebCore::executeToggleStyle):

2010-07-08  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add stubbed out PluginView class
        https://bugs.webkit.org/show_bug.cgi?id=41879

        Export functions needed by WebKit2.

        * WebCore.exp.in:

2010-07-08  Ben Murdoch  <benm@google.com>

        Reviewed by Pavel Feldman.

        Fix build break in V8ConsoleCustom.cpp
        https://bugs.webkit.org/show_bug.cgi?id=40825

        No new tests as just fixing a build break.

        * bindings/v8/custom/V8ConsoleCustom.cpp: Guard profilesAccessorGetter
            appropriately.

2010-07-08  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Pass Page to BackForwardControllerClient::createBackForwardList since it
        may be called before implementations of BackForwardControllerClient have
        access to a Page.

        * history/BackForwardController.cpp:
        (WebCore::BackForwardController::BackForwardController):
        * history/BackForwardControllerClient.h:

2010-07-08  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r62778.
        http://trac.webkit.org/changeset/62778
        https://bugs.webkit.org/show_bug.cgi?id=41866

        Broke svg/W3C-SVG-1.1/text-intro-05-t.svg in debug (Requested
        by pfeldman on #webkit).

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::TextRunWalker):
        (WebCore::TextRunWalker::~TextRunWalker):

2010-07-08  Vitaly Repeshko  <vitalyr@chromium.org>

        Reviewed by Pavel Feldman.

        Fix adoptRef usage violation in IDBObjectStoreRequest
        https://bugs.webkit.org/show_bug.cgi?id=41869

        * storage/IDBObjectStoreRequest.cpp:
        (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):

2010-07-08  Sam Weinig  <sam@webkit.org>

        Another chromium build fix.

        * history/BackForwardListChromium.cpp:
        (WebCore::BackForwardListImpl::goBack):
        (WebCore::BackForwardListImpl::goForward):
        (WebCore::BackForwardListImpl::backListWithLimit):
        (WebCore::BackForwardListImpl::forwardListWithLimit):
        (WebCore::BackForwardListImpl::containsItem):
        (WebCore::BackForwardListImpl::removeItem):

2010-07-08  Sam Weinig  <sam@webkit.org>

        Fix Chromium build.

        * WebCore.gyp/WebCore.gyp:

2010-07-08  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
        Convert BackForwardList to an abstract base class and add BackForwardListImpl
        as the concrete implementation of it.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * history/BackForwardController.cpp:
        (WebCore::BackForwardController::BackForwardController):
        * history/BackForwardController.h:
        * history/BackForwardList.cpp: Removed.
        * history/BackForwardList.h:
        (WebCore::BackForwardList::~BackForwardList):
        (WebCore::BackForwardList::isBackForwardListImpl):
        (WebCore::BackForwardList::BackForwardList):
        * history/BackForwardListChromium.cpp:
        * history/BackForwardListImpl.cpp: Copied from WebCore/history/BackForwardList.cpp.
        * history/BackForwardListImpl.h: Copied from WebCore/history/BackForwardList.h.
        (WebCore::BackForwardListImpl::isBackForwardListImpl):

2010-07-08  Vitaly Repeshko  <vitalyr@chromium.org>

        Reviewed by Pavel Feldman.

        Fix adoptRef usage violations (mostly in chromium)
        https://bugs.webkit.org/show_bug.cgi?id=41863

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
        * bindings/v8/V8NodeFilterCondition.h:
        (WebCore::V8NodeFilterCondition::create):
        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
        (WebCore::getNamedItems):
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
        (WebCore::V8HTMLFormElement::namedPropertyGetter):
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        (WebCore::V8HTMLSelectElement::namedPropertyGetter):
        * bindings/v8/custom/V8NamedNodesCollection.h:
        (WebCore::V8NamedNodesCollection::create):
        (WebCore::V8NamedNodesCollection::V8NamedNodesCollection):
        * storage/IDBDatabaseRequest.cpp:
        (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
        * storage/IndexedDatabaseRequest.cpp:
        (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):

2010-07-08  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Silence a few noisy build rules.

        * GNUmakefile.am:

2010-07-08  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Canvas putImageData() resets painter state
        https://bugs.webkit.org/show_bug.cgi?id=41827

        Use drawImage() to copy pixels in putImageData() instead of QPixmap::operator=

        Test: fast/canvas/canvas-state-intact-after-putImageData.html

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::putImageData):

2010-07-08  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Do not invoke shortcuts popup upon bare '?' if it's typed
        into an input field.
        https://bugs.webkit.org/show_bug.cgi?id=41760

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

2010-07-08  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kent Tamura.

        [WINCE] Buildfix for EventHandler
        https://bugs.webkit.org/show_bug.cgi?id=41829

        SM_MENUDROPALIGNMENT isn't supported on WinCE.

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

2010-07-08  Xiaomei Ji  <xji@chromium.org>

        Reviewed by David Levin.

        Fix characters with unicode-bidi-mirror property are not correctly
        mirrored in Linux.
        https://bugs.webkit.org/show_bug.cgi?id=41305

        Since harfbuzz does not do mirroring, chromium should iterate each
        character in the string and mirror it if needed before passing the
        string to harfbuzz for shaping.

        Test: fast/text/international/bidi-mirror-he-ar.html

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::TextRunWalker):
        (WebCore::TextRunWalker::~TextRunWalker):

2010-07-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Rob Buis & Dirk Schulze.

        SVG text transformed incorrectly when a transform and gradient applied
        https://bugs.webkit.org/show_bug.cgi?id=41563

        When rendering filled/stroked text with a gradient, RenderSVGResourceGradient creates a mask image,
        renders the text into the image, and then clips the current context against that image buffer,
        and filling a rect afterwards. This happened in the wrong coordinate space so far. Don't actually
        try to compute the right transformation matrix (which failed), but extract it directly from the
        GraphicsContext and apply this transformation to the mask image context.

        Fixes pixellation in svg/batik/text/textEffect3.svg and makes the new test svg/custom/text-rotated-gradient.svg pass.
        Only affects CoreGraphics platforms.

        Test: svg/custom/text-rotated-gradient.svg

        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::absoluteTransformFromContext):
        (WebCore::createMaskAndSwapContextForTextGradient):
        (WebCore::clipToTextMask):

2010-07-07  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Crash when re-entering message loop
        https://bugs.webkit.org/show_bug.cgi?id=41697

        A Chromium-specific test case will be submitted into Chromium shortly.

        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
        * page/PageGroupLoadDeferrer.h:
        (WebCore::PageGroupLoadDeferrer::nextDeferrer):

2010-07-07  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: skip breakpoints when script is already paused
        https://bugs.webkit.org/show_bug.cgi?id=41768

        Test: inspector/debugger-no-nested-pause.html

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::handleV8DebugEvent):

2010-07-08  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        WebCore/benchmarks/parser/html-parser.html spends a lot of time in deprecatedParseURL
        https://bugs.webkit.org/show_bug.cgi?id=41807

        Wow.  This was an awful bug.  We were always taking the slow case
        every time we parsed a URL.  This is about a 10% speedup on our
        parsing benchmark, and might cause as much as a 1% speedup for Apple's
        PLT (even though I can't run that).

        We still spend a lot of time in deprecatedParseURL.  We might consider
        inlining it if its being kept around much longer.

        No behavioral change, just fixing a broken optimization.

        * css/CSSHelper.cpp:
        (WebCore::deprecatedParseURL):
         - We only need to strip characters <= '\r', not >.

2010-07-08  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: factor out common part of debugger tests
        https://bugs.webkit.org/show_bug.cgi?id=41836

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::recompileAllJSFunctions): postpone script recompilation if JS stack is not empty.

2010-07-08  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kent Tamura.

        Buildfix for !ENABLE(SVG_ANIMATION) after r51567.
        https://bugs.webkit.org/show_bug.cgi?id=41803

        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::sampleAnimationAtTime):

2010-07-07  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Nate Chapin.

        [V8] Fix document wrapper memory leak in bindings.
        https://bugs.webkit.org/show_bug.cgi?id=41771

        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::WrapInShadowObject): Do not create static persistent handle
        to shadowConstructor because it keeps the first context alive forever.

2010-07-07  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Enable smooth pixmap transforms by default
        https://bugs.webkit.org/show_bug.cgi?id=41774

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

2010-07-07  Jesus Sanchez-Palencia  <jesus@webkit.org>

        Reviewed by Antti Koivisto.

        [Qt] Missing include to build QtWebKit with WebKit2 in MediaPlayerPrivatePhonon.cpp
        https://bugs.webkit.org/show_bug.cgi?id=41767

        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Add Logging.h include

2010-07-07  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Move v8-related script offset conversion to DebuggerScript.js
        https://bugs.webkit.org/show_bug.cgi?id=41755

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):

2010-07-07  Nicolas Weber  <thakis@chromium.org>

        Reviewed by Dimitri Glazkov.
        https://bugs.webkit.org/show_bug.cgi?id=41580

        Fix rendering of radial gradients in skia if both points of the
        gradient are the same and r0 > 0.

        Test: fast/gradients/radial-centered.html

        * platform/graphics/skia/GradientSkia.cpp:
        (WebCore::Gradient::platformGradient):

2010-06-18  MORITA Hajime  <morrita@google.com>

        Reviewed by Ojan Vafai.

        https://bugs.webkit.org/show_bug.cgi?id=26526
        Add support for input events (oninput) to contentEditable elements
        
        Made a default event handler on the Node to dispatch an input event when
        webkitEditableContentChanged arrived.
        
        Test: fast/events/event-input-contentEditable.html

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

2010-07-07  Darin Adler  <darin@apple.com>

        Reviewed by Anders Carlsson.

        Fix adoptRef assertion failures caused by stack-allocated ResourceHandle objects
        https://bugs.webkit.org/show_bug.cgi?id=41823

        * platform/network/android/ResourceHandleAndroid.cpp:
        (WebCore::ResourceHandle::loadResourceSynchronously): Use adoptRef and new instead
        of allocating an object on the stack.
        * platform/network/curl/ResourceHandleCurl.cpp:
        (WebCore::ResourceHandle::loadResourceSynchronously): Ditto.
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::loadResourceSynchronously): Ditto.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandle::loadResourceSynchronously): Use create instead of
        allocating an object on the stack.

2010-07-07  Joseph Pecoraro  <joepeck@webkit.org>

        Rubber-stamped by Pavel Feldman.

        Web Inspector: All RefPtr arguments and return values should be changed to PassRefPtr according to common practice.
        https://bugs.webkit.org/show_bug.cgi?id=41759

        * inspector/CodeGeneratorInspector.pm:

2010-07-07  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: TextArea should return AXSelectedTextRange of 0,0 if the cursor is not in the text area
        https://bugs.webkit.org/show_bug.cgi?id=41810

        Test: platform/mac/accessibility/selected-text-range-for-empty-textarea.html

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2010-07-07  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: Data table heuristics: assume data table if at least one row or column of TH cells exist
        https://bugs.webkit.org/show_bug.cgi?id=41806

        Test: platform/mac/accessibility/table-with-row-col-of-headers.html

        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):

2010-07-07  Mark Rowe  <mrowe@apple.com>

        Fix the build.

        Xcode decided to change the reference type from "Relative to Build Product" to "Relative to Group"
        when I moved the file between folders. That's incredibly confusing so I'll file a bug against Xcode.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-07  Mark Rowe  <mrowe@apple.com>

        Fix the MathML build.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Fix a typo in a variable name.

2010-07-07  James Hawkins  <jhawkins@chromium.org>

        Reviewed by Dimitri Glazkov.

        Move setSuggestedValue() and suggestedValue() back to public as it's
        now used by WebInputElement.
        https://bugs.webkit.org/show_bug.cgi?id=41785

        No new tests, as the method is only being used by Chromium's WebKit
        API.

        * html/HTMLInputElement.h:

2010-07-07  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Sam Weinig.

        Clean up the project file slightly.

        Remove obsolete .exp files, add the new .exp.in file, and move ExportFileGenerator.cpp in to the Exports collection.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-07  James Robinson  <jamesr@chromium.org> and Vincent Scheib <schieb@chromium.org>

        Reviewed by Dimitri Glazkov.

        WebCore::GLES2Context should allow creating onscreen and offscreen contexts
        https://bugs.webkit.org/show_bug.cgi?id=41492

        You should be able to create a GLES2Context for rendering both on screen
        and off screen (to a texture).  Chromium's layer renderer (used for compositing)
        does the former.  Currently WebGL does the latter by side stepping the
        WebCore::GLES2Context API completely.  Longer term it should move over to using this.

        * platform/chromium/GLES2Context.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::initGL):

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

        Reviewed by Dan Bernstein.

        Document::ownerElement() should return an HTMLFrameOwnerElement
        https://bugs.webkit.org/show_bug.cgi?id=41789

        Change return type of RenderLayerCompositor::enclosingIFrameElement() to
        HTMLFrameOwnerElement*. No behavioral changes.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
        (WebCore::RenderLayerCompositor::enclosingIFrameElement):
        * rendering/RenderLayerCompositor.h:

2010-07-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Add reverseFind to Vector and deploy in HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=41778

        This patch moves reverseFind from begin an
        HTMLFormattingElementList-specific concept to begin a general Vector
        concept.  Also, instead of using Entry as the type for operator==, we
        now use elements directly.  The old code compiled because the Entry
        constructor wasn't explicit, which means we were churning refs on every
        comparison!

        * html/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::find):
        (WebCore::HTMLFormattingElementList::bookmarkFor):
        (WebCore::HTMLFormattingElementList::insertAt):
        (WebCore::HTMLFormattingElementList::remove):
        * html/HTMLFormattingElementList.h:
        (WebCore::HTMLFormattingElementList::Entry::operator==):
        (WebCore::HTMLFormattingElementList::Entry::operator!=):

2010-07-07  Darin Adler  <darin@apple.com>

        Reviewed by Adam Barth.

        Turn on adoptRef assertion for RefCounted
        https://bugs.webkit.org/show_bug.cgi?id=41547

        The WebCore part of this fixes all the assertions I saw in testing.

        * html/FileReader.cpp:
        (WebCore::FileReader::readAsBinaryString): Added null checks.
        Callers from JavaScript can pass the wrong type, which becomes null.
        (WebCore::FileReader::readAsText): Ditto.
        (WebCore::FileReader::readAsDataURL): Ditto.

        * html/FileStreamClient.h: Removed unneeded include.

        * html/FileStreamProxy.cpp:
        (WebCore::FileStreamProxy::FileStreamProxy): Made inline and moved
        some of the code, including the ref, into the create function.
        (WebCore::FileStreamProxy::create): Moved some of the code from
        the constructor here. It's safe to ref once the object has been
        created and adopted.

        * html/FileStreamProxy.h: Changed create function to no longer be
        inlined. Also removed an unneeded include.

        * page/EventSource.cpp:
        (WebCore::EventSource::EventSource): Made inline, changed arguments
        and moved code that involves the need to ref this object into the
        create function. Also moved failure handling out there since it's
        cleaner to have a function that fails than a constructor. For
        example, the function can return 0.
        (WebCore::EventSource::create): Moved some of the code from the
        constructor here.

        * page/EventSource.h: Removed unneeded includes. Made the
        creation function non-inline. Changed the arguments to the constructor.

        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::StorageAreaSync): Made inline. Moved
        code that requires ref'ing this object out to the create function.
        (WebCore::StorageAreaSync::create): Moved some of the code from the
        constructor here.

        * storage/StorageAreaSync.h: Removed unneeded includes. Changed
        the type of one of the constructor arguments from String to
        const String&.

        * workers/SharedWorker.cpp:
        (WebCore::SharedWorker::SharedWorker): Made inline. Moved most of
        the setup code out of here into the create function.
        (WebCore::SharedWorker::create): Moved the code here.

        * workers/SharedWorker.h: Removed unneeded includes. Made the
        create function non-inline. Marked the toSharedWorker override private
        to catch people doing an unnecessary virtual function call if they
        already have a SharedWorker*.

        * workers/Worker.cpp:
        (WebCore::Worker::Worker): Made inline. Moved most of the setup code
        out of here into the create function.
        (WebCore::Worker::create): Moved the code here.

        * workers/Worker.h: Made the create function non-inline. Changed
        the arguments to the constructor.

2010-07-07  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: when a node's role changes, the AX tree might need to be updated
        https://bugs.webkit.org/show_bug.cgi?id=41784

        Test: platform/mac/accessibility/update-children-when-aria-role-changes.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
        (WebCore::AccessibilityRenderObject::updateAccessibilityRole):

2010-07-07  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: when an element uses role="text" but no aria-label, it should default to textUnderElement()
        https://bugs.webkit.org/show_bug.cgi?id=41780

        Test: platform/mac/accessibility/static-text-role-uses-text-under-element.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::stringValue):
           Fallback to textUnderElement() if text() does not return any explicitly set text.
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 
           Remove erroneous check to ignore text elements that didn't have a explicit text value.

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

        Reviewed by Darin Adler.

        Document::ownerElement() should return an HTMLFrameOwnerElement
        https://bugs.webkit.org/show_bug.cgi?id=41789

        Change the return type of Document::ownerElement() to an HTMLFrameOwnerElement, for better
        type checking. No behavioral changes.

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        * dom/Document.cpp:
        (WebCore::Document::ownerElement):
        * dom/Document.h:
        * editing/SelectionController.cpp:
        * rendering/RenderBoxModelObject.cpp:
        * rendering/RenderLayer.cpp:
        * rendering/RenderView.cpp:

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

        Reviewed by Dan Bernstein.

        REGRESSION: GMail becomes blank after closing other tabs
        https://bugs.webkit.org/show_bug.cgi?id=40421

        RenderLayerCompositor's attach/detachRootPlatformLayer methods use
        setNeedsStyleRecalc() in order to trigger acclerated compositing layers
        to be hooked together across iframe boundaries. However, it was possible
        for these to get called while inside of Document::recalcStyle(), which
        is bad because it can cause the recalc to fail to get processed.
        
        Fix this by using the existing queuePostAttachCallback() functionality
        to delay the call to setNeedsStyleRecalc() if post-attach callbacks 
        are suspended (indicating that we're inside recalcStyle()).
        
        No new tests because I wasn't able to make a test that shows the problem.

        * dom/ContainerNode.h: Make queuePostAttachCallback() public.
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::postAttachCallbacksAreSuspended): Added; returns
        whether s_attachDepth is non-zero.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Call scheduleNeedsStyleRecalc()
        instead of setNeedsStyleRecalc().
        (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Ditto.
        (WebCore::needsStyleRecalcCallback): Here we call setNeedsStyleRecalc().
        (WebCore::RenderLayerCompositor::scheduleNeedsStyleRecalc):
        (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):
        * rendering/RenderLayerCompositor.h: Add scheduleNeedsStyleRecalc().

2010-07-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Incorrect compositing order with negative z-index
        https://bugs.webkit.org/show_bug.cgi?id=38959
        
        When painting the contents of compositing layers whose phase is "GraphicsLayerPaintBackground"
        (indicating that they are used for the background of elements with negative z-index children),
        we need to paint the non-composited negative-z-order descendants at the end of the background phase, so
        they appear behind composited negative-z-order descendants.

        Test: compositing/z-order/negative-z-index.html

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

2010-07-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Incorrect compositing order with negative z-index
        https://bugs.webkit.org/show_bug.cgi?id=38959

        Prerequisite: adopt new paintList() method that was added when painting compositing layer contents.
        No behavioral changes.

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

2010-07-07  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        Fix ASSERT in Eric's previous patch.  I think he tested his patch in
        Release and not Debug.

        * html/HTMLFormattingElementList.h:
        (WebCore::HTMLFormattingElementList::Entry::Entry):
        (WebCore::HTMLFormattingElementList::findIndex):

2010-07-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Grease the TreeBuilder's lightning
        https://bugs.webkit.org/show_bug.cgi?id=41756

        Brings the new TreeBuilder from 7s to 3s on the parser benchmark.
        This makes performance comparable to the old parser.

        We have not begun to fight!  There is so much fat left on these bones.

        * html/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::find):
        (WebCore::HTMLFormattingElementList::bookmarkFor):
        (WebCore::HTMLFormattingElementList::insertAt):
        (WebCore::HTMLFormattingElementList::remove):
        * html/HTMLFormattingElementList.h:
        (WebCore::HTMLFormattingElementList::findIndex):

2010-07-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTreeBuilder is way too slow
        https://bugs.webkit.org/show_bug.cgi?id=41754

        This takes us from 14s to 7s on our parsing benchmark.
        That's still much slower than the old tree builder, but there
        is a huge amount of fat left to trim.

        Vector<T> wasn't able to inline all the Entry functions when
        they were buried in the cpp.  Turns out the active formatting elements
        list is very hot.

        I'm not sure Vector<T> is going to be the right data structure for us
        in the end, but it has done alright for bring-up.

        * html/HTMLFormattingElementList.cpp:
        * html/HTMLFormattingElementList.h:
        (WebCore::HTMLFormattingElementList::Entry::Entry):
        (WebCore::HTMLFormattingElementList::Entry::~Entry):
        (WebCore::HTMLFormattingElementList::Entry::isMarker):
        (WebCore::HTMLFormattingElementList::Entry::element):
        (WebCore::HTMLFormattingElementList::Entry::replaceElement):
        (WebCore::HTMLFormattingElementList::Entry::operator==):
        (WebCore::HTMLFormattingElementList::Entry::operator!=):

2010-07-06  Darin Adler  <darin@apple.com>

        Reviewed by Adam Barth.

        More OwnPtr work, including making clear set the pointer to 0 before deletion
        https://bugs.webkit.org/show_bug.cgi?id=41727

        * WebCore.exp.in: Updated.

        * css/CSSSelector.h:
        (WebCore::CSSSelector::RareData::RareData): Use adoptPtr.
        (WebCore::CSSSelector::createRareData): Ditto.
        * dom/SpaceSplitString.h:
        (WebCore::SpaceSplitString::SpaceSplitString): Ditto.
        (WebCore::SpaceSplitString::set): Ditto.
        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame): Ditto.
        (WebCore::CachedFrame::setCachedFramePlatformData): Ditto.

        * history/CachedFrame.h: Use PassOwnPtr.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::CallCacheListenerTask::create): Use adoptPtr.
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::storeCopyOfCache): Ditto.
        * platform/PurgeableBuffer.h:
        (WebCore::PurgeableBuffer::create): Ditto.
        * platform/graphics/GlyphMetricsMap.h:
        (WebCore::::locatePageSlowCase): Ditto.
        * platform/graphics/GraphicsLayer.h:
        (WebCore::AnimationValue::AnimationValue): Ditto.
        (WebCore::TransformAnimationValue::TransformAnimationValue): Ditto.
        * platform/graphics/MediaPlayer.h:
        (WebCore::MediaPlayer::create): Ditto.
        * platform/graphics/SimpleFontData.h:
        (WebCore::SimpleFontData::boundsForGlyph): Ditto.
        * platform/mac/PurgeableBufferMac.cpp:
        (WebCore::PurgeableBuffer::create): Ditto.
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::setHorizontalOverflowPositions): Ditto.
        (WebCore::InlineFlowBox::setVerticalOverflowPositions): Ditto.
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::floats): Ditto.
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::inheritAnimations): Ditto.
        (WebCore::InheritedFlags::inheritTransitions): Ditto.

        * rendering/style/SVGRenderStyleDefs.h: Use PassOwnPtr.

2010-07-07  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
        Add basic piping for BackForwardControllerClient.

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * history/BackForwardController.cpp:
        (WebCore::BackForwardController::BackForwardController):
        * history/BackForwardControllerClient.h:
        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h:
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2010-07-07  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Unreviewed build fix after r62577.

        [EFL] build fix after r62577
        https://bugs.webkit.org/show_bug.cgi?id=41764

        No new functionality so no new tests.

2010-07-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Scrollbars sometimes go dead and stop scrolling the view
        https://bugs.webkit.org/show_bug.cgi?id=41711

        Rework the setGtkAdjustment function slightly, make it have an
        early return, and be more readable.

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

2010-07-07  Kristian Monsen  <kristianm@google.com>

        Reviewed by Steve Block.

        Updating Android to use the UserGestureIndicator class instead of Android specific code.
        The rest of the changes are in parts of the Android port which are yet to be upstreamed.

        No change in behavior, so no new test.

        * platform/network/android/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):
        (WebCore::ResourceRequest::doUpdateResourceRequest):

2010-07-07  Andy Estes  <aestes@apple.com>

        Reviewed by Adam Barth.

        Allow a beforeload listener to prevent loading of images in <object> tags.
        https://bugs.webkit.org/show_bug.cgi?id=41027
        <rdar://problem/8120596>

        Tests: fast/dom/beforeload/image-object-before-load-innerHTML.html
               fast/dom/beforeload/image-object-before-load.html

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::attach): Do not call
        RenderImage::setCachedImage() at the end of attach(). Instead, allow
        this to happen conditionally after beforeload is dispatched.
        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent): Render fallback
        content if an object's load was cancelled.

2010-07-06  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        <use> on <font-face> causes crashes, if SVGUseElement gets detached
        https://bugs.webkit.org/show_bug.cgi?id=41621

        Do not call removeFromMappedElementSheet() from the SVGFontFaceElement destructor,
        as that can potentially cause the element to be reattached while destructing.

        In order to fix the crash in the testcase, the order of calling the base-class detach
        method in SVGUseElement and the instance/shadow tree destruction has to be reversed,
        matching the order in removedFromDocument().

        Test: svg/custom/use-font-face-crash.svg

        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::~SVGFontFaceElement): Remove removeFromMappedElementSheet() call.
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::detach): Reverse order of calling base-class detach method and instance/shadow tree destruction.

2010-07-07  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        document.createEvent() should support DeviceOrientationEvent
        https://bugs.webkit.org/show_bug.cgi?id=41618

        Tests: fast/dom/DeviceOrientation/create-event.html

        * dom/Document.cpp:
        (WebCore::Document::createEvent):

2010-07-07  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: show functions from internal browser scripts on the call stack if they
        are there.
        https://bugs.webkit.org/show_bug.cgi?id=41762

        * English.lproj/localizedStrings.js:
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype.update):

2010-07-07  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: All RefPtr arguments and return values should be
        changed to PassRefPtr whenever it is possible according to common practice.
        https://bugs.webkit.org/show_bug.cgi?id=41759

        * inspector/CodeGeneratorInspector.pm:
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::pushGCEventRecords):
        (WebCore::InspectorTimelineAgent::didInstallTimer):
        (WebCore::InspectorTimelineAgent::didRemoveTimer):
        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
        (WebCore::InspectorTimelineAgent::didMarkTimeline):
        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
        (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
        * inspector/InspectorTimelineAgent.h:
        (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::createGenericRecord):
        (WebCore::TimelineRecordFactory::createGCEventData):
        (WebCore::TimelineRecordFactory::createFunctionCallData):
        (WebCore::TimelineRecordFactory::createEventDispatchData):
        (WebCore::TimelineRecordFactory::createGenericTimerData):
        (WebCore::TimelineRecordFactory::createTimerInstallData):
        (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
        (WebCore::TimelineRecordFactory::createXHRLoadData):
        (WebCore::TimelineRecordFactory::createEvaluateScriptData):
        (WebCore::TimelineRecordFactory::createMarkTimelineData):
        (WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
        (WebCore::TimelineRecordFactory::createResourceSendRequestData):
        (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
        (WebCore::TimelineRecordFactory::createResourceFinishData):
        (WebCore::TimelineRecordFactory::createReceiveResourceData):
        (WebCore::TimelineRecordFactory::createPaintData):
        (WebCore::TimelineRecordFactory::createParseHTMLData):
        * inspector/TimelineRecordFactory.h:

2010-07-07  Antti Koivisto  <koivisto@iki.fi>

        Reviewed by Kenneth Rohde Christiansen.
        
        [Qt] Initial WebKit2 implementation
        https://bugs.webkit.org/show_bug.cgi?id=40233

        Export some event conversion functions needed for WebKit2.

        * platform/PlatformKeyboardEvent.h:
        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::keyIdentifierForQtKeyCode):
        (WebCore::windowsKeyCodeForKeyEvent):

2010-07-06  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        DeviceOrientationEventConstructor should be exposed at window.DeviceOrientationEvent
        https://bugs.webkit.org/show_bug.cgi?id=41685

        Test: fast/dom/Window/window-properties-device-orientation.html
              fast/dom/DeviceOrientation/window-property.txt

        * page/DOMWindow.idl:

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

        Unreviewed, rolling out r62645.
        http://trac.webkit.org/changeset/62645
        https://bugs.webkit.org/show_bug.cgi?id=41757

        "Broken inspector tests on several platforms" (Requested by
        eseidel on #webkit).

        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype._addBreakpoint):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
        (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._addBreakpoint):

2010-07-07  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        JavaInstanceV8 needs to push a local reference frame to avoid table overflow.
        https://bugs.webkit.org/show_bug.cgi?id=41516

        This change is required to help prevent the Java virtual machine from
        running out of local references. The Java virtual machine supports only
        a limited number of local references. Normally, local references are
        cleared when the native method returns.

        This change adds calls to PushLocalFrame() and PopLocalFrame() around
        each invocation of a method on JavaInstance. These calls instruct the
        virtual machine to clear local references when the frame is popped.
        This means that in the case where many calls to JavaInstance methods
        are made within the same native call, local references are cleared as
        soon as they are no longer needed, thus conserving references.

        This change mirrors exactly JavaInstanceJSC.

        No new tests.

        * bridge/jni/v8/JavaInstanceV8.cpp:
        (JavaInstance::virtualBegin):
        (JavaInstance::virtualEnd):
        * bridge/jni/v8/JavaInstanceV8.h:

2010-07-06  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Inspector should remember the size of sidebars set by the user
        https://bugs.webkit.org/show_bug.cgi?id=19207

        * inspector/front-end/AbstractTimelinePanel.js:
        (WebInspector.AbstractTimelinePanel):
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel):
        * inspector/front-end/ConsolePanel.js:
        (WebInspector.ConsolePanel):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.rightSidebarResizerDragEnd):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel):
        (WebInspector.Panel.prototype.get toolbarItemClass):
        (WebInspector.Panel.prototype.show):
        (WebInspector.Panel.prototype.createSidebar):
        (WebInspector.Panel.prototype.get _sidebarWidthSettingName):
        (WebInspector.Panel.prototype._endSidebarDragging):
        (WebInspector.Panel.prototype.updateSidebarWidth):
        (WebInspector.Panel.prototype.restoreSidebarWidth):
        (WebInspector.Panel.prototype.saveSidebarWidth):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._endSidebarResizeDrag):
        (WebInspector.ScriptsPanel.prototype._sidebarResizeDrag):
        (WebInspector.ScriptsPanel.prototype.setSidebarWidth):
        * inspector/front-end/Settings.js:
        (WebInspector.populateApplicationSettings):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):

2010-07-05  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        DeviceOrientation should be renamed to DeviceOrientationController
        https://bugs.webkit.org/show_bug.cgi?id=41608

        No new tests, renaming only.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DeviceOrientation.cpp: Removed.
        * dom/DeviceOrientation.h: Removed.
        * dom/DeviceOrientationController.cpp: Copied from WebCore/dom/DeviceOrientation.cpp.
        (WebCore::DeviceOrientationController::DeviceOrientationController):
        (WebCore::DeviceOrientationController::onDeviceOrientationChange):
        * dom/DeviceOrientationController.h: Copied from WebCore/dom/DeviceOrientation.h.
        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h:
        (WebCore::Page::deviceOrientationController):

2010-07-07  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: do not activate all breakpoints on page reload
        https://bugs.webkit.org/show_bug.cgi?id=41461

        Test: inspector/debugger-breakpoints-not-activated-on-reload.html

        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype._addBreakpoint):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
        (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._addBreakpoint):

2010-07-07  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Rollout r62633 - test crashes after some last-minute modifications.

        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::~SVGFontFaceElement):

2010-07-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix </html> handling in before head mode
        https://bugs.webkit.org/show_bug.cgi?id=41752

        Covered by html5lib/runner.html.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):

2010-07-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        </div> pops too many <div> elements in body
        https://bugs.webkit.org/show_bug.cgi?id=41751

        Another missing return!

        While tracking this down I added some debugging code to both the
        open elements stack and the active formatting elements list.

        I also unwrapped a very long || chain to make it more readable.

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::show):
        * html/HTMLElementStack.h:
        * html/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::show):
        * html/HTMLFormattingElementList.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTreeBuilder needs to handle <table><input>
        https://bugs.webkit.org/show_bug.cgi?id=41744

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Teach HTMLTreeBuilder how to handle <button><button>
        https://bugs.webkit.org/show_bug.cgi?id=41743

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Teach TreeBuilder how to handle <form><form>
        https://bugs.webkit.org/show_bug.cgi?id=41741

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        <table> should auto-close <p> when not in quirks mode
        https://bugs.webkit.org/show_bug.cgi?id=41740

        This is already covered by multiple tests in html5lib/runner.html

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Make "in body" character handling reconstruct active formatting elements
        https://bugs.webkit.org/show_bug.cgi?id=41739

        This fixes a bunch of tests, and due to some other bug in our
        formatting code, regresses two.  I'll fix that bug in a separate
        patch.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processCharacter):

2010-07-06  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Darin Adler.

        <use> on <font-face> causes crashes, if SVGUseElement gets detached
        https://bugs.webkit.org/show_bug.cgi?id=41621

        Do not call removeFromMappedElementSheet() from the destructor, as the call to document()->updateStyleSelector() that can potentially
        cause the element to be reattached while destructing. It's not needed at all, because removedFromDocument() is called before destruction,
        which already calls removeFromMappedElementSheet() - at this point it's still safe to update the style selector.

        The crash is reproducable when using <use> on <font-face>.

        Test: svg/custom/use-font-face-crash.svg

        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::~SVGFontFaceElement):

2010-07-07  Hayato Ito  <hayato@chromium.org>

        Reviewed by Darin Adler.

        Rolling out 'page-break-inside:avoid' part of the r54929.
        Rebased the related layout tests, which are now expected to fail, as well.

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

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

2010-07-07  Mark Rowe  <mrowe@apple.com>

        Fix failures in a handful of Java-related tests.

        * WebCore.exp.in: Remove an extraneous ENABLE_ from an #if so that the condition
        evalutes to true when we expect it to.

2010-07-06  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Joseph Pecoraro.

        Web Inspector: provide line numbers for inline styles.

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

        Test: inspector/styles-source-lines-inline.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseSheet):
        * css/CSSParser.h:
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::parseString):
        (WebCore::CSSStyleSheet::parseStringAtLine):
        * css/CSSStyleSheet.h:
        * dom/StyleElement.cpp:
        (WebCore::StyleElement::process):
        (WebCore::StyleElement::createSheet):
        * dom/StyleElement.h:
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::HTMLStyleElement):
        (WebCore::HTMLStyleElement::finishParsingChildren):
        * html/HTMLStyleElement.h:
        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::getRuleRangesForStyleSheet):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::buildObjectForRule):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.CSSStyleDeclaration.parseRule):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.else.linkifyUncopyable):
        (WebInspector.StylePropertiesSection):

2010-07-06  Dan Bernstein  <mitz@apple.com>

        Reviewed by Jon Honeycutt.

        <rdar://problem/8163651> Wrong value type being supplied for kCTTypesetterOptionForcedEmbeddingLevel key

        No change in behavior, so no new test.

        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Use CFNumber instances
        as the values of the kCTTypesetterOptionForcedEmbeddingLevel key, instead of CFBooleans.

2010-07-06  Mark Rowe  <mrowe@apple.com>

        Fix production builds on Mac OS X.

        * DerivedSources.make: Don't try and generate the export file during the installhdrs build phase.
        It's not useful until much later in the build process, and it's not possible to generate it until
        after the tool has been compiled anyway.
        * WebCore.xcodeproj/project.pbxproj: Tweak how the ICU and forwarding headers are copied so that it
        works in production builds once more.

2010-07-06  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Simon Fraser.

        Expose URL matching from WebUserContentURLPattern
        https://bugs.webkit.org/show_bug.cgi?id=41726
        <rdar://problem/7910144>

        * WebCore.exp.in: Export UserContentURLPattern::matches for use in WebKit.

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix <nobr><nobr> case in HTMLTreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=41735

        We were both not handling <nobr> correctly, as well as
        never hitting the <nobr> case because our formatting
        elements check was overzealous.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):

2010-07-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement start table tag in table mode
        https://bugs.webkit.org/show_bug.cgi?id=41736

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
        * html/HTMLTreeBuilder.h:

2010-07-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement "act as if the banana has been peeled" (for lack of a better term)
        https://bugs.webkit.org/show_bug.cgi?id=41734

        The spec has a tricky passage that says "whenever a node would be
        inserted into the current node, it must instead be foster parented."
        This patch attempts to implement that requirement.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attach):
        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
        (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
        (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
        (WebCore::HTMLConstructionSite::insertScriptElement):
        (WebCore::HTMLConstructionSite::fosterParent):
        * html/HTMLConstructionSite.h:
        (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard):
        (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::~RedirectToFosterParentGuard):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
        * html/HTMLTreeBuilder.h:

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix </optgroup> in "in select" mode
        https://bugs.webkit.org/show_bug.cgi?id=41733

        I had to add a oneBelowTop() accessor.
        I added some ASSERTs after looking at the fragment case
        documentation.  I'm now convinced that top() and oneBeforeTop()
        should never be NULL, so we just ASSERT they aren't.

        This is a very obscure corner of the HTML spec, but at least
        we have a test for it.  This makes one more html5lib test pass.

        * html/HTMLConstructionSite.h:
        (WebCore::HTMLConstructionSite::oneBelowTop):
        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::topRecord):
        (WebCore::HTMLElementStack::top):
        (WebCore::HTMLElementStack::oneBelowTop):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix "in row" "Anything else" handling of end tags
        https://bugs.webkit.org/show_bug.cgi?id=41731

        I also fixed </br> handling to follow the spec more closely
        since it implementation was old and didn't use all our
        new processFake* hotness.

        This is already covered by 3 tests, however we don't
        pass them yet, due to lack of table foster parenting
        code (which Adam is working on as we speak).

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTag):

2010-07-06  Mark Rowe  <mrowe@apple.com>

        Fix clean builds on Mac OS X.

        Since "Copy Forwarding and ICU Headers" was split in to a separate target
        from the WebCore framework it no longer had automatica access to the
        PRIVATE_HEADERS_FOLDER_PATH variable. This caused it to copy the header
        files in to the wrong location. Fix that by giving PRIVATE_HEADERS_FOLDER_PATH
        its correct value and ensuring that the path exists.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-06  Sam Weinig  <sam@webkit.org>

        Fix Gtk build.

        * GNUmakefile.am:

2010-07-06  Mark Rowe  <mrowe@apple.com>

        Tiger build fix.

        Don't use WebCore's LDFLAGS when building WebCoreExportFileGenerator.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        "In cell" does not correctly handle <td><tr> or <td><td>
        https://bugs.webkit.org/show_bug.cgi?id=41729

        This change is mostly cleanup to try and prevent forgetting
        tag name checks in the future by using inlines to reduce
        copy/paste code.

        3 little bugs in InCellMode:
         - Missing trTag from the long or statement (reason for the cleanup)
         - Used || instead of &&
         - Forgot to reprocess the tag after closeTheCell()

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
        (WebCore::HTMLTreeBuilder::processEndTag):

2010-07-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Move fosterParent to HTMLConstructionSite
        https://bugs.webkit.org/show_bug.cgi?id=41728

        This paves the way for handling the default case of InTableMode
        properly.

        * html/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::fosterParent):
        * html/HTMLConstructionSite.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2010-07-06  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Move HTMLConstructionSite to its own file.  No behavior change.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLConstructionSite.cpp: Copied from WebCore/html/HTMLTreeBuilder.cpp.
        (WebCore::HTMLNames::hasImpliedEndTag):
        (WebCore::HTMLConstructionSite::attach):
        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
        (WebCore::HTMLConstructionSite::~HTMLConstructionSite):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
        (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
        (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
        * html/HTMLConstructionSite.h: Copied from WebCore/html/HTMLTreeBuilder.h.
        * html/HTMLTreeBuilder.cpp:
        * html/HTMLTreeBuilder.h:

2010-07-06  Mark Rowe  <mrowe@apple.com>

        Build fix.

        The path to the generated file needs to be relative to the built product directory,
        not to the project file.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-06  Mark Rowe  <mrowe@apple.com>

        Reviewed by Darin Adler.

        <http://webkit.org/b/41725> REGRESSION(r62283): No longer possible to build for Tiger from SnowLeopard due to export file shenanigans

        Change how the exports file is generated. Rather than having the logic for which symbols
        to include be encoded in a Makefile that concatenated separate files, the logic is now
        encoded as #if's in the base exports file. This ensures that the exact same preprocessor
        settings are used when determining which symbols to export as when compiling the code that
        defines the symbols.

        * DerivedSources.make: Remove logic that determines which export files to concatenate.
        Replace with an invocation of WebCoreExportFileGenerator.
        * WebCore.3DRendering.exp: Removed.
        * WebCore.AcceleratedCompositing.exp: Removed.
        * WebCore.ClientBasedGeolocation.exp: Removed.
        * WebCore.ContextMenus.exp: Removed.
        * WebCore.DashboardSupport.exp: Removed.
        * WebCore.DragSupport.exp: Removed.
        * WebCore.Geolocation.exp: Removed.
        * WebCore.Inspector.exp: Removed.
        * WebCore.JNI.exp: Removed.
        * WebCore.NPAPI.exp: Removed.
        * WebCore.OrientationEvents.exp: Removed.
        * WebCore.PluginHostProcess.exp: Removed.
        * WebCore.ProtectionSpaceAuthCallback.exp: Removed.
        * WebCore.SVG.Animation.exp: Removed.
        * WebCore.SVG.Filters.exp: Removed.
        * WebCore.SVG.ForeignObject.exp: Removed.
        * WebCore.SVG.exp: Removed.
        * WebCore.Tiger.exp: Removed.
        * WebCore.Video.exp: Removed.
        * WebCore.VideoProxy.exp: Removed.
        * WebCore.exp.in: Renamed from WebCore/WebCore.base.exp. Merge the individual .exp
        files in, wrapping the appropriate parts with the necessary #if's.
        * WebCore.xcodeproj/project.pbxproj:
        * make-exports-file-generator: Added.

2010-07-06  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=41723
        Add BackForwardController class

        - Add BackForwardController which currently only forwards to the existing
          BackForwardList implementation. This is a first step toward allowing
          for a proxying BackForwardList implementation.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.base.exp:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * history/BackForwardController.cpp: Added.
        (WebCore::BackForwardController::BackForwardController):
        (WebCore::BackForwardController::~BackForwardController):
        * history/BackForwardController.h: Added.
        (WebCore::BackForwardController::client):
        (WebCore::BackForwardController::list):
        * history/BackForwardControllerClient.h: Added.
        (WebCore::BackForwardControllerClient::~BackForwardControllerClient):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::~Page):
        (WebCore::Page::backForwardList):
        (WebCore::Page::goBack):
        (WebCore::Page::goForward):
        (WebCore::Page::canGoBackOrForward):
        (WebCore::Page::goBackOrForward):
        (WebCore::Page::getHistoryLength):
        * page/Page.h:

2010-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Unreviewed.

        Fixes regression on API test by disabling the scrollbars before
        configuring the adjustments.

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

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add support for <li>, <dd> and <dt> nested tag closing
        https://bugs.webkit.org/show_bug.cgi?id=41720

        li, dd, and dt have nearly identical logic in HTML5, so I
        attempted to make them share as much code as possible.

        This fixes a bunch of subtests for html5lib/runner.html

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
        (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
        * html/HTMLTreeBuilder.h:

2010-07-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Factor HTMLConstructionSite out of HTMLTreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=41716

        The HTMLContructionSite is the model object on which the
        HTMLTreeBuilder (a controller) acts.

        No behavior change.  I'll move this class into its own file in a
        followup patch.

        * html/HTMLFormattingElementList.h:
        (WebCore::HTMLFormattingElementList::at):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
        (WebCore::HTMLTreeBuilder::processDoctypeToken):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
        (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
        (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
        (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInScope):
        (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
        (WebCore::HTMLTreeBuilder::closeTheCell):
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
        (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
        (WebCore::HTMLTreeBuilder::findFosterParentFor):
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
        (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        (WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode):
        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
        (WebCore::HTMLConstructionSite::insertDoctype):
        (WebCore::HTMLConstructionSite::insertComment):
        (WebCore::HTMLConstructionSite::insertCommentOnDocument):
        (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
        (WebCore::HTMLConstructionSite::createElementAndAttachToCurrent):
        (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
        (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
        (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
        (WebCore::HTMLConstructionSite::insertElement):
        (WebCore::HTMLConstructionSite::insertSelfClosingElement):
        (WebCore::HTMLConstructionSite::insertFormattingElement):
        (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
        (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
        (WebCore::HTMLConstructionSite::insertScriptElement):
        (WebCore::HTMLTreeBuilder::processScriptStartTag):
        (WebCore::HTMLConstructionSite::insertTextNode):
        (WebCore::HTMLConstructionSite::createElement):
        (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
        (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
        (WebCore::HTMLTreeBuilder::generateImpliedEndTagsWithExclusion):
        (WebCore::HTMLTreeBuilder::generateImpliedEndTags):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLConstructionSite::currentElement):
        (WebCore::HTMLConstructionSite::openElements):
        (WebCore::HTMLConstructionSite::activeFormattingElements):
        (WebCore::HTMLConstructionSite::head):
        (WebCore::HTMLConstructionSite::form):
        (WebCore::HTMLConstructionSite::releaseForm):
        (WebCore::HTMLConstructionSite::setForm):
        (WebCore::HTMLConstructionSite::fragmentScriptingPermission):
        (WebCore::HTMLConstructionSite::attach):

2010-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Scrollbars sometimes go dead and stop scrolling the view
        https://bugs.webkit.org/show_bug.cgi?id=41711

        Fixes GtkScrolledWindow scrollbars not actually scrolling the page
        in certain conditions. No tests because it is hard to reproduce,
        and depends on interaction with a widget that is outside of the
        WebView, which is tricky.

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

2010-07-06  Darin Adler  <darin@apple.com>

        Reviewed by Geoffrey Garen.

        Simplify access to element attribute map, removing unneeded functions
        https://bugs.webkit.org/show_bug.cgi?id=41703

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the
        attributeMap function instead of the mappedAttributes function.
        (WebCore::CSSStyleSelector::styleForElement): Ditto.

        * dom/Element.cpp:
        (WebCore::Element::~Element): Renamed namedAttrMap to m_attributeMap.
        (WebCore::Element::removeAttribute): Ditto.
        (WebCore::Element::getAttribute): Ditto.
        (WebCore::Element::setAttribute): Ditto.
        (WebCore::Element::setAttributeMap): Ditto.
        (WebCore::Element::hasAttributes): Ditto.
        (WebCore::Element::createAttributeMap): Ditto.
        (WebCore::Element::insertedIntoDocument): Ditto.
        (WebCore::Element::removedFromDocument): Ditto.
        (WebCore::Element::getURLAttribute): Ditto.

        * dom/Element.h: Removed unneeded virtual attributes function.
        Made read-only argument to attributes function default to false.
        (Later, we'll eliminate this.) Renamed namedAttrMap to m_attributeMap
        and made it private instead of protected.

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::attributeChanged): Use attributeMap function
        instead of namedAttrMap data member or mappedAttributes function.
        (WebCore::StyledElement::classAttributeChanged): Ditto.
        (WebCore::StyledElement::parseMappedAttribute): Ditto.

        * dom/StyledElement.h: Removed mappedAttributes function and changed
        callers to use attributeMap function instead.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setInputType): Use attributeMap instead of
        mappedAttributes.
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::getPresentationAttribute): Ditto.

2010-07-06  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add a build rule that removes the old generated Obj-C bindings for PluginArray and MimeTypeArray.

        * DerivedSources.make:

2010-07-06  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        Make the remaining insertion modes explicit.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

2010-07-06  Alexey Proskuryakov  <ap@apple.com>

        Not reviewed, fixing a simple copy/paste mistake.

        https://bugs.webkit.org/show_bug.cgi?id=41156
        Cross origin XMLHttpRequest should log the reason why connection failed

        Covered by xmlhttprequest/access-control-basic-non-simple-deny-cached.html

        * loader/CrossOriginPreflightResultCache.cpp:
        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): Fix incorrectly
        copy/pasted header field name.

2010-07-06  Xan Lopez  <xlopez@igalia.com>

        GTK+ fixes for the DOM plug-in renaming Apocalypse.

        * GNUmakefile.am:

2010-07-06  Anders Carlsson  <andersca@apple.com>

        Yet another Windows build fix.

        * DerivedSources.cpp:

2010-07-06  Anders Carlsson  <andersca@apple.com>

        Fix Windows build.

        * WebCore.vcproj/WebCore.vcproj:

2010-07-06  Anders Carlsson  <andersca@apple.com>

        More build fixes.

        * WebCore.gypi:
        * WebCore.pro:

2010-07-06  Anders Carlsson  <andersca@apple.com>

        Try to fix Qt build.

        * WebCore.pro:

2010-07-06  Anders Carlsson  <andersca@apple.com>

        Attempt to fix GTK+ build.

        * GNUmakefile.am:

2010-07-06  Adam Barth  <abarth@webkit.org>

        Address reviewer comments from https://bugs.webkit.org/show_bug.cgi?id=41671

        Deploy isTableBodyContextTag where possible.  No behavior change.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
        (WebCore::HTMLTreeBuilder::processEndTag):

2010-07-06  Anders Carlsson  <andersca@apple.com>

        Build fixes.

        * WebCore.gypi:
        * bindings/js/JSBindingsAllInOne.cpp:

2010-07-06  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        DOM plug-in related renames
        https://bugs.webkit.org/show_bug.cgi?id=41709

        This is in preparation for using "Plugin" for something other than a DOM object.

        MimeType => DOMMimeType
        MimeTypeArray => DOMMimeTypeArray
        Plugin => DOMPlugin
        PluginArray => DOMPluginArray

        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMMimeTypeArrayCustom.cpp: Added.
        (WebCore::JSDOMMimeTypeArray::canGetItemsForName):
        (WebCore::JSDOMMimeTypeArray::nameGetter):
        * bindings/js/JSDOMPluginArrayCustom.cpp: Added.
        (WebCore::JSDOMPluginArray::canGetItemsForName):
        (WebCore::JSDOMPluginArray::nameGetter):
        * bindings/js/JSDOMPluginCustom.cpp: Added.
        (WebCore::JSDOMPlugin::canGetItemsForName):
        (WebCore::JSDOMPlugin::nameGetter):
        * bindings/js/JSMimeTypeArrayCustom.cpp: Removed.
        * bindings/js/JSPluginArrayCustom.cpp: Removed.
        * bindings/js/JSPluginCustom.cpp: Removed.
        * bindings/scripts/CodeGeneratorJS.pm:
        * page/DOMWindow.idl:
        * page/Navigator.cpp:
        (WebCore::Navigator::plugins):
        (WebCore::Navigator::mimeTypes):
        * page/Navigator.h:
        * page/Navigator.idl:
        * plugins/DOMMimeType.cpp: Added.
        (WebCore::DOMMimeType::DOMMimeType):
        (WebCore::DOMMimeType::~DOMMimeType):
        (WebCore::DOMMimeType::type):
        (WebCore::DOMMimeType::suffixes):
        (WebCore::DOMMimeType::description):
        (WebCore::DOMMimeType::enabledPlugin):
        * plugins/DOMMimeType.h: Added.
        (WebCore::DOMMimeType::create):
        (WebCore::DOMMimeType::mimeClassInfo):
        * plugins/DOMMimeType.idl: Added.
        * plugins/DOMMimeTypeArray.cpp: Added.
        (WebCore::DOMMimeTypeArray::DOMMimeTypeArray):
        (WebCore::DOMMimeTypeArray::~DOMMimeTypeArray):
        (WebCore::DOMMimeTypeArray::length):
        (WebCore::DOMMimeTypeArray::item):
        (WebCore::DOMMimeTypeArray::canGetItemsForName):
        (WebCore::DOMMimeTypeArray::namedItem):
        (WebCore::DOMMimeTypeArray::getPluginData):
        * plugins/DOMMimeTypeArray.h: Added.
        (WebCore::DOMMimeTypeArray::create):
        (WebCore::DOMMimeTypeArray::disconnectFrame):
        * plugins/DOMMimeTypeArray.idl: Added.
        * plugins/DOMPlugin.cpp: Added.
        (WebCore::DOMPlugin::DOMPlugin):
        (WebCore::DOMPlugin::~DOMPlugin):
        (WebCore::DOMPlugin::name):
        (WebCore::DOMPlugin::filename):
        (WebCore::DOMPlugin::description):
        (WebCore::DOMPlugin::length):
        (WebCore::DOMPlugin::item):
        (WebCore::DOMPlugin::canGetItemsForName):
        (WebCore::DOMPlugin::namedItem):
        * plugins/DOMPlugin.h: Added.
        (WebCore::DOMPlugin::create):
        (WebCore::DOMPlugin::pluginInfo):
        * plugins/DOMPlugin.idl: Added.
        * plugins/DOMPluginArray.cpp: Added.
        (WebCore::DOMPluginArray::DOMPluginArray):
        (WebCore::DOMPluginArray::~DOMPluginArray):
        (WebCore::DOMPluginArray::length):
        (WebCore::DOMPluginArray::item):
        (WebCore::DOMPluginArray::canGetItemsForName):
        (WebCore::DOMPluginArray::namedItem):
        (WebCore::DOMPluginArray::refresh):
        (WebCore::DOMPluginArray::pluginData):
        * plugins/DOMPluginArray.h: Added.
        (WebCore::DOMPluginArray::create):
        (WebCore::DOMPluginArray::disconnectFrame):
        * plugins/DOMPluginArray.idl: Added.
        * plugins/MimeType.cpp: Removed.
        * plugins/MimeType.h: Removed.
        * plugins/MimeType.idl: Removed.
        * plugins/MimeTypeArray.cpp: Removed.
        * plugins/MimeTypeArray.h: Removed.
        * plugins/MimeTypeArray.idl: Removed.
        * plugins/Plugin.cpp: Removed.
        * plugins/Plugin.h: Removed.
        * plugins/Plugin.idl: Removed.
        * plugins/PluginArray.cpp: Removed.
        * plugins/PluginArray.h: Removed.
        * plugins/PluginArray.idl: Removed.

2010-07-06  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=41156
        Cross origin XMLHttpRequest should log the reason why connection failed

        Covered by multiple existing tests.

        * loader/CrossOriginAccessControl.cpp:
        (WebCore::passesAccessControlCheck):
        * loader/CrossOriginAccessControl.h:
        * loader/CrossOriginPreflightResultCache.cpp:
        (WebCore::CrossOriginPreflightResultCacheItem::parse):
        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
        (WebCore::CrossOriginPreflightResultCacheItem::allowsRequest):
        * loader/CrossOriginPreflightResultCache.h:
        Functions that check requests now take a string argument for error explanation.

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Make an informative error
        if crossOriginRequestPolicy is DenyCrossOriginRequests. This doesn't currently go anywhere,
        since XMLHttpRequest is the only client that logs from didFail(), and it of course supports
        cross origin requests.
        (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Make an informative
        error when trying to e.g. send a cross origin XMLHttpRequest to ftp://.
        (WebCore::DocumentThreadableLoader::didReceiveResponse): Pass error explanation from cross
        origin access control code.
        (WebCore::DocumentThreadableLoader::preflightFailure): Ditto.

        * loader/DocumentThreadableLoader.h: preflightFailure() now takes arguments.

        * platform/network/ResourceErrorBase.cpp:
        * platform/network/ResourceErrorBase.h:
        Added a constant for WebKit error domain.

        * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFail): Report the error to console.
        One day we'll be able to also provide script file and line number here, so it's best to
        pass error all the way down to XHR for reporting.

2010-07-06  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: convert script offset to webkit format in v8 ScriptDebugServer
        https://bugs.webkit.org/show_bug.cgi?id=41696

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):

2010-07-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement InTableBodyMode
        https://bugs.webkit.org/show_bug.cgi?id=41671

        In the process of implementing this patch, Eric and I discussed some of
        the high-level organization of the HTMLTreeBuilder class.  We'd like to
        split it up into smaller pieces.  In the meantime, I've reordered some
        of the declarations in the header to make the relations between the
        different kinds of functions clearer.

        * html/HTMLElementStack.cpp:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        * html/HTMLTreeBuilder.h:

2010-07-06  Leandro Pereira  <leandro@profusion.mobi>

        Unreviewed build fix.

        [EFL] Generate code for RemoteInspector.

        * CMakeLists.txt:

2010-07-06  Varun Jain  <varunjain@chromium.org>

        Reviewed by Oliver Hunt.

        Implementing CURVE_TO_CUBIC specification for SVG Path Segments. Currently,
        curves specified in relative cordinates such as using createCurvetoCubicRel()
        javascript function are not displayed.

        SVG CurvetoCubic Path not implemented for relative cordinates
        https://bugs.webkit.org/show_bug.cgi?id=41294

        Test: svg/custom/svg-curve-with-relative-cordinates.html

        * svg/SVGPathSegList.cpp:
        (WebCore::SVGPathSegList::toPathData):

2010-07-06  Alexey Proskuryakov  <ap@apple.com>

        Roll out patch for https://bugs.webkit.org/show_bug.cgi?id=41348 "Remove global variables
        from XSLTProcessorLibxslt.cpp", as it causes crashes on buildbot.

        * xml/XSLTProcessor.h:
        (WebCore::XSLTProcessor::xslStylesheet):
        (WebCore::XSLTProcessor::XSLTProcessor):
        * xml/XSLTProcessorLibxslt.cpp:
        (WebCore::docLoaderFunc):
        (WebCore::setXSLTLoadCallBack):
        (WebCore::xsltStylesheetPointer):
        (WebCore::XSLTProcessor::transformToString):

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add processing for "in cell" mode and end tag processing for "in row"
        https://bugs.webkit.org/show_bug.cgi?id=41688

        I added several new table tests, not all of which pass yet.
        Remaining failures exist due to lack of full "in table body" mode
        support, which Adam has an outstanding patch for.
        I believe all of the various branches added by this change are
        covered now by our tests.

        * html/HTMLElementStack.cpp:
         - Added QualifiedName versions of inScope functions.
           Using tagName.localName() is wrong for non-HTML elements,
           in preparation for supporting foreign content we should centralize
           our handling of QualifiedName in these functions instead of
           sprinkling more .localName() calls around the code.
        (WebCore::HTMLElementStack::inScope):
        (WebCore::HTMLElementStack::inListItemScope):
        (WebCore::HTMLElementStack::inTableScope):
        * html/HTMLElementStack.h:
        * html/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::Entry::operator==):
        (WebCore::HTMLFormattingElementList::Entry::operator!=):
         - Calling element() on markers will assert, so use m_element.
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::closeTheCell):
         - Implemented per the spec.
        (WebCore::HTMLTreeBuilder::processStartTag):
         - Use isTableBodyContextTag where possible.
         - Add InCellMode.
        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
         - Use isTableBodyContextTag where possible.
        (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
         - This code is needed from at least two callsites.
        (WebCore::HTMLTreeBuilder::processEndTag):
         - Add InCellMode and InRowMode
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        * html/HTMLTreeBuilder.h:

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Make <a> auto-close any parent <a> tag
        https://bugs.webkit.org/show_bug.cgi?id=41684

        I first fixed <a> to auto-close surrounding <a> tags.
        That caused about 3 more test passes and one new test failure.
        The test failure was due to <marque> not adding a marker
        to the active formatting elements.

        So I made a one-line change to fix <marque>.  However that hit an
        ASSERT due to a bug in indexOfFirstUnopenFormattingElement.
        Fixing indexOfFirstUnopenFormattingElement fixed another bunch of
        Adoption Agency related tests (clearly this was the second typo
        which was causing all the adoption agency failures).
        
        However fixing <marque> and indexOfFirstUnopenFormattingElement,
        added yet another failure due to missing support for </p>
        automatically adding an implicit <p> tag.  Fixing </p> finally
        got the tests to a stable (all improving) state.

        In the end, these 4 minor (and very well tested) tweaks fixed a total
        of 9 subtests in html5lib/runner.html.
        Another subtest progressed, but did not fully pass due to missing
        <table> foster-parenting support.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
        (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):

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

        Reviewed by Xan Lopez

        [GStreamer] can't seek past maxTimeLoaded value
        https://bugs.webkit.org/show_bug.cgi?id=40526

        Extended the seekable range to the whole media. This allows video
        played with progressive download to be seeked past the current
        buffered position.

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

2010-07-06  Andreas Wictor  <andreas.wictor@xcerion.com>

        Reviewed by Alexey Proskuryakov.

        Remove global variables from XSLTProcessorLibxslt.cpp
        https://bugs.webkit.org/show_bug.cgi?id=41348

        Remove the globalProcessor and globalDocLoader global variables
        by using the _private field that exists on most libxml structs.

        No new tests, existing tests covers this.

        * xml/XSLTProcessor.h:
        (WebCore::XSLTProcessor::sourceNode):
        (WebCore::XSLTProcessor::XSLTProcessor):
        * xml/XSLTProcessorLibxslt.cpp:
        (WebCore::registredXSLTProcessors):
        (WebCore::registredXSLStyleSheets):
        (WebCore::docLoaderFunc):
        (WebCore::xsltStylesheetPointer):
        (WebCore::XSLTProcessor::transformToString):

2010-07-06  Darin Adler  <darin@apple.com>

        Fix Cairo build.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::createPlatformShadow): Removed unnneded release
        in code that passes a PassOwnPtr to another PassOwnPtr.

2010-07-06  Darin Adler  <darin@apple.com>

        Fix Chromium build.

        * platform/graphics/skia/SkiaUtils.cpp:
        (WebCore::scratchContext): Use leakPtr instead of release.

2010-07-06  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed.

        Build fix after r62549.

        * GNUmakefile.am: Generate RemoteInspector files by manually listing
        them instead of building them into libWebCoreJS.la.

2010-07-06  Darin Adler  <darin@apple.com>

        Reviewed by Adam Barth.

        Add adoptPtr and leakPtr functions for OwnPtr and PassOwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=41320

        Made code changes required because of the change to the release function.
        The equivalent to the old release function is now named leakPtr and
        should be used sparingly. The new release function returns a PassOwnPtr.

        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData): Changed code to call
        leakPtr instead of release.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::addProperty): Ditto.

        * css/CSSSegmentedFontFace.cpp:
        (WebCore::CSSSegmentedFontFace::getFontData): Removed unneeded type
        casting. Not sure why this changed the type to FontData* and then
        casted back to SimpleFontData*.

        * css/MediaQuery.cpp:
        (WebCore::MediaQuery::MediaQuery): Removed call to release on a
        PassOwnPtr, since the data member is now an OwnPtr.
        (WebCore::MediaQuery::~MediaQuery): Removed now-unneeded delete.
        * css/MediaQuery.h: Changed m_expressions to be an OwnPtr.

        * html/HTMLToken.h:
        (WebCore::AtomicHTMLToken::AtomicHTMLToken): Use assignment instead
        of the set function since there are no raw pointers involved.
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::makePurgeable): Ditto.

        * loader/CrossOriginPreflightResultCache.cpp:
        (WebCore::CrossOriginPreflightResultCache::appendEntry): Use
        leakPtr instead of release, and also add FIXME about deleting the
        old value if the original and URL are already in the map. I
        believe dealing with this FIXME may fix a storage leak.

        * loader/CrossOriginPreflightResultCache.h: Change the argument
        to be PassOwnPtr instead of a raw pointer, since this function
        does take ownership.

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
        Use assignment instead of the set function since there are no raw
        pointers involved.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::startIconLoader): Ditto.
        * loader/TextResourceDecoder.cpp:
        (WebCore::TextResourceDecoder::decode): Ditto.
        (WebCore::TextResourceDecoder::flush): Ditto.

        * page/DOMTimer.cpp:
        (WebCore::DOMTimer::fired): Use OwnPtr instead of an explicit
        delete.

        * platform/CrossThreadCopier.h: Removed explicit code that tried
        to copy PassOwnPtr in a complicated way. It did nothing different
        from just returning the PassOwnPtr. This presumably was done because
        PassRefPtr has issues when copied cross-thread, but there are no
        similar issues for PassOwnPtr. Someone with more experience than I
        might be able to remove the specialization altogether, because
        CrossThreadCopierPassThrough does the right thing in this case.

        * platform/SharedBuffer.cpp:
        (WebCore::SharedBuffer::adoptPurgeableBuffer): Changed argument to
        be a PassOwnPtr.
        (WebCore::SharedBuffer::releasePurgeableBuffer): Changed result to
        be a PassOwnPtr.
        * platform/SharedBuffer.h: Updated for changes above.

        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::applyResource): Changed one site
        to use assignment instead of the set function since there are no raw
        pointers involved. Changed another site to use leakPtr instead
        of release.

        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::createMaskAndSwapContextForTextGradient): Use assignment
        instead of the set function since there are no raw pointers involved.

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::setContent): Use leakPtr instead of release.
        (WebCore::RenderStyle::setBoxShadow): Ditto.

        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::DefaultSharedWorkerRepository::connectToWorker):
        Removed unneeded call to release function in a code path that passes
        a PassOwnPtr to a function that takes a PassOwnPtr.

        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::setTimeout): Changed argument type to PassOwnPtr.
        (WebCore::WorkerContext::setInterval): Ditto.
        * workers/WorkerContext.h: Updated for changes above.

        * workers/WorkerMessagingProxy.cpp:
        (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
        (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
        Removed unneeded call to release function in code paths that pass
        a PassOwnPtr to a function that takes a PassOwnPtr.

2010-07-06  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: generator part of the patch for bug 40675.
        On the way to Remote Debugging we want to support JSON serialization
        on both sides of WebInspector transport.
        As far as InspectorFrontend class is a simple proxy to WebInspector
        it would be better to generate it from an IDL file.
        We have generator infrastructure for binding and will reuse it for
        new generator.
        https://bugs.webkit.org/show_bug.cgi?id=41692


        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/rule_binding.py:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/IDLParser.pm:
        * bindings/scripts/generate-bindings.pl:
        * inspector/CodeGeneratorInspector.pm: Added.
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::startTimelineProfiler):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * inspector/InspectorFrontend2.idl: Added.
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
        * inspector/InspectorTimelineAgent.h:

2010-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Rubber-stamped by Xan Lopez.

        [GTK] Crashes when going back with page cache in unknown circunstances
        https://bugs.webkit.org/show_bug.cgi?id=41710

        Also NULL-check document, in hopes of fixing this hard to
        reproduce crash that we are getting reported quite a bit.

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

2010-07-05  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: On the way to Remote Debuging we want to support JSON
        serialization on both sides of WebInspector transport. As far as
        InspectorFrontend class is a simple proxy to WebInspector it would
        be better to generate it from an IDL file. We have generator
        infostructure for binding and will reuse it for new generator.
        https://bugs.webkit.org/show_bug.cgi?id=40675

        * bindings/js/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::stackTrace):
        * bindings/js/ScriptCallStack.h:
        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::stackTrace):
        * bindings/v8/ScriptCallStack.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::addRecordToTimeline):
        * inspector/InspectorFrontend.h:
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::pushGCEventRecords):
        (WebCore::InspectorTimelineAgent::willCallFunction):
        (WebCore::InspectorTimelineAgent::willDispatchEvent):
        (WebCore::InspectorTimelineAgent::willLayout):
        (WebCore::InspectorTimelineAgent::willRecalculateStyle):
        (WebCore::InspectorTimelineAgent::willPaint):
        (WebCore::InspectorTimelineAgent::willWriteHTML):
        (WebCore::InspectorTimelineAgent::didWriteHTML):
        (WebCore::InspectorTimelineAgent::didInstallTimer):
        (WebCore::InspectorTimelineAgent::didRemoveTimer):
        (WebCore::InspectorTimelineAgent::willFireTimer):
        (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
        (WebCore::InspectorTimelineAgent::willLoadXHR):
        (WebCore::InspectorTimelineAgent::willEvaluateScript):
        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
        (WebCore::InspectorTimelineAgent::willReceiveResourceData):
        (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
        (WebCore::InspectorTimelineAgent::didMarkTimeline):
        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
        (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
        * inspector/InspectorTimelineAgent.h:
        (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::createGenericRecord):
        (WebCore::TimelineRecordFactory::createGCEventData):
        (WebCore::TimelineRecordFactory::createFunctionCallData):
        (WebCore::TimelineRecordFactory::createEventDispatchData):
        (WebCore::TimelineRecordFactory::createGenericTimerData):
        (WebCore::TimelineRecordFactory::createTimerInstallData):
        (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
        (WebCore::TimelineRecordFactory::createXHRLoadData):
        (WebCore::TimelineRecordFactory::createEvaluateScriptData):
        (WebCore::TimelineRecordFactory::createMarkTimelineData):
        (WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
        (WebCore::TimelineRecordFactory::createResourceSendRequestData):
        (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
        (WebCore::TimelineRecordFactory::createResourceFinishData):
        (WebCore::TimelineRecordFactory::createReceiveResourceData):
        (WebCore::TimelineRecordFactory::createPaintData):
        (WebCore::TimelineRecordFactory::createParseHTMLData):
        * inspector/TimelineRecordFactory.h:

2010-07-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement InColgroupMode
        https://bugs.webkit.org/show_bug.cgi?id=41663

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        * html/HTMLTreeBuilder.h:

2010-07-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Implement bookmarking for HTML5 Adoption Agency algorithm
        https://bugs.webkit.org/show_bug.cgi?id=41659

        Was easier than I expected it to be.
        Fixes a bunch of html5lib/runner.html tests.

        * html/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::bookmarkFor):
        (WebCore::HTMLFormattingElementList::insertAt):
        * html/HTMLFormattingElementList.h:
        (WebCore::HTMLFormattingElementList::Bookmark::Bookmark):
        (WebCore::HTMLFormattingElementList::Bookmark::moveToAfter):
        (WebCore::HTMLFormattingElementList::Bookmark::elementBefore):
        (WebCore::HTMLFormattingElementList::Bookmark::elementAfter):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2010-07-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement more of InTableMode
        https://bugs.webkit.org/show_bug.cgi?id=41652

        By the time we got around to landing this patch, it turns out to be
        just a bit of cleanup (the functional changes where landed already.)

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

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

        Unreviewed, rolling out r62529.
        http://trac.webkit.org/changeset/62529
        https://bugs.webkit.org/show_bug.cgi?id=41661

        http/tests/inspector/resource-har-conversion.html is broken
        (Requested by yutak on #webkit).

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addResource):
        (WebCore::InspectorController::removeResource):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::InspectorResource):
        (WebCore::InspectorResource::updateScriptObject):
        (WebCore::InspectorResource::cachedResource):
        (WebCore::InspectorResource::type):
        (WebCore::InspectorResource::resourceData):
        * inspector/InspectorResource.h:
        (WebCore::InspectorResource::):
        (WebCore::InspectorResource::create):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.Type.toString):
        (WebInspector.Resource.prototype.set type):
        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshRequestHeaders):
        (WebInspector.ResourceView.prototype._refreshResponseHeaders):
        (WebInspector.ResourceView.prototype._refreshHeaders):
        * inspector/front-end/inspector.css:
        (.resources-category-scripts, .resources-category-xhr, .resources-category-fonts, .resources-category-other):
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.updateResource):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::WebSocketChannel):
        (WebCore::WebSocketChannel::disconnect):
        (WebCore::WebSocketChannel::didOpen):
        (WebCore::WebSocketChannel::didClose):
        (WebCore::WebSocketChannel::processBuffer):
        * websockets/WebSocketChannel.h:

2010-07-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement InCaptionMode
        https://bugs.webkit.org/show_bug.cgi?id=41660

        Implementing this mode also turned up a subtle bug in the adoption
        agency code.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
            - We're supposed to reutrn the first *unopened* formatting element.
              The old code returned the first *opened* formatting element.
        * html/HTMLTreeBuilder.h:

2010-07-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement defaut cases for InTableMode
        https://bugs.webkit.org/show_bug.cgi?id=41656

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTag):
        * html/HTMLTreeBuilder.h:

2010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        SVGRenderContainer forces too many kids to relayout
        https://bugs.webkit.org/show_bug.cgi?id=15391

        Fixing a long-standing performance issue. We should only ever need to relayout container children when the parent bounds change.
        The bounds of a container can only change, if the outermost RenderSVGRoot container uses relative length values and its size changes.
        This can either happen when the window resizes for standalone SVG documents, or if an enclosing RenderBox changes width/height values.

        Only relayout container children if the container has selfNeedsLayout() true, or if the parent bounds change.
        Lively Kernel doesn't do any relayouts anymore, except if you change the Safari window size, this is a great progression.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::layout): No need to special case Path updates, if the element uses relative lengths. SVGRenderSupport now handles this case.
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout): Fix some style issues.
        * rendering/RenderSVGContainer.h:
        (WebCore::RenderSVGContainer::setDrawsContents): Inlined for speed.
        (WebCore::RenderSVGContainer::drawsContents): Ditto.
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::RenderSVGRoot): Initialize m_isLayoutSizeChanged to false.
        (WebCore::RenderSVGRoot::layout): Set m_isLayoutSizeChanged=true when the RenderSVGRoot size changes during layout.
        (WebCore::RenderSVGRoot::calcViewport): Remove hasRelativeLengths() special case.
        * rendering/RenderSVGRoot.h:
        (WebCore::RenderSVGRoot::isLayoutSizeChanged): New function, which returns true during layout() if the outermost <svg> size changes.
        * rendering/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::calcViewport): Cleanup code, and remove obsolete hasRelativeLengths() special case.
        * rendering/SVGRenderSupport.cpp:
        (WebCore::svgRootTreeObject): Added helper function, that returns the RenderSVGRoot for a given RenderObject.
        (WebCore::SVGRenderSupport::layoutChildren): Remove FIXME, only relayout container children, if the parent bounds change and the child uses relative lengths.
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Implemented this function. Keeps track of relative lengths elements, so that the
                                                                       hasRelativeLengths() information is always up2date.
        * svg/SVGStyledElement.h:
        (WebCore::SVGStyledElement::hasRelativeLengths): Don't call the virtual selfHasRelativeLengths() information, just return wheter m_elementsWithRelativeLengths is not empty.

2010-07-05  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Dan Bernstein.

        Fix for Bug 41509 - Ranges for @font-face unicode-range must be separated by commas
        https://bugs.webkit.org/show_bug.cgi?id=41509

        Test: fast/css/font-face-multiple-ranges-for-unicode-range.html

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

2010-07-05  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Pavel Feldman.

        Add WebSocket resource type to Web Inspector.

        When a new WebSocket connection is established, a line for that connection
        will appear in Web Inspector's Resources tab. If the resource name is
        clicked, the details of handshake request and response will be shown.

        Web Inspector: WebSocket in Resources tab
        https://bugs.webkit.org/show_bug.cgi?id=40768

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addResource): WebSocket resource does not
        have an associated loader, thus frame might be null. Need to check it.
        (WebCore::InspectorController::removeResource): Ditto.
        (WebCore::InspectorController::didCreateWebSocket):
        (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
        (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
        (WebCore::InspectorController::didCloseWebSocket):
        * inspector/InspectorController.h:
        * inspector/InspectorResource.cpp: Add null checks of m_loader and m_frame,
        because WebSocket does not have a loader and we need to allow null for
        these variables.
        (WebCore::createReadableStringFromBinary):
        (WebCore::InspectorResource::InspectorResource):
        (WebCore::InspectorResource::create): Factory function of
        regular (non-WebSocket) resources.
        (WebCore::InspectorResource::createWebSocket): Factory function of
        WebSocket resources.
        (WebCore::InspectorResource::updateWebSocketRequest):
        (WebCore::InspectorResource::updateWebSocketResponse):
        (WebCore::InspectorResource::updateScriptObject):
        (WebCore::InspectorResource::cachedResource):
        (WebCore::InspectorResource::type):
        (WebCore::InspectorResource::resourceData):
        * inspector/InspectorResource.h:
        (WebCore::InspectorResource::):
        (WebCore::InspectorResource::markWebSocket):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.Type.toString):
        (WebInspector.Resource.prototype.set type):
        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshRequestHeaders):
        (WebInspector.ResourceView.prototype._refreshResponseHeaders):
        (WebInspector.ResourceView.prototype._refreshHeaders):
        * inspector/front-end/inspector.css:
        (.resources-category-websockets, .resources-category-other):
        (.resources-category-websockets .resources-graph-bar):
        (.resources-category-websockets.resource-cached .resources-graph-bar):
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.updateResource):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::WebSocketChannel):
        (WebCore::WebSocketChannel::disconnect):
        (WebCore::WebSocketChannel::didOpen):
        (WebCore::WebSocketChannel::didClose):
        (WebCore::WebSocketChannel::processBuffer):
        (WebCore::WebSocketChannel::identifier):
        * websockets/WebSocketChannel.h:

2010-07-05  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Fix Chromium build.

        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::fillResourceList):
        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):

2010-07-05  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        Move processStartTagForInBody to its own function.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTag):
        * html/HTMLTreeBuilder.cpp.orig: Added.
        * html/HTMLTreeBuilder.h:

2010-07-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix one more notImplemented in h1-h6 start tag handling
        https://bugs.webkit.org/show_bug.cgi?id=41654

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

2010-07-05  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Just fixing proess to process.
        Clearly Adam and I can't spell.  Thankfully MikeSmith can.

        Add <isindex> support, per HTML5
        https://bugs.webkit.org/show_bug.cgi?id=41650

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processFakeStartTag):
        (WebCore::HTMLTreeBuilder::processFakeEndTag):
        (WebCore::HTMLTreeBuilder::processIsindexStartTagForBody):
        (WebCore::HTMLTreeBuilder::processStartTag):
        * html/HTMLTreeBuilder.h:

2010-07-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add <isindex> support, per HTML5
        https://bugs.webkit.org/show_bug.cgi?id=41650

        Covered by html5lib/runner.html including a new
        isindex.dat test suite.

        * html/HTMLToken.h:
        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
         - Support passing attributes to the constructor.
        (WebCore::AtomicHTMLToken::name):
        (WebCore::AtomicHTMLToken::setName):
        (WebCore::AtomicHTMLToken::getAttributeItem):
        (WebCore::AtomicHTMLToken::attributes):
        (WebCore::AtomicHTMLToken::takeAtributes):
         - Reduces ref-churn, and makes it possible for callers
           to modify attributes w/o affecting future uses of the attributes.
        (WebCore::AtomicHTMLToken::usesName):
         - Used by ASSERTS.
        (WebCore::AtomicHTMLToken::usesAttributes):
         - Used by ASSERTS.
        * html/HTMLTreeBuilder.cpp:
        (WebCore::convertToOldStyle):
         - Can't be const, now that we use takeAttributes()
        (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
        (WebCore::HTMLTreeBuilder::proesssFakeStartTag):
         - New function.  I'm not sure this is the perfect design
          (I'd kinda like AtomicHTMLToken to be copyable so we can
           have create functions for it), but this makes the callsites
           using fake tokens much more readable.
        (WebCore::HTMLTreeBuilder::proesssFakeEndTag):
        (WebCore::HTMLTreeBuilder::processFakeCharacters):
        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
        (WebCore::HTMLTreeBuilder::processIsindexStartTagForBody):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::insertScriptElement):
         - Use takeAttributes() for less ref-churn.
        (WebCore::HTMLTreeBuilder::createElement): ditto
        (WebCore::HTMLTreeBuilder::finished):
         - Remove bogus use of AtomicHTMLToken constructor which
           wasn't even being used now that we support emitting EOF tokens
           from the Tokenizer directly.
        * html/HTMLTreeBuilder.h:

2010-07-05  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        ASSERT that we're processing the correct type of token
        https://bugs.webkit.org/show_bug.cgi?id=41647

        Making these asserts work required a small (non-observable) tweak to
        some old code.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processDoctypeToken):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        (WebCore::HTMLTreeBuilder::processStartTagForInHead):

2010-07-05  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement in select in table
        https://bugs.webkit.org/show_bug.cgi?id=41646

        This mode is mostly a fall-through to the InSelectMode.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

2010-07-05  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement basic text node coalescing
        https://bugs.webkit.org/show_bug.cgi?id=41623

        This patch isn't the end-all, be-all of text node coalescing, but it's
        a good start.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::parserAppendData):
        (WebCore::CharacterData::appendData):
        * dom/CharacterData.h:
            - Added a new method to dance around mutation events.
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::insertTextNode):

2010-07-05  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement InSelectMode
        https://bugs.webkit.org/show_bug.cgi?id=41627

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

2010-07-05  Fady Samuel  <fsamuel@chromium.org>

        Reviewed by Darin Adler.

        Fixed a svg crash when setting class of an svg ellipse object.

        Altering the CSS class of an attached SVG element causes WebKit to crash
        https://bugs.webkit.org/show_bug.cgi?id=40857

        Test: svg/css/svg-ellipse-render-crash.html

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::classAttributeChanged):

2010-07-05  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        Reproducible crash with Optimize Legibility extension
        https://bugs.webkit.org/show_bug.cgi?id=41585

        Test: fast/css/text-rendering-priority.html

        Moved the text-rendering CSS property to the “high priority” group, because applying it
        during style selection invalidates the font.

        * css/CSSPropertyNames.in: Moved text-rendering to the “high priority” section at the top.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyDeclarations): Updated compile-time assertion.

2010-07-05  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        optimizeLegibility doesn't play nice with fonts that do not have a space glyph
        https://bugs.webkit.org/show_bug.cgi?id=41599

        No test because none of the fonts available to DumpRenderTree are missing a space glyph.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::findNextLineBreak): When the font does not map the space character
        to a glyph, a fallback font is used for space. Therefore, wordTrailingSpaceWidth must be
        initialized with the width of a space as measured by the Font rather than with the cached
        space width.

2010-07-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Implement HTML5's "reset insertion mode appropriately"
        https://bugs.webkit.org/show_bug.cgi?id=41628

        This has some minimal testing.  One from my previous
        </table> patch, and a few from the main suite.

        Mostly resetInsertionModeAppropriately isn't used yet
        but we're about to add a bunch of states which do use it
        and our test coverage will expand further as we do.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::setInsertionModeAndEnd):
        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
        * html/HTMLTreeBuilder.h:

2010-07-04  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add </table> support for "in table" insertion mode
        https://bugs.webkit.org/show_bug.cgi?id=41591

        resetInsertionModeAppropriately isn't implemented yet, however
        I've added a test for the usage I added.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
        (WebCore::HTMLTreeBuilder::processEndTag):
        * html/HTMLTreeBuilder.h:

2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>

        Unreviewed build fix for r62503.

        Chromium missing method. Filed bug 41632 to track.

        * loader/appcache/ApplicationCacheHost.h:
        (WebCore::ApplicationCacheHost::applicationCache):

2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>

        Unreviewed build fix for r62503.

        Missed GTK's build file.

        * GNUmakefile.am:

2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>

        Unreviewed build fix for r62503.

        Pass a blank ResourceResponse instead of passing 0.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::createResourceHandle):

2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>

        Unreviewed build fix for r62503.

        Forward declare ApplicationCache for Chromium.

        * loader/appcache/ApplicationCacheHost.h:

2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Pavel Feldman.

        WebInspector: HTML5 Offline Web Applications Support (ApplicationCache)
        https://bugs.webkit.org/show_bug.cgi?id=24529

        Parts of this patch were written by Kavita Kanetkar <kkanetkar@chromium.org>.

        Part 2: Pulling ApplicationCache Resources to Display in the Inspector.

          The InspectorApplicationCacheAgent gathers the information it
          needs and forwards it on to the inspector.

        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::fillResourceList): get information about the resources.
        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches): gathers all the information from the ApplicationCacheHost.
        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
        (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
        * inspector/InspectorApplicationCacheAgent.h: defines structures to hold information about caches and resources.
        (WebCore::InspectorApplicationCacheAgent::ApplicationCacheInfo::ApplicationCacheInfo):
        (WebCore::InspectorApplicationCacheAgent::ResourceInfo::ResourceInfo):
        (WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent):
        * loader/appcache/ApplicationCacheHost.h:
        (WebCore::ApplicationCacheHost::applicationCacheForInspector): new convention, public cache accessor for the inspector.
        (WebCore::ApplicationCacheHost::documentLoader): added const.

          The User Interface uses a DataGrid, like Cookies.

        * inspector/front-end/ApplicationCacheItemsView.js:
        (WebInspector.ApplicationCacheItemsView.prototype._update):
        (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
        (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
        (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid.numberCompare):
        (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid.localeCompare):
        (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):

          The usual frontend pull workflow, except this goes through
          InspectorApplicationCacheAgent instead of InspectorController.

        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::getApplicationCaches):
        (WebCore::InspectorBackend::inspectorApplicationCacheAgent):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::didGetApplicationCaches):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode.prototype.hasChildNodes): style fix.
        (WebInspector.DOMAgent.prototype.nodeForId): style fix.
        (WebInspector.ApplicationCache.getApplicationCachesAsync): pull.
        (WebInspector.Cookies.getCookiesAsync):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel.prototype.updateManifest):
        (WebInspector.ApplicationCacheSidebarTreeElement.prototype.onselect):
        * inspector/front-end/inspector.js:
        (WebInspector.updateResource):
        (WebInspector._addAppCacheDomain):
        (WebInspector.reset):

          Miscellaneous. Localized Strings and fixes.

        * English.lproj/localizedStrings.js: "Type", "%s (%s)"
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::deleteCookie):
        * inspector/InspectorController.h:

2010-07-04  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Pavel Feldman.

        WebInspector: HTML5 Offline Web Applications Support (ApplicationCache)
        https://bugs.webkit.org/show_bug.cgi?id=24529

        Part 1: Backend -> Frontend Messages. ApplicationCache Status and Connectivity Status.

        This patch adds an InspectorApplicationCacheAgent to monitor application
        cache changes, starts a UI in the Storage panel, handles the boilerplate
        of adding new files.

          Added an agent to encapsulate and handle the application cache logic.
          This is similar to the timeline agent.

        * inspector/InspectorApplicationCacheAgent.cpp: Added.
        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
        (WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent):
        (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
        (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
        (WebCore::InspectorApplicationCacheAgent::updateNetworkState):
        * inspector/InspectorApplicationCacheAgent.h: Added.

          InspectorController owns an InspectorApplicationCacheAgent. This
          handles its lifetime management.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::~InspectorController):
        (WebCore::InspectorController::connectFrontend): create the agent with a frontend.
        (WebCore::InspectorController::disconnectFrontend): remove the agent when closing.
        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
        * inspector/InspectorController.h:

          User Interface for ApplicationCache in the StoragePanel. This follows
          very closely to Cookies, it will have a sortable table of items. The
          status bar contains connectivity and application cache status
          indicators which update when backend messages are received. There
          are some stubs which the next part will implement.

        * inspector/front-end/ApplicationCacheItemsView.js: Added.
        (WebInspector.ApplicationCacheItemsView):
        (WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems): refresh, delete, connectivity, application cache status.
        (WebInspector.ApplicationCacheItemsView.prototype.show):
        (WebInspector.ApplicationCacheItemsView.prototype.hide):
        (WebInspector.ApplicationCacheItemsView.prototype.updateStatus): this is the application cache status indicator.
        (WebInspector.ApplicationCacheItemsView.prototype.updateNetworkState): this is the online/offline connectivity indicator.
        (WebInspector.ApplicationCacheItemsView.prototype._update):
        (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
        (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
        (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
        (WebInspector.ApplicationCacheItemsView.prototype.resize):
        (WebInspector.ApplicationCacheItemsView.prototype._deleteButtonClicked):
        (WebInspector.ApplicationCacheItemsView.prototype._deleteCallback):
        (WebInspector.ApplicationCacheItemsView.prototype._refreshButtonClicked):

          The usual dispatch flow from the backend, to the frontend, to the
          panel, and then to the visible view. Some slight refactoring to
          eliminate duplicated code.

        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::updateDOMStorage):
        (WebCore::InspectorFrontend::didGetApplicationCaches):
        (WebCore::InspectorFrontend::updateApplicationCacheStatus):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel):
        (WebInspector.StoragePanel.prototype.reset):
        (WebInspector.StoragePanel.prototype.addApplicationCache):
        (WebInspector.StoragePanel.prototype.showDatabase):
        (WebInspector.StoragePanel.prototype.showDOMStorage):
        (WebInspector.StoragePanel.prototype.showCookies):
        (WebInspector.StoragePanel.prototype.showApplicationCache):
        (WebInspector.StoragePanel.prototype._genericViewSetup):
        (WebInspector.StoragePanel.prototype.updateApplicationCacheStatus):
        (WebInspector.StoragePanel.prototype.updateNetworkState):
        (WebInspector.CookieSidebarTreeElement.prototype.set subtitle):
        (WebInspector.ApplicationCacheSidebarTreeElement):
        (WebInspector.ApplicationCacheSidebarTreeElement.prototype.onselect):
        (WebInspector.ApplicationCacheSidebarTreeElement.prototype.get mainTitle):
        (WebInspector.ApplicationCacheSidebarTreeElement.prototype.set mainTitle):
        (WebInspector.ApplicationCacheSidebarTreeElement.prototype.get subtitle):
        (WebInspector.ApplicationCacheSidebarTreeElement.prototype.set subtitle):
        * inspector/front-end/inspector.js:
        (WebInspector.dispatch.delayDispatch):
        (WebInspector.dispatch):
        (WebInspector._addAppCacheDomain):
        (WebInspector.addDOMStorage):
        (WebInspector.updateDOMStorage):

          Notify the InspectorApplicationCacheAgent on application cache changes
          or specifics. Notify the InspectorController on generic resource events.
          That is because ApplicationCacheController is a ResourceClient and needs
          to trigger the resource events normally handled by ResourceLoader.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::inspectorUpdateApplicationCacheStatus): helper method to prevent duplicated code.
        (WebCore::ApplicationCacheGroup::setNewestCache): status change.
        (WebCore::ApplicationCacheGroup::makeObsolete): status change.
        (WebCore::ApplicationCacheGroup::update): status change.
        (WebCore::ApplicationCacheGroup::createResourceHandle): resource event.
        (WebCore::ApplicationCacheGroup::willSendRequest): resource event.
        (WebCore::ApplicationCacheGroup::didReceiveResponse): resource event.
        (WebCore::ApplicationCacheGroup::didReceiveData): resource event.
        (WebCore::ApplicationCacheGroup::didFinishLoading): resource event.
        (WebCore::ApplicationCacheGroup::didFail): resource event.
        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): resource event.
        (WebCore::ApplicationCacheGroup::manifestNotFound): status change.
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): status change.
        (WebCore::ApplicationCacheGroup::setUpdateStatus): single access point for status changes.
        * loader/appcache/ApplicationCacheGroup.h:
        * page/Page.cpp:
        (WebCore::networkStateChanged): connectivity status change.

          Final inspector details to add the new file, style new elements,
          images, and localized strings.

        * inspector/front-end/inspector.css:
        (.application-cache-sidebar-tree-item .icon):
        (.timeline-records-counter, .storage-application-cache-status, .storage-application-cache-connectivity):
        (.storage-application-cache-status-icon, .storage-application-cache-connectivity-icon):
        (.status-bar-divider):
        (.storage-application-cache-status, .storage-application-cache-connectivity):
        * inspector/front-end/inspector.html:
        * inspector/front-end/Images/applicationCache.png: Added.
        * English.lproj/localizedStrings.js: "APPLICATION CACHE", "No Application Cache information available.", "Online", "Offline"

          Updated build files.

        * CMakeLists.txt:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/front-end/WebKit.qrc:

2010-07-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add basic <col> support to the treebuilder
        https://bugs.webkit.org/show_bug.cgi?id=41590

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

2010-07-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add basic "in row" mode to support <td> and <th> insertion
        https://bugs.webkit.org/show_bug.cgi?id=41588

        Also fixed <td> or <th> as a direct child of <table>.

        Most of this was covered by html5lib/runner.html tests,
        but I had to add a new tables01.dat to cover the <th> cases.

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLNames::isTableRowScopeMarker):
        (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

2010-07-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Finish implementing "any other end tag" for "in body" mode
        https://bugs.webkit.org/show_bug.cgi?id=41582

        I believe I found a "bug" in the HTML5 spec when writing this:
        http://www.w3.org/Bugs/Public/show_bug.cgi?id=10080

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTag):
        * html/HTMLTreeBuilder.h:

2010-07-05  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed.

        Add a missing slash to the list of generated sources. This
        was missing from a previous build fix.

        * GNUmakefile.am:

2010-07-05  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Joseph Pecoraro.

        Web Inspector: preserve scroll positions in source frame when switching between panes.

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

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.hide):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.set visible):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype.hide):

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

        Reviewed by Dirk Schulze.

        IE SVG test fails
        https://bugs.webkit.org/show_bug.cgi?id=41619

        Make SVGSVGElement.createSVGTransform create a SVGTransform with the
        right type, thereby fixing the IE test.

        Test: svg/custom/svg-createsvgtransform-type.html

        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::createSVGTransform):

2010-07-05  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: computed style pane is not updated when styles pane is collapsed.

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

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.updateStyles):

2010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Logic to track whether elements are using relative lengths is incomplete
        https://bugs.webkit.org/show_bug.cgi?id=41566

        Add logic to all SVG elements which create renderes to expose a method
        "bool selfHasRelativeLengths()", that returns whether the element uses relative
        lengths (eg. <rect x="50%"...). This will be used soon to avoid relayouts of
        container children, when the bounds have not changed.

        A new method SVGStyledElement::updateRelativeLengthsInformation() is added,
        which is called from the various svgAttributeChanged() methods and insertedIntoDocument/removedFromDocument.
        It will be implemented in a follow-up patch. This patch does not affect any test behaviour related
        to relayouting. As SVGFilterElement finally got a proper svgAttributeChanged() method, it now
        properly invalidates clients on attribute changes - covered by a new test.

        Tests: svg/custom/relative-sized-inner-svg.xhtml
               svg/custom/relative-sized-use-without-attributes-on-symbol.xhtml
               svg/filters/filter-width-update.svg
 
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::layout): Rename hasRelativeValues to hasRelativeLengths.
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::layout): Ditto.
        (WebCore::RenderSVGRoot::calcViewport): Ditto.
        * rendering/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::calcViewport): Ditto
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::layoutChildren): Ditto.
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::svgAttributeChanged): Call updateRelativeLengthsInformation() if any attribute which may contain relative lengths changes.
        (WebCore::SVGCircleElement::selfHasRelativeLengths): Ditto. Same for all other SVG*Elements below.
        * svg/SVGCircleElement.h:
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::svgAttributeChanged):
        (WebCore::SVGEllipseElement::selfHasRelativeLengths):
        * svg/SVGEllipseElement.h:
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::svgAttributeChanged):
        (WebCore::SVGFilterElement::selfHasRelativeLengths):
        * svg/SVGFilterElement.h:
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::svgAttributeChanged):
        (WebCore::SVGForeignObjectElement::selfHasRelativeLengths):
        * svg/SVGForeignObjectElement.h:
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::svgAttributeChanged):
        (WebCore::SVGImageElement::selfHasRelativeLengths):
        * svg/SVGImageElement.h:
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::svgAttributeChanged):
        (WebCore::SVGLineElement::selfHasRelativeLengths):
        * svg/SVGLineElement.h:
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::svgAttributeChanged):
        (WebCore::SVGLinearGradientElement::selfHasRelativeLengths):
        * svg/SVGLinearGradientElement.h:
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::svgAttributeChanged):
        (WebCore::SVGMarkerElement::selfHasRelativeLengths):
        * svg/SVGMarkerElement.h:
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::svgAttributeChanged):
        (WebCore::SVGMaskElement::selfHasRelativeLengths):
        * svg/SVGMaskElement.h:
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::svgAttributeChanged):
        (WebCore::SVGPatternElement::selfHasRelativeLengths):
        * svg/SVGPatternElement.h:
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::svgAttributeChanged):
        (WebCore::SVGRadialGradientElement::selfHasRelativeLengths):
        * svg/SVGRadialGradientElement.h:
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::svgAttributeChanged):
        (WebCore::SVGRectElement::selfHasRelativeLengths):
        * svg/SVGRectElement.h:
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::svgAttributeChanged):
        (WebCore::SVGSVGElement::selfHasRelativeLengths):
        * svg/SVGSVGElement.h:
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::insertedIntoDocument): Call updateRelativeLengthsInformation().
        (WebCore::SVGStyledElement::removedFromDocument): Ditto.
        (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Not implemented so far. Will land in a follow-up patch, together with the render tree changes.
        * svg/SVGStyledElement.h:
        (WebCore::SVGStyledElement::hasRelativeLengths): Devirtualized. For now, just call selfHasRelativeLengths() - this will change in a follow-up patch.
        (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
        (WebCore::SVGStyledElement::selfHasRelativeLengths): Renamed from hasRelativeValues().
        * svg/SVGSymbolElement.cpp:
        (WebCore::SVGSymbolElement::svgAttributeChanged):
        (WebCore::SVGSymbolElement::selfHasRelativeLengths):
        * svg/SVGSymbolElement.h:
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::selfHasRelativeLengths):
        * svg/SVGTextContentElement.h:
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::svgAttributeChanged):
        (WebCore::SVGTextPathElement::insertedIntoDocument): Call right base class' method. Skipped one in the hierachy before.
        (WebCore::SVGTextPathElement::selfHasRelativeLengths):
        * svg/SVGTextPathElement.h:
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::svgAttributeChanged):
        (WebCore::listContainsRelativeValue): New helper funtion that checks wheter a SVGLengthList contains relative lengths.
        (WebCore::SVGTextPositioningElement::selfHasRelativeLengths):
        * svg/SVGTextPositioningElement.h:
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::insertedIntoDocument): Call right base class' method. Skipped on in the hierachy before.
        (WebCore::SVGUseElement::removedFromDocument): Ditto.
        (WebCore::SVGUseElement::svgAttributeChanged):
        (WebCore::SVGUseElement::buildShadowAndInstanceTree): Call updateRelativeLengthsInformation() after building the shadow tree.
        (WebCore::SVGUseElement::selfHasRelativeLengths): Same as all other methods, except that it includes the shadow tree root element.
        * svg/SVGUseElement.h:

2010-07-05  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Problem with copying a code from Scripts panel.

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

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._getSelection):
        (WebInspector.TextViewer.prototype._selectionToPosition):

2010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze / Darin Adler.

        Node.cloneNode does not work on SVG nodes
        https://bugs.webkit.org/show_bug.cgi?id=41421

        Be sure to synchronize animated SVG properties before checking whether NamedNodeMap exists.
        When creating a SVG element from JS, and setting all attributes via SVG DOM, and not using setAttribute
        the NamedNodeMap does not exist. When cloning such an element, be sure to synchronize SVG <-> XML DOM
        attributes before attempting to clone, otherwhise the SVG animated properties are lost while cloning.

        Test: svg/custom/clone-element-with-animated-svg-properties.html

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

2010-07-05  Antti Koivisto  <koivisto@iki.fi>

        Revert unplanned project file change.

        * WebCore.pri:
        * WebCore.pro:

2010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Darin Adler.

        Memory corruption with SVG <use> element
        https://bugs.webkit.org/show_bug.cgi?id=40994

        Fix race condition in svgAttributeChanged. Never call svgAttributeChanged() from attributeChanged()
        when we're synchronizing SVG attributes. It leads to either unnecessary extra work being done or
        crashes. Especially together with <polyline>/<polygon> which always synchronize the SVGAnimatedPoints
        datastructure with the points attribute, no matter if there are changes are not. This should be
        furhter optimized, but this fix is sane and fixes the root of the evil races.

        Test: svg/custom/use-property-synchronization-crash.svg

        * svg/SVGElement.cpp:
        (WebCore::SVGElement::attributeChanged):

2010-07-05  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: remove v8-specific code dealing with getOwnPropertyNames from InjectedScript.js
        https://bugs.webkit.org/show_bug.cgi?id=41595

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

2010-07-04  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Dirk Schulze.

        SVG polygons should draw polygons up to the first parsing error
        https://bugs.webkit.org/show_bug.cgi?id=41140

        Render polygons up until the first parsing error.

        Test: svg/custom/poly-parsing-error.html

        * svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::parseMappedAttribute):

2010-07-04  Alice Liu  <alice.liu@apple.com>

        Reviewed by Dan Bernstein.

        Crash reading past end of block in UniscribeController::shapeAndPlaceItem
        https://bugs.webkit.org/show_bug.cgi?id=41554

        Test: platform/win/fast/text/uniscribe-item-boundary-crash.html

        * platform/graphics/win/UniscribeController.cpp:
        (WebCore::UniscribeController::shapeAndPlaceItem):
        Don't look one past the end of str. Instead look to the next item, if applicable.

2010-07-04  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add basic "in table body" mode to support <tr> insertion
        https://bugs.webkit.org/show_bug.cgi?id=41587

        This also adds a (currently untestable?)
        popUntilTableBodyScopeMarker code path.
        Any tags which would be between a tbody a <tr> would end up
        foster parented outside the <table>.  I think the spec was
        just being over-cautious with popUntilTableBodyScopeMarker.

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLNames::isTableScopeMarker):
        (WebCore::HTMLNames::isTableBodyScopeMarker):
        (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2010-07-04  Anders Carlsson  <andersca@apple.com>

        Fix Windows build.

        * WebCore.vcproj/WebCore.vcproj:

2010-07-04  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTreeBuilder needs an adoption agency
        https://bugs.webkit.org/show_bug.cgi?id=41453

        Fix Qt Minimal build.  SVGNames.h should always
        be generated, even when SVG is off, however that's
        not how things currently work.

        * html/HTMLTreeBuilder.cpp:

2010-07-04  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add a very basic InTable insertion mode
        https://bugs.webkit.org/show_bug.cgi?id=41581

        There is still a bunch of low-hanging fruit left for this
        mode, but even this most-basic support lets us pass 6 more tests. :)

        It's a progression, ship it! :)

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLNames::isScopeMarker):
        (WebCore::HTMLNames::isListItemScopeMarker):
        (WebCore::HTMLNames::isTableScopeMarker):
        (WebCore::HTMLElementStack::popUntilTableScopeMarker):
        * html/HTMLElementStack.h:
        * html/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::appendMarker):
        * html/HTMLFormattingElementList.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        * html/HTMLTreeBuilder.h:

2010-07-01  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTreeBuilder needs an adoption agency
        https://bugs.webkit.org/show_bug.cgi?id=41453

        This changes some test results, but only makes the simplest
        adoption agency cases pass.  I think the code is likely
        very close, but further iteration to make this change larger
        seems counter-productive.  I recommend we check in this
        progression and work from here.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::addChildCommon):
         - Make sure callers don't assume this will reparent.
        (WebCore::ContainerNode::parserAddChild):
         - Update comment to document lack of reparenting behavior.
        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
        (WebCore::HTMLElementStack::ElementRecord::~ElementRecord):
        (WebCore::HTMLElementStack::ElementRecord::replaceElement):
        (WebCore::HTMLElementStack::ElementRecord::isAbove):
         - Added for debugging.
        (WebCore::HTMLElementStack::pushHTMLHtmlElement):
        (WebCore::HTMLElementStack::insertAbove):
         - Needed for the adoption agency.
        (WebCore::HTMLElementStack::topRecord):
        (WebCore::HTMLElementStack::bottom):
        (WebCore::HTMLElementStack::removeHTMLHeadElement):
        (WebCore::HTMLElementStack::remove):
        (WebCore::HTMLElementStack::find):
        (WebCore::HTMLElementStack::topmost):
        (WebCore::HTMLElementStack::contains):
        (WebCore::HTMLElementStack::htmlElement):
        (WebCore::HTMLElementStack::headElement):
        (WebCore::HTMLElementStack::bodyElement):
        (WebCore::HTMLElementStack::pushCommon):
        (WebCore::HTMLElementStack::removeNonTopCommon):
         - Fix the name to match top/bottom.
        * html/HTMLElementStack.h:
        (WebCore::HTMLElementStack::ElementRecord::element):
        (WebCore::HTMLElementStack::ElementRecord::next):
        (WebCore::HTMLElementStack::ElementRecord::releaseNext):
        (WebCore::HTMLElementStack::ElementRecord::setNext):
        * html/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::closestElementInScopeWithName):
        (WebCore::HTMLFormattingElementList::contains):
        (WebCore::HTMLFormattingElementList::find):
        (WebCore::HTMLFormattingElementList::remove):
        * html/HTMLFormattingElementList.h:
        (WebCore::HTMLFormattingElementList::isEmpty):
        (WebCore::HTMLFormattingElementList::size):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
         - Part of the Adoption Agency algorithm.
        (WebCore::HTMLTreeBuilder::findFosterParentFor):
         - Used to move mis-nested content out of tables.
           This doesn't seem to work quite right yet.
        (WebCore::HTMLTreeBuilder::reparentChildren):
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
         - The ridiculously long/complicated adoption agency algorithm from HTML5.
        (WebCore::HTMLTreeBuilder::processEndTag):
        * html/HTMLTreeBuilder.h:

2010-07-04  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Darin Adler.

        Remove custom src bindings for HTMLFrameElement and HTMLIFrameElement
        https://bugs.webkit.org/show_bug.cgi?id=41578

        Remove bindings obsoleted by: http://trac.webkit.org/changeset/59866
        No new tests because behavior is not changed.

        * Android.jscbindings.mk:
        * Android.v8bindings.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSHTMLFrameElementCustom.cpp:
        * bindings/js/JSHTMLIFrameElementCustom.cpp: Removed.
        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: Removed.
        * html/HTMLFrameElement.idl:
        * html/HTMLIFrameElement.idl:

2010-07-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Maciej Stachowiak.

        Implement AfterAfterFramesetMode
        https://bugs.webkit.org/show_bug.cgi?id=41561

        This mode is almost unobservable.  The main way to observe it seems to
        be seeing where comment nodes get attached to the DOM.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

2010-07-03  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        WebGLRenderingContext::vertexAttrib* leads to possible out-of-range vector member visit
        https://bugs.webkit.org/show_bug.cgi?id=41572

        * html/canvas/WebGLRenderingContext.cpp: Fix the out-of-range vector member visit, also refactor the code.
        (WebCore::WebGLRenderingContext::vertexAttrib1f):
        (WebCore::WebGLRenderingContext::vertexAttrib1fv):
        (WebCore::WebGLRenderingContext::vertexAttrib2f):
        (WebCore::WebGLRenderingContext::vertexAttrib2fv):
        (WebCore::WebGLRenderingContext::vertexAttrib3f):
        (WebCore::WebGLRenderingContext::vertexAttrib3fv):
        (WebCore::WebGLRenderingContext::vertexAttrib4f):
        (WebCore::WebGLRenderingContext::vertexAttrib4fv):
        (WebCore::WebGLRenderingContext::vertexAttribfImpl):
        (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
        * html/canvas/WebGLRenderingContext.h: Helper function declaration.

2010-07-03  Jeremy Orlow  <jorlow@chromium.org>

        Ugh.  Have to put the destructor in the .h file since the .ccp isn't compiled yet.

        * storage/IDBKey.h:
        (WebCore::IDBKey::~IDBKey):

2010-07-03  Jeremy Orlow  <jorlow@chromium.org>

        Build fix.  Forgot destructor.

        * storage/IDBKey.cpp:
        (WebCore::IDBKey::~IDBKey):

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

        Reviewed by Dumitru Daniliuc.

        Support for keys and in-memory storage for IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=41252

        It'll take some time to get data persistence working for IndexedDB,
        so until then, we'll just store everything in an in memory tree.
        The tree uses WTF::AVLTree and is a template so that it can be used by
        object stores (IDBKey -> SerializedScriptValue) and indexes (IDBKey ->
        IDBKey).  This class will be used in a subsequent patch.

        Also add an IDBKey type that represents one of these keys.  We use a
        custom toJS function in a way similar to IDBAny to convert from WebCore
        to a JS value.  For converting the other way, we have to teach the code
        generators what to do (unfortunately).  This is done in a way similar
        to serialized script value.  Unlike serialized script value, IDBKey is
        in WebCore and only a helper function is JS engine specific.

        This code is not accessable from layout tests.  (Will fix in
        https://bugs.webkit.org/show_bug.cgi?id=41250)  The bindings tests
        show us that the generated bindings are what we expect.

        * ForwardingHeaders/wtf/AVLTree.h: Added.
        * bindings/js/IDBBindingUtilities.cpp: Added.
        (WebCore::createIDBKeyFromValue):
        * bindings/js/IDBBindingUtilities.h: Added.
        * bindings/js/JSIDBKeyCustom.cpp: Added.
        (WebCore::toJS):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        (WebDOMTestObj::idbKey):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_idb_key):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::):
        (WebCore::jsTestObjPrototypeFunctionIdbKey):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj idbKey:]):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::idbKeyCallback):
        (WebCore::):
        * bindings/v8/IDBBindingUtilities.cpp: Added.
        (WebCore::createIDBKeyFromValue):
        * bindings/v8/IDBBindingUtilities.h: Added.
        * bindings/v8/custom/V8IDBKeyCustom.cpp: Added.
        (WebCore::toV8):
        * storage/IDBCallbacks.h:
        * storage/IDBKey.cpp: Added.
        (WebCore::IDBKey::IDBKey):
        (WebCore::IDBKey::~IDBKey):
        * storage/IDBKey.h: Added.
        (WebCore::IDBKey::create):
        (WebCore::IDBKey::):
        (WebCore::IDBKey::type):
        (WebCore::IDBKey::string):
        (WebCore::IDBKey::number):
        * storage/IDBKey.idl: Added.
        * storage/IDBKeyTree.h: Added.
        (WebCore::IDBKeyTree::create):
        (WebCore::IDBKeyTree::AVLTreeAbstractor::get_less):
        (WebCore::IDBKeyTree::AVLTreeAbstractor::set_less):
        (WebCore::IDBKeyTree::AVLTreeAbstractor::get_greater):
        (WebCore::IDBKeyTree::AVLTreeAbstractor::set_greater):
        (WebCore::IDBKeyTree::AVLTreeAbstractor::get_balance_factor):
        (WebCore::IDBKeyTree::AVLTreeAbstractor::set_balance_factor):
        (WebCore::IDBKeyTree::AVLTreeAbstractor::null):
        (WebCore::IDBKeyTree::AVLTreeAbstractor::compare_key_node):
        (WebCore::IDBKeyTree::AVLTreeAbstractor::compare_node_node):
        (WebCore::::IDBKeyTree):
        (WebCore::::~IDBKeyTree):
        (WebCore::::AVLTreeAbstractor::compare_key_key):
        (WebCore::::get):
        (WebCore::::insert):
        (WebCore::::remove):

2010-07-03  Jon Honeycutt  <jhoneycutt@apple.com>

        The missing plug-in indicator should be clickable

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

        From an original patch by Kevin Decker.

        Reviewed by Darin Adler.

        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::defaultEventHandler):
        If the renderer is a RenderEmbeddedWidget showing the missing plug-in
        indicator, and the event is a click even, call the ChromeClient's
        missingPluginButtonClicked() function.

        * page/ChromeClient.h:
        (WebCore::ChromeClient::missingPluginButtonClicked):
        Declare missingPluginButtonClicked(), and stub the default
        implementation.

        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
        Initialize m_showsMissingPluginIndicator.
        (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator):
        Assert that we're not currently showing any replacement text. Set
        m_showsMissingPluginIndicator after setting the replacement text.
        (WebCore::RenderEmbeddedObject::setShowsCrashedPluginIndicator):
        Add the same assert as above.

        * rendering/RenderEmbeddedObject.h:
        (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator):
        Getter for m_showsMissingPluginIndicator.

2010-07-02  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoffrey Garen.

        Move BOM handling out of the lexer and parser
        https://bugs.webkit.org/show_bug.cgi?id=41539

        Update WebCore to ensure that SourceProviders don't
        produce strings with BOMs in them.

        * bindings/js/ScriptSourceProvider.h:
        (WebCore::ScriptSourceProvider::ScriptSourceProvider):
        * bindings/js/StringSourceProvider.h:
        (WebCore::StringSourceProvider::StringSourceProvider):
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::CachedScript):
        (WebCore::CachedScript::script):
        * loader/CachedScript.h:
        (WebCore::CachedScript::):
          CachedScript now stores decoded data with the BOMs stripped,
          and caches the presence of BOMs across memory purges.

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

        Include DerivedSources/WebCore before DerivedSources/

        Recently DerivedSources generation was changed, with some files no
        longer being generated in the toplevel DerivedSources
        directory. Since that directory is first in the -I flags the build
        can be broken in some cases by including old files unless a 'make
        clean' is done. Change the -I order to fix the build in the 32 bit
        Release bot.

        * GNUmakefile.am:

2010-07-03  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Ojan Vafai.

        Fix issue where a contextmenu event was reporting the wrong target if
        the context menu was shown due to pressing the context menu key
        (or Shift+F10).
        
        Split sendContextMenuForEvent into one case for keyboard events and use
        that when the contextmenu event should be dispatched due to a keypress.

        For the keboard case we now use the focused node as the target for the
        event and use the clipped rect to determine the position of the menu.
        
        https://bugs.webkit.org/show_bug.cgi?id=38129

        Use manual test since DRT does not handle context menu keys.

        * manual-tests/win/contextmenu-key.html: Added.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::sendContextMenuEvent):
        (WebCore::EventHandler::sendContextMenuEventForKey):
        * page/EventHandler.h:

2010-07-03  Dirk Schulze  <krit@webkit.org>

        Unreviewed sort of XCode project file.

        * WebCore.xcodeproj/project.pbxproj:

2010-07-03  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Port Widget
        https://bugs.webkit.org/show_bug.cgi?id=41538

        Make Widget a dummy class. WebKit Brew MP uses the full screen mode
        and does not use the window system introduced in Brew MP.

        * platform/Widget.h:
        * platform/brew/WidgetBrew.cpp: Added.
        (WebCore::Widget::Widget):
        (WebCore::Widget::~Widget):
        (WebCore::Widget::frameRect):
        (WebCore::Widget::setFrameRect):
        (WebCore::Widget::setFocus):
        (WebCore::Widget::setCursor):
        (WebCore::Widget::show):
        (WebCore::Widget::hide):
        (WebCore::Widget::paint):
        (WebCore::Widget::setIsSelected):

2010-07-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement AfterFramesetMode
        https://bugs.webkit.org/show_bug.cgi?id=41560

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

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

        Reviewed by Eric Seidel.

        Implement InFramesetMode
        https://bugs.webkit.org/show_bug.cgi?id=41559

        Pretty straighforward.  We still don't handle character tokens
        correctly.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

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

        Reviewed by Eric Seidel.

        Handle <frameset> InBody
        https://bugs.webkit.org/show_bug.cgi?id=41558

        Handling the <frameset> tag in the InBody mode is somewhat delicate.

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::popHTMLBodyElement):
        (WebCore::HTMLElementStack::popUntil):
        (WebCore::HTMLElementStack::popCommon):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

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

        Reviewed by Eric Seidel.

        Special handling of <rp> and <rt> tags
        https://bugs.webkit.org/show_bug.cgi?id=41557

        So sayeth the spec.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

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

        Reviewed by Eric Seidel.

        Implement special optgroup processing
        https://bugs.webkit.org/show_bug.cgi?id=41556

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

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

        Reviewed by Eric Seidel.

        Handle <image> in new parser
        https://bugs.webkit.org/show_bug.cgi?id=41555

        This patch is kind of goofy but apparently how the world works.

        * html/HTMLToken.h:
        (WebCore::AtomicHTMLToken::setName):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

2010-07-02  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Alexey Proskuryakov.

        Remove extra semicolon at the end of HTMLTreeBuilder::attach
        https://bugs.webkit.org/show_bug.cgi?id=41546

        This is not critical, but the extra semicolon at the end of HTMLTreeBuilder::attach
        causes a warning in RVCT.

        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::attach):

2010-07-02  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Adler.

        Performance::disconnectFrame() needs to disconnect its children
        https://bugs.webkit.org/show_bug.cgi?id=41533

        No new tests because no new functionality.

        * page/Performance.cpp:
        (WebCore::Performance::disconnectFrame):

2010-07-02  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Sam Weinig.

        Checking if WTF_USE_JSC is defined before redefining it in config.h
        https://bugs.webkit.org/show_bug.cgi?id=41530

        * config.h:

2010-07-02  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add vendor prefix to window.performance
        https://bugs.webkit.org/show_bug.cgi?id=41525

        No new tests because window.performance tests not landed yet.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::webkitPerformance):
        * page/DOMWindow.h:
        (WebCore::DOMWindow::optionalWebkitPerformance):
        * page/DOMWindow.idl:

2010-07-02  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Oliver Hunt.

        Minor fix: Diffuse constant is float (not integer)
        https://bugs.webkit.org/show_bug.cgi?id=10412

        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):

2010-07-02  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed.

        Build fix for GTK+. Try to force a rebuild of the HTMLNames.h
        file first by touching HTMLTagNames.in.

        * html/HTMLTagNames.in:

2010-07-02  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Oliver Hunt.

        RGB colors should be clamped to the 0-255 range
        https://bugs.webkit.org/show_bug.cgi?id=39482

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#colors

        Test: fast/canvas/canvas-color-clamping.html

        * css/CSSParser.cpp:
        (WebCore::parseColorInt):
        (WebCore::CSSParser::parseColor):
        (WebCore::parseColorIntFromValue):
        (WebCore::CSSParser::parseColorParameters):

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

        Unreviewed, rolling out r62410.
        http://trac.webkit.org/changeset/62410
        https://bugs.webkit.org/show_bug.cgi?id=41549

        accursed last minute changes (Requested by olliej on #webkit).

        * bindings/js/ScriptSourceProvider.h:
        (WebCore::ScriptSourceProvider::ScriptSourceProvider):
        * bindings/js/StringSourceProvider.h:
        (WebCore::StringSourceProvider::StringSourceProvider):
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::CachedScript):
        (WebCore::CachedScript::script):
        * loader/CachedScript.h:

2010-07-02  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed.

        Further Build fix for GTK+. Also include HTMLElementFactory.h in
        the list of dependencies.

        * GNUmakefile.am:

2010-07-02  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed.

        Build fix for GTK+. *Names.{cpp,h} targets should now include the
        header files. Also adds the header files to the generated sources list.

        * GNUmakefile.am:

2010-07-02  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Darin Fisher.

        DB clean up.
        https://bugs.webkit.org/show_bug.cgi?id=41404

        1. Made all DatabaseTasks internal classes of Database and made
           the Database methods called by those tasks private.
        2. Removed the Database::stop{ed}() methods.
        3. Removed the code that kept track of open databases from
           ScriptExecutionContext (no longer needed).
        4. Made minor changes to Database::closeImmediately() to make it
           possible for DatabaseThread to call that method instead of
           close().
        5. Minor fix to DatabaseTracker: addOpenDatabase() should call
           OriginQuotaManager::addDatabase() if the origin quota manager
           is not tracking this origin.
        6. Removed Database::performPolicyChecks(). We already update the
           DB size after each transaction, and we enforce a max size for
           the DB at the beginning of each transaction.

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::stopDatabases):
        * dom/ScriptExecutionContext.h:
        (WebCore::ScriptExecutionContext::hasOpenDatabases):
        * storage/Database.cpp:
        (WebCore::Database::openDatabase):
        (WebCore::Database::Database):
        (WebCore::Database::markAsDeletedAndClose):
        (WebCore::Database::close):
        (WebCore::Database::closeImmediately):
        * storage/Database.h:
        * storage/DatabaseTask.cpp:
        (WebCore::DatabaseTask::performTask):
        (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
        (WebCore::Database::DatabaseOpenTask::doPerformTask):
        (WebCore::Database::DatabaseOpenTask::debugTaskName):
        (WebCore::Database::DatabaseCloseTask::DatabaseCloseTask):
        (WebCore::Database::DatabaseCloseTask::doPerformTask):
        (WebCore::Database::DatabaseCloseTask::debugTaskName):
        (WebCore::Database::DatabaseTransactionTask::DatabaseTransactionTask):
        (WebCore::Database::DatabaseTransactionTask::doPerformTask):
        (WebCore::Database::DatabaseTransactionTask::debugTaskName):
        (WebCore::Database::DatabaseTableNamesTask::DatabaseTableNamesTask):
        (WebCore::Database::DatabaseTableNamesTask::doPerformTask):
        (WebCore::Database::DatabaseTableNamesTask::debugTaskName):
        * storage/DatabaseTask.h:
        (WebCore::Database::DatabaseOpenTask::create):
        (WebCore::Database::DatabaseCloseTask::create):
        (WebCore::Database::DatabaseTransactionTask::create):
        (WebCore::Database::DatabaseTableNamesTask::create):
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::databaseThread):
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::addOpenDatabase):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::executeSQL):
        (WebCore::SQLTransaction::checkAndHandleClosedDatabase):

2010-07-02  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoffrey Garen.

        Move BOM handling out of the lexer and parser
        https://bugs.webkit.org/show_bug.cgi?id=41539

        Update WebCore to ensure that SourceProviders don't
        produce strings with BOMs in them.

        * bindings/js/ScriptSourceProvider.h:
        (WebCore::ScriptSourceProvider::ScriptSourceProvider):
        * bindings/js/StringSourceProvider.h:
        (WebCore::StringSourceProvider::StringSourceProvider):
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::CachedScript):
        (WebCore::CachedScript::script):
        * loader/CachedScript.h:
        (WebCore::CachedScript::):
          CachedScript now stores decoded data with the BOMs stripped,
          and caches the presence of BOMs across memory purges.

2010-07-02  Sam Weinig  <sam@webkit.org>

        Add missing symbol to exports file.

        * WebCore.base.exp:

2010-07-02  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Darin Fisher.

        Remove the extra setFailed() call in JPEG decoder to prevent
        re-using an already freed object.
        https://bugs.webkit.org/show_bug.cgi?id=41487

        Test: fast/images/large-size-image-crash.html

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

2010-07-02  Peter Beverloo  <peter@lvp-media.com>

        Reviewed by Maciej Stachowiak.

        Add the HTML5 <mark> element. Text content of the element will have
        a yellow background color and black text.

        Test: fast/html/mark-element.html
        Tests for <p> closing, phrasing child content and residual style.

        * css/html.css:
        (mark):
        * html/HTMLElement.cpp:
        (WebCore::inlineTagList):
        * html/HTMLTagNames.in:
        * html/LegacyHTMLTreeBuilder.cpp:
        (WebCore::LegacyHTMLTreeBuilder::getNode):
        (WebCore::LegacyHTMLTreeBuilder::isInline):
        (WebCore::LegacyHTMLTreeBuilder::isResidualStyleTag):

2010-07-02  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Fix issues in boundary situations for WebGLRenderingContext::drawArrays/drawElements
        https://bugs.webkit.org/show_bug.cgi?id=41473

        * WebCore.gypi: Add CheckedInt.h.
        * WebCore.xcodeproj/project.pbxproj: Add CheckedInt.h.
        * html/canvas/CheckedInt.h: Added support of safe integer operations.
        (mozilla::CheckedInt_internal::integer_type_manually_recorded_info::):
        (mozilla::CheckedInt_internal::is_unsupported_type::):
        (mozilla::CheckedInt_internal::):
        (mozilla::CheckedInt_internal::integer_traits::):
        (mozilla::CheckedInt_internal::integer_traits::min):
        (mozilla::CheckedInt_internal::integer_traits::max):
        (mozilla::CheckedInt_internal::has_sign_bit):
        (mozilla::CheckedInt_internal::binary_complement):
        (mozilla::CheckedInt_internal::is_in_range):
        (mozilla::CheckedInt_internal::is_add_valid):
        (mozilla::CheckedInt_internal::is_sub_valid):
        (mozilla::CheckedInt_internal::is_mul_valid):
        (mozilla::CheckedInt_internal::is_div_valid):
        (mozilla::CheckedInt::CheckedInt):
        (mozilla::CheckedInt::value):
        (mozilla::CheckedInt::valid):
        (mozilla::CheckedInt::operator -):
        (mozilla::CheckedInt::operator ==):
        (mozilla::CheckedInt::operator !=):
        (mozilla::operator /):
        (mozilla::cast_to_CheckedInt_impl::run):
        (mozilla::):
        (mozilla::cast_to_CheckedInt):
        (mozilla::operator ==):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateIndexArrayConservative): Fix a bug against 0-size buffer situation.
        (WebCore::WebGLRenderingContext::drawArrays): Deal with overflows and count==0 situation.
        (WebCore::WebGLRenderingContext::drawElements): Deal with count==0 situation.

2010-07-02  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        linkProgram should fail when vertex/fragment shaders are not both present
        https://bugs.webkit.org/show_bug.cgi?id=41380

        Test: fast/canvas/webgl/program-test.html

        * html/canvas/WebGLProgram.cpp: Add flag for link failure due to missing shaders.
        (WebCore::WebGLProgram::WebGLProgram):
        * html/canvas/WebGLProgram.h: Add interface for linkFailure flag.
        (WebCore::WebGLProgram::isLinkFailureFlagSet):
        (WebCore::WebGLProgram::setLinkFailureFlag):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getProgramParameter): Intercept when linkFailureFlag is set.
        (WebCore::WebGLRenderingContext::linkProgram): Check if there are missing shaders and don't link if yes.
        * html/canvas/WebGLShader.cpp: Cache shader type.
        (WebCore::WebGLShader::WebGLShader):
        * html/canvas/WebGLShader.h: Ditto.
        (WebCore::WebGLShader::getType):

2010-07-02  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt]  Failed on http://philip.html5.org/tests/canvas/suite/tests/2d.drawImage.negativesource.html

        Support negative width and height in canvas image draw

        * platform/graphics/FloatRect.h:
        * platform/graphics/qt/FloatRectQt.cpp:
        (WebCore::FloatRect::normalized):
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw):

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

        Reviewed by Alexey Proskuryakov.

        REGRESSION: Enter does not trigger submit of forms when focus is on select.
        https://bugs.webkit.org/show_bug.cgi?id=39532

        Restore behavior where hitting "Enter" on a select element attempts to submit
        form implicitly.

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::menuListDefaultEventHandler): Added htmlForm argument,
            and attempting to submit implicitly.
        (WebCore::SelectElement::listBoxDefaultEventHandler): Ditto.
        (WebCore::SelectElement::defaultEventHandler): Plumbed through htmlForm argument.
        * dom/SelectElement.h: Added htmlForm argument to method declaration.
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::defaultEventHandler): Changed to provide submitting form
            as the argument.

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

        Reviewed by Darin Fisher.

        [Chromium] Support indeterminate checkbox for Linux, and a small fix for Windows
        https://bugs.webkit.org/show_bug.cgi?id=41508

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
          Use dedicated images for indeterminate states.
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::determineClassicState):
          Do not use DFCS_CHECKED in a case of indeterminate state in
          order to have consistent appearance of indeterminate checkbox.

2010-07-02  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Gustavo Noronha Silva.

        Fixes https://bugs.webkit.org/show_bug.cgi?id=41323.
        Provides an implementation of the 'squiggle' used for
        bad grammar or spelling, based on the Pango logic used
        by the GTK builds.

        No new tests. Covered by LayoutTests/editing/spelling

        * WebCore.vcproj/WebCore.vcproj: Add new file holding underline
        implementation, set to build only for WinCairo port.
        * platform/graphics/cairo/DrawErrorUnderline.cpp: Added.
        (drawErrorUnderline): New file containing the squiggle drawing
        logic based on the Pango implementation.  Placed in its own file
        to isolate licenses.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
        Have WinCairo build call new 'drawErrorUnderline' implementation.

2010-07-02  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Separate DerivedSources per-project
        https://bugs.webkit.org/show_bug.cgi?id=41109

        Generate WebCore derived sources in <builddir>/DerivedSources/WebCore.

        * GNUmakefile.am:

2010-07-02  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Implement OpenGL ES 2.0 semantics for vertex attribute 0
        https://bugs.webkit.org/show_bug.cgi?id=41300

        Test: fast/canvas/webgl/gl-bind-attrib-location-test.html
              fast/canvas/webgl/gl-vertex-attrib.html

        * html/canvas/WebGLProgram.cpp:
        (WebCore::WebGLProgram::numActiveAttribLocations): const.
        (WebCore::WebGLProgram::getActiveAttribLocation): const.
        (WebCore::WebGLProgram::isUsingVertexAttrib0): Determine whether vertex attrib 0 is used by the program.
        * html/canvas/WebGLProgram.h: Declare isUsingVertexAttrib0.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Deal with vertex attrib 0.
        (WebCore::WebGLRenderingContext::disableVertexAttribArray): Ditto.
        (WebCore::WebGLRenderingContext::drawArrays): Ditto.
        (WebCore::WebGLRenderingContext::drawElements): Ditto.
        (WebCore::WebGLRenderingContext::getVertexAttrib): Use cached value instead of calling glGetVertexAtrtrib.
        (WebCore::WebGLRenderingContext::vertexAttrib1f): Validate input, deal with vertex attrib 0.
        (WebCore::WebGLRenderingContext::vertexAttrib1fv): Ditto.
        (WebCore::WebGLRenderingContext::vertexAttrib2f): Ditto.
        (WebCore::WebGLRenderingContext::vertexAttrib2fv): Ditto.
        (WebCore::WebGLRenderingContext::vertexAttrib3f): Ditto.
        (WebCore::WebGLRenderingContext::vertexAttrib3fv): Ditto.
        (WebCore::WebGLRenderingContext::vertexAttrib4f): Ditto.
        (WebCore::WebGLRenderingContext::vertexAttrib4fv): Ditto.
        (WebCore::WebGLRenderingContext::vertexAttribPointer): Ditto.
        (WebCore::WebGLRenderingContext::handleNPOTTextures): Move isGLES2Compliant() to caller.
        (WebCore::WebGLRenderingContext::vertexAttribImpl): Helper for vertexAttribNfv.
        (WebCore::WebGLRenderingContext::initVertexAttrib0): Initialize vertex attrib 0.
        (WebCore::WebGLRenderingContext::simulateVertexAttrib0): Simulate vertex attrib 0.
        (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation): Restore states after simulating vertex attrib 0.
        * html/canvas/WebGLRenderingContext.h:
        (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState): Tracking full vertex attrib states.
        (WebCore::WebGLRenderingContext::VertexAttribState::initValue): Init value to [0,0,0,1].

2010-07-02  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Need to validate the size of the incoming arrays for uniform* functions
        https://bugs.webkit.org/show_bug.cgi?id=41383

        * html/canvas/WebGLRenderingContext.cpp: Validate input array size.
        (WebCore::WebGLRenderingContext::uniform1fv):
        (WebCore::WebGLRenderingContext::uniform1iv):
        (WebCore::WebGLRenderingContext::uniform2fv):
        (WebCore::WebGLRenderingContext::uniform2iv):
        (WebCore::WebGLRenderingContext::uniform3fv):
        (WebCore::WebGLRenderingContext::uniform3iv):
        (WebCore::WebGLRenderingContext::uniform4fv):
        (WebCore::WebGLRenderingContext::uniform4iv):
        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
        (WebCore::WebGLRenderingContext::validateUniformParameters):
        (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
        * html/canvas/WebGLRenderingContext.h: Add helper functions.

2010-07-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Canvas arcTo() should draw straight line to p1 if p0, p1 and p2 are collinear

        The implementation of PathQt's addArcTo() was not float-safe and also had
        a case where it drew an 'infinite' line, which is not part of the spec.

        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arcto

        We now use qFuzzyCompare() in both cases. The method isPointOnPathBorder()
        also had the same problem, and was refactored a bit in the process of fixing
        the bug.

        Initial patch by Andreas Kling.

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

        * platform/graphics/qt/PathQt.cpp:

2010-07-02  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: inspected page crashes on attempt to change iframe's src attribute
        https://bugs.webkit.org/show_bug.cgi?id=41511

        Tests: fast/events/popup-blocked-from-fake-user-gesture.html
               http/tests/inspector/change-iframe-src.html

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGesture): use V8Proxy from the ScriptController instead of one
        from the call stack. Get event directly from hidden property to avoid unnecessary checks.
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::invokeEventHandler):
        * bindings/v8/V8HiddenPropertyName.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::eventAccessorGetter):
        (WebCore::V8DOMWindow::eventAccessorSetter):

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

        Reviewed by Eric Seidel.

        Fix tokenization of <!----->
        https://bugs.webkit.org/show_bug.cgi?id=41505

        I noticed this error when browsing through the HTML5lib failures.
        We're adding an extra character to the comment token, contrary to what
        the spec says to do.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):

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

        Reviewed by Eric Seidel.

        Implement processFakePEndTagIfPInScope
        https://bugs.webkit.org/show_bug.cgi?id=41503

        This is a common idiom because <p> likes to close itself.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInScope):
        (WebCore::HTMLTreeBuilder::processStartTag):
        * html/HTMLTreeBuilder.h:

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

        Reviewed by Eric Seidel.

        Implement AfterAfterBodyMode
        https://bugs.webkit.org/show_bug.cgi?id=41501

        In implementing this mode, I noticed a bug in the character processing
        of the AfterBodyMode, which I fixed by adding a break statement.  Also,
        to get one of the new tests to pass, I needed to implement one
        notImplemented() in the InBody insertion mode.  Yay for testing.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):

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

        Unreviewed, rolling out r62371.
        http://trac.webkit.org/changeset/62371
        https://bugs.webkit.org/show_bug.cgi?id=41515

        "Breaks media/controls-drag-timebar.html on 32-Bit Release"
        (Requested by philn-tp on #webkit).

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

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

        Reviewed by Xan Lopez.

        [GStreamer] can't seek past maxTimeLoaded value
        https://bugs.webkit.org/show_bug.cgi?id=40526

        Extended the seekable range to the whole media. This allows video
        played with progressive download to be seeked past the current
        buffered position.

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

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

        Reviewed by Eric Seidel.

        Implement AfterBodyMode for HTML5 tree builder
        https://bugs.webkit.org/show_bug.cgi?id=41500

        In the coarse of implementing this state, I ran into an ASSERT in how
        </br> tags where handled, which I fixed.  Technically, that could be a
        separate patch, but it seemed harmless to include it here (with tests).

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        (WebCore::HTMLTreeBuilder::insertCommentOnHTMLHtmlElement):
        * html/HTMLTreeBuilder.h:

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

        Reviewed by Eric Seidel.

        Handle <base> and friends in AfterHeadMode
        https://bugs.webkit.org/show_bug.cgi?id=41502

        Implement notImplemented() per spec.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):

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

        Build fix

        * dom/Document.h:

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

        Reviewed by Maciej Stachowiak.

        Add a FixedArray template to encapsulate fixed length arrays
        https://bugs.webkit.org/show_bug.cgi?id=41506

        Add forwarding header, and replace a few fixed length arrays
        with the new FixedArray type.

        * ForwardingHeaders/wtf/FixedArray.h: Added.
        * dom/Document.h:
        * platform/graphics/GlyphMetricsMap.h:

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

        No review.

        Fix a link warning in 32-bit by not explicitly exporting WebCore::GraphicsLayer::syncCompositingStateForThisLayerOnly().

        * WebCore.AcceleratedCompositing.exp:

2010-07-01  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add window.performance.navigation namespace
        https://bugs.webkit.org/show_bug.cgi?id=41442

        Adds window.performance.navigation namespace consisting of ".type"
        and ".redirectCount". As part of this change, I renmaed "NavigationTiming"
        to just "Timing" to avoid confusion.

        No new tests because tests will be added in a subsequent patch when
        functionality is added.

        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/Navigation.cpp: Added.
        (WebCore::Navigation::Navigation):
        (WebCore::Navigation::frame):
        (WebCore::Navigation::disconnectFrame):
        (WebCore::Navigation::type):
        (WebCore::Navigation::redirectCount):
        * page/Navigation.h: Added.
        (WebCore::Navigation::create):
        * page/Navigation.idl: Added.
        * page/NavigationTiming.cpp: Removed.
        * page/NavigationTiming.h: Removed.
        * page/NavigationTiming.idl: Removed.
        * page/Performance.cpp:
        (WebCore::Performance::navigation):
        (WebCore::Performance::timing):
        * page/Performance.h:
        * page/Performance.idl:
        * page/Timing.cpp: Added.
        (WebCore::Timing::Timing):
        (WebCore::Timing::frame):
        (WebCore::Timing::disconnectFrame):
        (WebCore::Timing::navigationStart):
        * page/Timing.h: Added.
        (WebCore::Timing::create):
        * page/Timing.idl: Added.

2010-07-01  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Jian Li.

        [chromium] Dragging a link triggers an assert when accessing event.dataTransfer.types
        https://bugs.webkit.org/show_bug.cgi?id=41493

        ClipboardChromium::writeURL violates ClipboardChromium's assumption that uriList will always
        be non-empty if url is valid.

        No new tests.

        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::writeURL):

2010-07-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Clamp color stops passed to QGradient to 1.0
        [https://bugs.webkit.org/show_bug.cgi?id=41484

        Fixes an issue where color stops would be silently dropped from radial gradients.

        * platform/graphics/qt/GradientQt.cpp:
        (WebCore::Gradient::platformGradient):

2010-07-01  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTokenizer should ASSERT that it never emits a null character
        https://bugs.webkit.org/show_bug.cgi?id=41448

        No functional change, thus no tests.  These ASSERTs would have
        caught the coding error which caused the trouble in bug 41436
        (which was fixed by bug 41439).

        * html/HTMLToken.h:
        (WebCore::HTMLToken::beginStartTag):
        (WebCore::HTMLToken::beginCharacter):
        (WebCore::HTMLToken::beginDOCTYPE):
        (WebCore::HTMLToken::appendToName):
        (WebCore::HTMLToken::appendToComment):
        (WebCore::HTMLToken::appendToAttributeName):
        (WebCore::HTMLToken::appendToAttributeValue):
        (WebCore::HTMLToken::appendToPublicIdentifier):
        (WebCore::HTMLToken::appendToSystemIdentifier):

2010-07-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Canvas: Don't paint with empty radial gradients
        https://bugs.webkit.org/show_bug.cgi?id=41190

        If a radial gradient has x0==x1 && y0==y1 && r0==r1, don't paint with it.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::fillRect):
        * platform/graphics/Gradient.h:
        (WebCore::Gradient::isZeroSize):

2010-07-01  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Add interface for network platform to pass up timing information
        https://bugs.webkit.org/show_bug.cgi?id=41437

        The Web Timing feature requires the network platform to expose detailed
        timing information for the main resource. This patch adds that data to
        the ResourceResponseBase. Since the 82 bytes of information is only
        needed for the main resource, it is a RefPtr to avoid using the memory
        for other resource types.

        No new tests because no new functionality.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/network/ResourceLoadTiming.h: Added.
        (WebCore::ResourceLoadTiming::create):
        (WebCore::ResourceLoadTiming::deepCopy):
        (WebCore::ResourceLoadTiming::operator==):
        (WebCore::ResourceLoadTiming::operator!=):
        (WebCore::ResourceLoadTiming::ResourceLoadTiming):
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::adopt):
        (WebCore::ResourceResponseBase::copyData):
        (WebCore::ResourceResponseBase::resourceLoadTiming):
        (WebCore::ResourceResponseBase::setResourceLoadTiming):
        (WebCore::ResourceResponseBase::compare):
        * platform/network/ResourceResponseBase.h:

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

        Unreviewed, rolling out r62321.
        http://trac.webkit.org/changeset/62321
        https://bugs.webkit.org/show_bug.cgi?id=41494

        Broke the non-win builds. (Requested by dumi on #webkit).

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::addOpenDatabase):
        (WebCore::ScriptExecutionContext::removeOpenDatabase):
        (WebCore::ScriptExecutionContext::stopDatabases):
        * dom/ScriptExecutionContext.h:
        * storage/Database.cpp:
        (WebCore::Database::openDatabase):
        (WebCore::Database::Database):
        (WebCore::Database::markAsDeletedAndClose):
        (WebCore::ContextRemoveOpenDatabaseTask::create):
        (WebCore::ContextRemoveOpenDatabaseTask::performTask):
        (WebCore::ContextRemoveOpenDatabaseTask::isCleanupTask):
        (WebCore::ContextRemoveOpenDatabaseTask::ContextRemoveOpenDatabaseTask):
        (WebCore::Database::close):
        (WebCore::Database::closeImmediately):
        (WebCore::Database::stop):
        (WebCore::Database::performPolicyChecks):
        * storage/Database.h:
        (WebCore::Database::):
        (WebCore::Database::stopped):
        * storage/DatabaseTask.cpp:
        (WebCore::DatabaseTask::performTask):
        (WebCore::DatabaseOpenTask::DatabaseOpenTask):
        (WebCore::DatabaseOpenTask::doPerformTask):
        (WebCore::DatabaseOpenTask::debugTaskName):
        (WebCore::DatabaseCloseTask::DatabaseCloseTask):
        (WebCore::DatabaseCloseTask::doPerformTask):
        (WebCore::DatabaseCloseTask::debugTaskName):
        (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
        (WebCore::DatabaseTransactionTask::~DatabaseTransactionTask):
        (WebCore::DatabaseTransactionTask::doPerformTask):
        (WebCore::DatabaseTransactionTask::debugTaskName):
        (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
        (WebCore::DatabaseTableNamesTask::doPerformTask):
        (WebCore::DatabaseTableNamesTask::debugTaskName):
        * storage/DatabaseTask.h:
        (WebCore::DatabaseOpenTask::create):
        (WebCore::DatabaseCloseTask::create):
        (WebCore::DatabaseTransactionTask::create):
        (WebCore::DatabaseTableNamesTask::create):
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::databaseThread):
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::addOpenDatabase):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::executeSQL):
        (WebCore::SQLTransaction::checkAndHandleClosedDatabase):

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

        Reviewed by Gustavo Noronha.

        [GTK] Stop using GdkRegion in 3.x mode
        https://bugs.webkit.org/show_bug.cgi?id=41463

        Make us compile without using GdkRegion, since it's gone from GTK+
        3.x.

        * platform/graphics/IntRect.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::cairo_region_shrink):
        (WebCore::Font::drawComplexText):
        * platform/gtk/GtkPluginWidget.cpp:
        (WebCore::GtkPluginWidget::paint):
        * platform/gtk/RenderThemeGtk.h:
        * platform/gtk/ScrollbarGtk.cpp:
        (ScrollbarGtk::paint):

2010-06-30  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Darin Fisher.

        DB clean up.
        https://bugs.webkit.org/show_bug.cgi?id=41404

        1. Made all DatabaseTasks internal classes of Database and made
           the Database methods called by those tasks private.
        2. Removed the Database::stop{ed}() methods.
        3. Removed the code that kept track of open databases from
           ScriptExecutionContext (no longer needed).
        4. Made minor changes to Database::closeImmediately() to make it
           possible for DatabaseThread to call that method instead of
           close().
        5. Minor fix to DatabaseTracker: addOpenDatabase() should call
           OriginQuotaManager::addDatabase() if the origin quota manager
           is not tracking this origin.
        6. Removed Database::performPolicyChecks(). We already update the
           DB size after each transaction, and we enforce a max size for
           the DB at the beginning of each transaction.

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::stopDatabases):
        * dom/ScriptExecutionContext.h:
        (WebCore::ScriptExecutionContext::hasOpenDatabases):
        * storage/Database.cpp:
        (WebCore::Database::openDatabase):
        (WebCore::Database::Database):
        (WebCore::Database::markAsDeletedAndClose):
        (WebCore::Database::close):
        (WebCore::Database::closeImmediately):
        * storage/Database.h:
        * storage/DatabaseTask.cpp:
        (WebCore::DatabaseTask::performTask):
        (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
        (WebCore::Database::DatabaseOpenTask::doPerformTask):
        (WebCore::Database::DatabaseOpenTask::debugTaskName):
        (WebCore::Database::DatabaseCloseTask::DatabaseCloseTask):
        (WebCore::Database::DatabaseCloseTask::doPerformTask):
        (WebCore::Database::DatabaseCloseTask::debugTaskName):
        (WebCore::Database::DatabaseTransactionTask::DatabaseTransactionTask):
        (WebCore::Database::DatabaseTransactionTask::doPerformTask):
        (WebCore::Database::DatabaseTransactionTask::debugTaskName):
        (WebCore::Database::DatabaseTableNamesTask::DatabaseTableNamesTask):
        (WebCore::Database::DatabaseTableNamesTask::doPerformTask):
        (WebCore::Database::DatabaseTableNamesTask::debugTaskName):
        * storage/DatabaseTask.h:
        (WebCore::Database::DatabaseOpenTask::create):
        (WebCore::Database::DatabaseCloseTask::create):
        (WebCore::Database::DatabaseTransactionTask::create):
        (WebCore::Database::DatabaseTableNamesTask::create):
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::databaseThread):
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::addOpenDatabase):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::executeSQL):
        (WebCore::SQLTransaction::checkAndHandleClosedDatabase):

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

        Reviewed by Darin Fisher.

        [Chromium] Support indeterminate checkbox for Windows
        https://bugs.webkit.org/show_bug.cgi?id=41444

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::determineState):
         Check isIndeterminate() and set an appropriate flag value.

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

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=41488
        <rdar://problem/7487420> Crash in SubresourceLoader::create when load is initiated from plug-in destructor

        Test: plugins/js-from-destroy.html

        * loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::create): Null check active
        document loader.

2010-07-01  Andy Estes  <aestes@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8113003> Correctly fire beforeload events for images
        added to the DOM using .innerHTML.
        https://bugs.webkit.org/show_bug.cgi?id=40919

        Test: fast/dom/beforeload/image-before-load-innerHTML.html

        * html/LegacyHTMLDocumentParser.cpp:
        (WebCore::LegacyHTMLDocumentParser::write): Do not fire synchronous
        image beforeload events immediately after parsing a document fragment.
        Let the events fire later, giving the fragment time to potentially be
        inserted into the document.

2010-07-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Canvas: bezierCurveTo() and quadraticCurveTo() must ensure subpaths
        https://bugs.webkit.org/show_bug.cgi?id=41192

        If the current path is empty, bezierCurveTo() and quadraticCurveTo() will now
        move to the (first) control point before adding the curve.

        Spec links:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-beziercurveto
        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-quadraticcurveto

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
        (WebCore::CanvasRenderingContext2D::bezierCurveTo):

2010-07-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Canvas element cannot have negative width or height (HTML5 spec 4.8.11)
        https://bugs.webkit.org/show_bug.cgi?id=39149

        If assigned a negative value, it should default to 300 for width and 150 for height.

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#attr-canvas-width

        Test: fast/canvas/canvas-negative-size.html

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::reset):

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

        Reviewed by Steve Falkenburg.

        Turn on adoptRef assertion for TreeShared.

        * platform/TreeShared.h: Remove LOOSE_TREE_SHARED and all the ifdefs.
        Actually, I used LOOSE_REF_COUNTED by accident in a few places, but
        removing them all now.

        * rendering/ShadowElement.cpp:
        (WebCore::ShadowBlockElement::create): Added adoptRef. This was a
        storage leak before, probably recently introduced r61324.
        (WebCore::ShadowInputElement::create): Ditto.

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

        Reviewed by Gustavo Noronha.

        Only include the geolocation IDL in the GObject DOM bindings set
        if geolocation is enabled.

        * GNUmakefile.am:

2010-07-01  Timothy Hatcher  <timothy@apple.com>

        Provide a WebView preference to disable DNS prefetching.

        https://bugs.webkit.org/show_bug.cgi?id=28825
        rdar://problem/7181249

        Reviewed by Darin Adler.

        * WebCore.base.exp: Added Settings::setDNSPrefetchingEnabled.
        * dom/Document.cpp:
        (WebCore::Document::initDNSPrefetch): Check settings->dnsPrefetchingEnabled().
        * page/Settings.cpp:
        (WebCore::Settings::Settings): Set m_dnsPrefetchingEnabled to true.
        (WebCore::Settings::setDNSPrefetchingEnabled): Added. Set m_dnsPrefetchingEnabled.
        * page/Settings.h:
        (WebCore::Settings::dnsPrefetchingEnabled): Added. Return m_dnsPrefetchingEnabled.

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

        Reviewed by Darin Adler.

        Get accelerated compositing working with webkit2
        https://bugs.webkit.org/show_bug.cgi?id=41084

        Step 2: add a  method, syncCompositingStateForThisLayerOnly(), to GraphicsLayer to commit
        batched changes non-recursively. This allows us to use GraphicsLayer in places where we
        don't want to kick off a recursive commit of the entire tree.

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::syncCompositingStateForThisLayerOnly):
        * platform/graphics/mac/GraphicsLayerCA.h:
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::syncCompositingStateForThisLayerOnly):
        * WebCore.AcceleratedCompositing.exp: Export the new method for use in WebKit2.

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

        Reviewed by Sam Weinig.

        Get accelerated compositing working with webkit2
        https://bugs.webkit.org/show_bug.cgi?id=41084

        Step 1: add a new .exp file for WebCore, which exports symbols only when USE(ACCELERATED_COMPOSITING)
        is defined.
        
        Also export WebCore::FloatSize::FloatSize(WebCore::IntSize const&) from WebCore.

        * DerivedSources.make:
        * WebCore.AcceleratedCompositing.exp: Added.
        * WebCore.base.exp:
        * WebCore.xcodeproj/project.pbxproj:

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

        Reviewed by Darin Adler.

        <rdar://problem/8148656> <https://bugs.webkit.org/show_bug.cgi?id=41431>
        REGRESSION (r49411): Various crashes due to JavaScript execution during plug-in destruction

        Test: plugins/write-xssauditor-from-destroy.html

        Fix specific known cases that also crash in same process case. I don't know if there is
        any rule for when documentLoader should be checked for being null, it looks like a mess.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::referrer):
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::findInRequest):

2010-07-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        The HTML5 canvas 2d.drawImage.zerocanvas test does not pass
        https://bugs.webkit.org/show_bug.cgi?id=40271

        Throw INVALID_STATE_ERR when attempting to draw a canvas with zero width or height.

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-drawimage

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::drawImage): Call setDOMException after drawImage(canvas, x, y)
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage):

2010-07-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Oliver Hunt.

        [Qt] Canvas: clip() should use non-zero winding rule
        https://bugs.webkit.org/show_bug.cgi?id=41466

        Use non-zero winding number rule when clipping a GraphicsContext from canvas.
        Fixes appearance of the "pill" in the web inspector.

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

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

        Unreviewed, rolling out r62246.
        http://trac.webkit.org/changeset/62246
        https://bugs.webkit.org/show_bug.cgi?id=41470

        "Worker tests are broken in Chromium" (Requested by yurys on
        #webkit).

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGesture):
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::invokeEventHandler):
        * bindings/v8/V8HiddenPropertyName.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::eventAccessorGetter):
        (WebCore::V8DOMWindow::eventAccessorSetter):

2010-07-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Canvas: Exception erroneously thrown for drawImage() when image.complete=false
        https://bugs.webkit.org/show_bug.cgi?id=33968

        Do nothing in drawImage() if called with an image whose 'complete'
        attribute is false, or a video whose readyState is either HAVE_NOTHING
        or HAVE_METADATA.

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-drawimage

        Test: fast/canvas/canvas-drawImage-incomplete.html

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

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

        Reviewed by Dan Bernstein.

        Prevent crash on counter destruction
        https://bugs.webkit.org/show_bug.cgi?id=40032

        Added counter destruction to RenderWidget::destroy()

        Test: fast/css/counters/destroy-counter-crash.html

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

2010-07-01  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Unreviewed build fix after r62215.

        No new functionality, so no new tests.

        * CMakeLists.txt: Add missing files and re-sort.

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

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Remove an unneeded assert.

        This assert is triggered for example while showing the falling leaves demo.
        GraphicsLayerQtImpl::toGraphicsLayerQtImpl asserts that its input
        pointer is null. Looking at the uses of this method it seems like
        it is expected to return null if a null pointer is given to it.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::toGraphicsLayerQtImpl):

2010-06-16  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix qmake vcproj generation for QtWebKit.

        qmake use TARGET=/LIBS+= -lTARGET to create dependencies
        between projects in a subdir template.

        Since when compiling outside of Qt we hijack the target name of
        QtWebKit to add the configuration and version suffix to the binary
        filename, qmake can't establish the WebCore project as a dependency
        to QtTestBrowser.

        This patch makes sure that the target is not hijacked on the
        first of the three passes where the dependencies are determined.

        * WebCore.pro:

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

        Reviewed by Dirk Schulze.

        SVGRenderStyle::diff() is missing
        https://bugs.webkit.org/show_bug.cgi?id=41455

        Don't just return StyleDifferenceLayout when two SVGRenderStyle objects differ.
        Figure out when to repaint, and as last resort do a relayout.

        Lively Kernel doesn't do any relayouts anymore, same for lots of demos in the IE9 testcenter.

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::SVGRenderStyle::diff):
        * rendering/style/SVGRenderStyle.h:

2010-07-01  Antti Koivisto  <koivisto@iki.fi>

        Revert accidental commit.

        * platform/network/qt/ResourceRequestQt.cpp:
        (WebCore::ResourceRequest::toNetworkRequest):

2010-07-01  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Nikolas Zimmermann.

        Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r62196.
        https://bugs.webkit.org/show_bug.cgi?id=40984

        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::finishRenderSVGContent):

2010-07-04  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Dirk Schulze.

        Buildfix for !ENABLE(FILTERS) after r62238.
        https://bugs.webkit.org/show_bug.cgi?id=41456

        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::prepareToRenderSVGContent):

2010-07-01  MORITA Hajime  <morrita@google.com>

        Unreviewed build fix.

        * rendering/RenderInputSpeech.cpp:
        (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
        * rendering/RenderInputSpeech.h:
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paintInputFieldSpeechButton):
        * rendering/RenderTheme.h:

2010-07-01  Satish Sampath  <satish@chromium.org>

        Reviewed by Kent Tamura.

        Rendering the speech button in input elements.
        https://bugs.webkit.org/show_bug.cgi?id=40984

        The button currently has only one state and rendered as an image on all platforms. Subsequent
        patches will add user input handling and more states + rendering code to the button. The
        button's appearance can be customized by individual ports in their RenderTheme implementation
        if required.

        Tests: platform/mac/fast/forms/input-appearance-numberandspeech.html
               platform/mac/fast/forms/input-appearance-searchandspeech.html
               platform/mac/fast/forms/input-appearance-speechbutton.html

        * GNUmakefile.am:
        * Resources/inputSpeech.png: Added.
        * Resources/inputSpeech.tiff: Added. Used by the Mac implementation.
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.qrc:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/qt/ImageQt.cpp:
        (loadResourcePixmap): Load the speech button images for Qt port.
        * rendering/RenderInputSpeech.cpp: Added.
        (WebCore::RenderInputSpeech::adjustInputFieldSpeechButtonStyle): Sets the button's dimensions.
        (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
        * rendering/RenderInputSpeech.h: Added.
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::layout):
        (WebCore::RenderTextControlSingleLine::forwardEvent):
        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): Create the speech button.
        (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::adjustInputFieldSpeechButtonStyle):
        (WebCore::RenderTheme::paintInputFieldSpeechButton):
        * rendering/RenderTheme.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintSearchFieldCancelButton): Get cancel button to render to the left of
        speech button when enabled.

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

        Reviewed by Xan Lopez.

        [GTK] Extra nullcheck needed at SelectionControllerGtk.cpp
        https://bugs.webkit.org/show_bug.cgi?id=41447

        Extra null check added.

        * editing/gtk/SelectionControllerGtk.cpp:
        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):

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

        Reviewed by Adam Barth.

        [v8] Web Inspector: inspected page crashes on attempt to change iframe's src attribute
        https://bugs.webkit.org/show_bug.cgi?id=41350

        Tests: fast/events/popup-blocked-from-fake-user-gesture.html
               http/tests/inspector/change-iframe-src.html

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGesture): use V8Proxy from the ScriptController instead of one
        from the call stack. Get event directly from hidden property to avoid unnecessary checks.
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::invokeEventHandler):
        * bindings/v8/V8HiddenPropertyName.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::eventAccessorGetter):
        (WebCore::V8DOMWindow::eventAccessorSetter):

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

        Reviewed by Dirk Schulze.

        RenderSVGContainer/RenderSVGRoot report wrong strokeBoundingBox()
        https://bugs.webkit.org/show_bug.cgi?id=41450

        strokeBoundingBox() was reporting the repaintRectInLocalCoordinates() for children of a container,
        instead of the actual strokeBoundingBox(). Only visible in WebInspector when looking at a container
        which has a resource applied and contains a children which also has a resource applied.

        Doesn't affect any test results.

        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::objectBoundingBox):
        (WebCore::RenderSVGContainer::strokeBoundingBox):
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::objectBoundingBox): Deinlined this functions, it's virtual so there's no gain.
        (WebCore::RenderSVGRoot::strokeBoundingBox): Ditto.
        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
        * rendering/RenderSVGRoot.h:
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::computeContainerBoundingBox):
        * rendering/SVGRenderSupport.h: Add enum controlling the mode of container bounding box mode calculation.

2010-07-01  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Implementing feConvolveMatrix svg filter
        https://bugs.webkit.org/show_bug.cgi?id=5861

        The implementation is optimized for speed, and uses
        multiple algorithms for different parts of the image.
        See SVGFEConvolveMatrixElement.cpp for a detailed
        description.

        * svg/SVGFEConvolveMatrixElement.cpp:
        (WebCore::SVGFEConvolveMatrixElement::build):
        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
        (WebCore::clampRGBAValue):
        (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
        (WebCore::FEConvolveMatrix::getPixelValue):
        (WebCore::FEConvolveMatrix::fastSetOuterPixels):
        (WebCore::FEConvolveMatrix::setInteriorPixels):
        (WebCore::FEConvolveMatrix::setOuterPixels):
        (WebCore::FEConvolveMatrix::apply):
        * svg/graphics/filters/SVGFEConvolveMatrix.h:
        (WebCore::FEConvolveMatrix::uniteChildEffectSubregions):

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

        Reviewed by Eric Seidel.

        Abstract 'a'-'z' checks into a function
        https://bugs.webkit.org/show_bug.cgi?id=41438

        Hopefully this version is more readable.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):

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

        Reviewed by Eric Seidel.

        Parameter names in frame src URLs parsed incorrectly if resembles HTML entity code followed by underscore
        https://bugs.webkit.org/show_bug.cgi?id=41345

        Apparently whether an HTML entity requires a trailing semicolon varies
        depending on the entity.  The full table is in the spec:

        http://www.whatwg.org/specs/web-apps/current-work/multipage/named-character-references.html#named-character-references

        I believe branch added in this patch is accurate.  At some point, I'll
        add a full test suite for all the named entities.

        * html/HTMLEntityParser.cpp:
        (WebCore::consumeHTMLEntity):

2010-07-01  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Fix paste-o in Gtk build file.

        Split out HTMLFormattingElementList into its own file
        https://bugs.webkit.org/show_bug.cgi?id=41440

        * GNUmakefile.am:

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

        Reviewed by Eric Seidel & Dirk Schulze.

        Performance regression for setting content of <text> in SVG
        https://bugs.webkit.org/show_bug.cgi?id=36564

        Dramatically reducing the number of repaintRectInLocalCoordinates() calls needed while painting.
        Do not pass the repaintRect to prepareToRenderSVGContent, only calculate it if opacity < 1 or -webkit-svg-shadow is set.
        Most noticeable is that RenderSVGRoot had to visit all children, before actually painting, just to calculate the repaint rect.
        And as RenderSVGRoot never carries shadow or opacity it was completly useless.

        RenderSVGContainer also called repaintRectInLocalCoordinates, but the result is only needed when painting outlines, which is a rare case.
        These modifications fix the performance regression and the number of repaintRectInLocalCoordinate calls for the complex example in
        the bug report with 500 runs shrinks from 1.7 million calls to less than 105.000.

        50 runs without the patch: ~ 520.8ms
        50 runs with the patch   : ~ 501.8ms

        The test calls setTimeout(0) 50 times, that already accounts for the 500ms. So setting the content of a <text>
        element withs clippers applied, is very cheap now.

        Also remove the need to pass in a filter argument to prepareToRenderSVGContent/finishRenderSVGContent, it can easily be grabbed
        of the cache - just like all other resources are handled, simplifying the code.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint):
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::paint):
        * rendering/SVGInlineFlowBox.cpp:
        (WebCore::SVGInlineFlowBox::paint):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
        (WebCore::SVGRenderSupport::finishRenderSVGContent):
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::paint):

2010-07-01  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Split out HTMLFormattingElementList into its own file
        https://bugs.webkit.org/show_bug.cgi?id=41440

        No functional changes, thus no tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
        (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
        * html/HTMLTreeBuilder.h:

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

        Reviewed by Eric Seidel.

        BogusCommentState should come in from the cold
        https://bugs.webkit.org/show_bug.cgi?id=41439

        The BogusCommentState has always been wrong.  The proximate issue is
        that it didn't handle resuming correctly when parsing a partial input
        stream.  Now that we have EOF working properly, we can actually
        implement this state correctly.

        We need to distinguish when we enter this state from when we continue
        in this state.  We could do that with a branch for each character, but
        it seemed easier to split the state in two, even though that leaves us
        with one more state in our tokenizer than we have in the HTML5 spec.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::):

2010-06-30  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTMLTokenizer's whitespace checks are very redundant
        https://bugs.webkit.org/show_bug.cgi?id=41434

        This patch adds isTokenizerWhitespace, which replaces a lot of
        redundant logic in nextToken.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):

2010-06-30  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Crash when uploading document to Google Docs
        https://bugs.webkit.org/show_bug.cgi?id=40795

        Fix bug where the local file wasn't opened (for POSTing)
        if it were the first element in the form.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::FormDataIODevice::FormDataIODevice):
        (WebCore::FormDataIODevice::moveToNextElement):
        (WebCore::FormDataIODevice::openFileForCurrentElement):
        * platform/network/qt/QNetworkReplyHandler.h:

2010-06-30  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Implement generateImpliedEndTags and deploy to steps which were blocked on it
        https://bugs.webkit.org/show_bug.cgi?id=41432

        This fixes one subtest in html5lib/runner.html and positively
        effects a couple others.

        More code sharing will be needed here.  For the moment
        we're using copy/paste code, but that will soon be shared.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::generateImpliedEndTagsWithExclusion):
        (WebCore::HTMLTreeBuilder::generateImpliedEndTags):
        * html/HTMLTreeBuilder.h:

2010-06-30  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed buildfix after r62196 and r62214.

        * html/HTMLElementStack.cpp: Put !ENABLE(SVG) guard instead of 
        !ENABLE(SVG_FOREIGN_OBJECT) around include of SVGNames.h.

2010-06-30  Sam Weinig  <sam@webkit.org>

        Really fix the windows build.

        * bindings/js/JSBindingsAllInOne.cpp:

2010-06-30  Sam Weinig  <sam@webkit.org>

        Another Chromium build fix.

        * page/DOMWindow.idl:

2010-06-30  Sam Weinig  <sam@webkit.org>

        Fix Chromium build.

        * WebCore.gyp/WebCore.gyp:

2010-06-30  Sam Weinig  <sam@webkit.org>

        Fix Windows build.

        * bindings/js/JSBindingsAllInOne.cpp:

2010-06-30  Sam Weinig  <sam@webkit.org>

        Fix Gtk build.

        * GNUmakefile.am:

2010-06-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=41146
        <rdar://problem/8126069>
        Implement the .dataset DOM property

        Tests: fast/dom/dataset-xhtml.xhtml
               fast/dom/dataset.html

        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMStringMapCustom.cpp: Added.
        (WebCore::JSDOMStringMap::canGetItemsForName):
        (WebCore::JSDOMStringMap::nameGetter):
        (WebCore::JSDOMStringMap::getOwnPropertyNames):
        (WebCore::JSDOMStringMap::deleteProperty):
        (WebCore::JSDOMStringMap::putDelegate):
        * bindings/js/JSDOMStringMapCustom.h: Added.
        * dom/DOMStringMap.cpp: Added.
        (WebCore::DOMStringMap::~DOMStringMap):
        * dom/DOMStringMap.h: Added.
        (WebCore::DOMStringMap::DOMStringMap):
        * dom/DOMStringMap.idl: Added.
        * dom/DatasetDOMStringMap.cpp: Added.
        (WebCore::isValidAttributeName):
        (WebCore::convertAttributeNameToPropertyName):
        (WebCore::propertyNameMatchesAttributeName):
        (WebCore::isValidPropertyName):
        (WebCore::convertPropertyNameToAttributeName):
        (WebCore::DatasetDOMStringMap::ref):
        (WebCore::DatasetDOMStringMap::deref):
        (WebCore::DatasetDOMStringMap::getNames):
        (WebCore::DatasetDOMStringMap::item):
        (WebCore::DatasetDOMStringMap::contains):
        (WebCore::DatasetDOMStringMap::setItem):
        (WebCore::DatasetDOMStringMap::deleteItem):
        * dom/DatasetDOMStringMap.h: Added.
        (WebCore::DatasetDOMStringMap::create):
        (WebCore::DatasetDOMStringMap::DatasetDOMStringMap):
        * dom/Element.cpp:
        (WebCore::Element::dataset):
        * dom/Element.h:
        * dom/Element.idl:
        * dom/ElementRareData.h:
        * page/DOMWindow.idl:

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

        More Qt build fix.

        * html/HTMLElementStack.cpp: Put !ENABLE(SVG_FOREIGN_OBJECT) around
        include of SVGNames.h too.

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

        Reviewed by Adam Barth.

        Add assertion, off by default, for when you forget to do adoptRef
        https://bugs.webkit.org/show_bug.cgi?id=41422

        * platform/TreeShared.h: Added code to require adoption and assert if
        you don't call adoptRef. For now, it is turned off because of the
        LOOSE_TREE_SHARED define in this header. Later we can turn it on
        once we get everything working without asserting. Note also that it
        only works for objects with an initial reference count of 1.

2010-06-30  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Darin Adler.

        Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r62196.
        https://bugs.webkit.org/show_bug.cgi?id=41429

        * html/HTMLElementStack.cpp:

2010-06-30  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add new popUntil(tagName) function and deploy
        https://bugs.webkit.org/show_bug.cgi?id=41405

        Add a new popUntil function to share some common code
        between states.  There is more code to share here, but this
        is a start.

        I also filled in a couple similar states to these with the
        hope of sharing more code, but decided to wait for a later
        patch.

        No test changes, since this code doesn't do enough yet to
        pass any more subtests.  Lack of generateImpliedEndTags is the main
        blocking issue.

        * html/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::popUntil):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):

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

        Reviewed by Gustavo Noronha.

        [GTK] Unit test for DOM insertion methods
        https://bugs.webkit.org/show_bug.cgi?id=40495

        Fix typo in custom function detection method.

        * bindings/scripts/CodeGeneratorGObject.pm:

2010-06-30  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Implement HTML5 "in scope" algorithm and attempt to use it
        https://bugs.webkit.org/show_bug.cgi?id=41402

        Implemented the 4 needed "in scope" functions for HTML5.
        3 for the different sets of scope markers, and one for
        doing exact element comparisons instead of tag name searches.

        I deployed inScope("body") for </body> and </html> in InBody.

        Adds two new (expected) failures, since we're now
        switching out of InBody to AfterBody when seeing
        </html>.  We don't implement AfterBody yet, so
        the rest of the content after </html> is ignored.

        * html/HTMLElementStack.cpp:
        (WebCore::inScopeCommon):
        (WebCore::HTMLElementStack::inScope):
        (WebCore::HTMLElementStack::inListItemScope):
        (WebCore::HTMLElementStack::inTableScope):
        * html/HTMLElementStack.h:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTag):
        * html/HTMLTreeBuilder.h:

2010-06-30  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Split HTMLElementStack out into its own file
        https://bugs.webkit.org/show_bug.cgi?id=41399

        No functional change, thus no tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLElementStack.cpp: Added.
        (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
        (WebCore::HTMLElementStack::ElementRecord::element):
        (WebCore::HTMLElementStack::ElementRecord::next):
        (WebCore::HTMLElementStack::ElementRecord::releaseNext):
        (WebCore::HTMLElementStack::ElementRecord::setNext):
        (WebCore::HTMLElementStack::HTMLElementStack):
        (WebCore::HTMLElementStack::~HTMLElementStack):
        (WebCore::HTMLElementStack::popHTMLHeadElement):
        (WebCore::HTMLElementStack::pop):
        (WebCore::HTMLElementStack::pushHTMLHtmlElement):
        (WebCore::HTMLElementStack::pushHTMLHeadElement):
        (WebCore::HTMLElementStack::pushHTMLBodyElement):
        (WebCore::HTMLElementStack::push):
        (WebCore::HTMLElementStack::top):
        (WebCore::HTMLElementStack::removeHTMLHeadElement):
        (WebCore::HTMLElementStack::remove):
        (WebCore::HTMLElementStack::contains):
        (WebCore::HTMLElementStack::inScope):
        (WebCore::HTMLElementStack::htmlElement):
        (WebCore::HTMLElementStack::headElement):
        (WebCore::HTMLElementStack::bodyElement):
        (WebCore::HTMLElementStack::pushCommon):
        (WebCore::HTMLElementStack::popCommon):
        (WebCore::HTMLElementStack::removeNonFirstCommon):
        * html/HTMLElementStack.h: Added.
        * html/HTMLTreeBuilder.h:

2010-06-30  Kenneth Russell  <kbr@google.com>

        Reviewed by Oliver Hunt.

        WebCore::WebGLArrayInternal::lengthAttrGetter ReadAV@NULL (b1a3e1a3e9d01f17fd493d68eeb2742f)
        https://bugs.webkit.org/show_bug.cgi?id=38040

        Changed custom ArrayBufferView constructors to create a
        fully-initialized, zero-length array when called with zero
        arguments. This is the simplest fix which works identically in
        both the JSC and V8 bindings.

        Test: fast/canvas/webgl/array-buffer-view-crash.html

        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::constructArrayBufferView):
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::constructWebGLArray):

2010-06-30  Victor Wang  <victorw@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] update webcore gyp to use v8 dll for chromium multi dll build.

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

        * WebCore.gyp/WebCore.gyp:

2010-06-30  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Dimitri Glazkov.

        [Chromium] Add OOP font loading to FontPlatformDataChromiumMac.

        On OS X, with font management software installed. Fonts
        can reside in an arbitrary path on disk which is blocked by
        Chromium's sandbox.

        This change adds hooks to FontPlaformData which allow cross-process
        font loading in case of need.

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

        Not possible to test - requires sandboxing which DRT doesn't support.

        * WebCore.gypi:
        * platform/graphics/chromium/FontPlatformDataChromiumMac.mm: Added.
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::~FontPlatformData):
        (WebCore::FontPlatformData::operator=):
        (WebCore::FontPlatformData::setFont):
        (WebCore::FontPlatformData::roundsGlyphAdvances):
        (WebCore::FontPlatformData::allowsLigatures):
        (WebCore::FontPlatformData::description):

2010-06-30  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Dan Bernstein.

        Minor tweaks to FontPlatformDataMac & SimpleFontDataMac.mm

        * Avoid an extra FontPlatformData copy in SimpleFontDataMac.mm
        * Fix a typo in FontPlatformDataMac.mm

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

        No behavior changes so no new tests.

        * platform/graphics/mac/FontPlatformDataMac.mm:
        (WebCore::FontPlatformData::description):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::copyFontTableForTag):

2010-06-30  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Make "disallow multiple calls to SetWindow" on windowed plugins a quirk
        https://bugs.webkit.org/show_bug.cgi?id=41407

        Only disallow calling SetWindow more than once if we're using Flash 9 or older.
        This fixes resizing of YouTube videos via the player's own button.

        Removed copy-pasted logic in PluginViewGtk since the issue only exists
        when running Flash with a non-Gtk toolkit.

        * plugins/PluginPackage.cpp:
        (WebCore::PluginPackage::determineQuirks):
        * plugins/PluginQuirkSet.h:
        (WebCore::):
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded): Remove unnecessary logic copy-pasted from PluginViewQt.
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded):

2010-06-30  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Antti Koivisto.

        [Qt, Gtk, Symbian] Mind the semantics of NPRect for windowed plugin clip rects
        https://bugs.webkit.org/show_bug.cgi?id=41406

        NPRect has right/bottom instead of width/height.
        This was fixed in PluginViewMac with http://trac.webkit.org/changeset/45815

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded):
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded):
        * plugins/symbian/PluginViewSymbian.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded):

2010-06-30  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Simon Fraser.

        Spatial Navigation: make elements in inner frames nested more than 1 level deep focusable
        https://bugs.webkit.org/show_bug.cgi?id=41160

        Patch addresses the problem of spatial navigation not work properly with nested
        inner frames by adding the isNodeDeepDescendantOfDocument method. It recursively checks
        if a give node is descendant of a given document or any parent of it.

        Test: fast/events/spatial-navigation/snav-iframe-nested.html

        * page/FocusController.cpp:
        (WebCore::FocusController::deepFindFocusableNodeInDirection):
        * page/SpatialNavigation.cpp:
        (WebCore::isNodeDeepDescendantOfDocument):
        * page/SpatialNavigation.h:

2010-06-30  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTMLTokenizer should use fewer macros
        https://bugs.webkit.org/show_bug.cgi?id=41397

        Macros are sadness.  Inline functions are the new hotness.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::processEntity):
        (WebCore::HTMLTokenizer::emitAndResumeIn):
        (WebCore::HTMLTokenizer::emitAndReconsumeIn):
        (WebCore::HTMLTokenizer::emitEndOfFile):
        (WebCore::HTMLTokenizer::flushBufferedEndTag):
        (WebCore::HTMLTokenizer::flushEmitAndResumeIn):
        (WebCore::HTMLTokenizer::nextToken):
        (WebCore::HTMLTokenizer::bufferCharacter):
        (WebCore::HTMLTokenizer::bufferCodePoint):
        (WebCore::HTMLTokenizer::bufferParseError):
        (WebCore::HTMLTokenizer::bufferCurrentToken):
        (WebCore::HTMLTokenizer::bufferEndOfFile):
        * html/HTMLTokenizer.h:

2010-06-30  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Adam Barth.

        Remove dead binding code
        https://bugs.webkit.org/show_bug.cgi?id=41388

        Removed BindingElement because it was obsoleted by r59866.

        * WebCore.gypi:
        * bindings/generic/BindingElement.h: Removed.
        * bindings/v8/SerializedScriptValue.cpp:
        * bindings/v8/V8Binding.h:
        * bindings/v8/custom/V8DatabaseCustom.cpp:
        * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:

2010-06-30  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTokenizer needs EndOfFile support
        https://bugs.webkit.org/show_bug.cgi?id=41344

        EndOfFile support uncovered a bug in our implementation of finish().
        finish() may be called more than once if the first call does not
        result in end() being called (and parsing thus actually stopping).

        SegmentedString::close() should have ASSERTed that it was not already
        closed when close() is called.  I've added such an assert now.

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::finish):
        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::close):
        * platform/text/SegmentedString.h:

2010-06-29  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTMLTokenizer needs EndOfFile support
        https://bugs.webkit.org/show_bug.cgi?id=41344

        We're using \0 as the EndOfFile marker as HTML5 replaces
        all other \0 with \0xFFFD.  Added some special case logic
        to InputStreamPreprocessor::peek not to replace \0 when
        its being used at the end of a stream.

        This fixed 60 subtests in html5lib/runner.html.

        There are still at least two states (BogusCommentState and
        CDATASectionState) which do not have proper EOF support.

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::finish):
        (WebCore::HTMLDocumentParser::finishWasCalled):
        * html/HTMLInputStream.h:
        (WebCore::HTMLInputStream::markEndOfFile):
        (WebCore::HTMLInputStream::haveSeenEndOfFile):
        * html/HTMLToken.h:
        (WebCore::HTMLToken::makeEndOfFile):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):
        (WebCore::HTMLTokenizer::emitEndOfFile):
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):
        (WebCore::HTMLTokenizer::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):

2010-06-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Teach HTML5TreeBuilder how to merge attributes from extra html/body elements
        https://bugs.webkit.org/show_bug.cgi?id=41337

        Had to teach ElementStack to store pointers to html, head, and body
        elements.

        This fixed a few tests in LayoutTests/html5lib.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
        (WebCore::HTMLTreeBuilder::mergeAttributesFromTokenIntoElement):
        (WebCore::HTMLTreeBuilder::insertHTMLStartTagInBody):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::createElementAndAttachToCurrent):
        (WebCore::HTMLTreeBuilder::insertHTMLHtmlElement):
        (WebCore::HTMLTreeBuilder::insertHTMLHeadElement):
        (WebCore::HTMLTreeBuilder::insertHTMLBodyElement):
        (WebCore::HTMLTreeBuilder::insertElement):
        (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
        (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::ElementStack::ElementStack):
        (WebCore::HTMLTreeBuilder::ElementStack::popHTMLHeadElement):
        (WebCore::HTMLTreeBuilder::ElementStack::pop):
        (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLHtmlElement):
        (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLHeadElement):
        (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLBodyElement):
        (WebCore::HTMLTreeBuilder::ElementStack::push):
        (WebCore::HTMLTreeBuilder::ElementStack::removeHTMLHeadElement):
        (WebCore::HTMLTreeBuilder::ElementStack::remove):
        (WebCore::HTMLTreeBuilder::ElementStack::htmlElement):
        (WebCore::HTMLTreeBuilder::ElementStack::headElement):
        (WebCore::HTMLTreeBuilder::ElementStack::bodyElement):
        (WebCore::HTMLTreeBuilder::ElementStack::pushCommon):
        (WebCore::HTMLTreeBuilder::ElementStack::popCommon):
        (WebCore::HTMLTreeBuilder::ElementStack::removeNonFirstCommon):

2010-06-30  José Millán Soto  <jmillan@igalia.com>

        Reviewed by Xan Lopez.

        [Gtk] Text attributes not exposed
        https://bugs.webkit.org/show_bug.cgi?id=25528

        Implemented the get_run_attributes and get_default_attributes
        functions for the ATK_TEXT role.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (getAttributeSetForAccessibilityObject):
        (compareAttribute):
        (attributeSetDifference):
        (accessibilityObjectLength):
        (getAccessibilityObjectForOffset):
        (getRunAttributesFromAccesibilityObject):
        (webkit_accessible_text_get_run_attributes):
        (webkit_accessible_text_get_default_attributes):

2010-06-30  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Fix Sec-WebSocketKey{1,2} headers.

        According to WebSocket specification, a value of Sec-WebSocketKey{1,2} header
        should not start or end with a space.

        WebSocket: Malformed handshake headers in a worker due to rand_s failing
        https://bugs.webkit.org/show_bug.cgi?id=41327

        No new tests. ASSERT should catch the problem.

        * websockets/WebSocketHandshake.cpp:
        (WebCore::generateSecWebSocketKey):

2010-06-30  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Dan Bernstein.

        Fix for Bug 41339 - unicode-range property only with a descending range
        causes a crash

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

        Test: fast/css/font-face-descending-unicode-range.html

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

2010-06-29  Abhinav Mithal <abhinav.mithal@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] [Symbian] Fix doube-deallocation while destroying PluginContainerSymbian
        https://bugs.webkit.org/show_bug.cgi?id=37303

        * plugins/symbian/PluginViewSymbian.cpp:
        (WebCore::PluginView::platformDestroy):

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

        Reviewed by Dimitri Glazkov.

        Implement getAttachedShaders
        https://bugs.webkit.org/show_bug.cgi?id=31172

        * bindings/js/JSWebGLRenderingContextCustom.cpp: JS binding for getAttachedShaders().
        (WebCore::JSWebGLRenderingContext::getAttachedShaders):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: V8 binding for getAttachedShaders().
        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getAttachedShaders): Implementation of getAttachedShaders().
        (WebCore::WebGLRenderingContext::findShader): Helper function to find a shader object from its name.
        * html/canvas/WebGLRenderingContext.h: Declaration of getAttachedShaders().
        * html/canvas/WebGLRenderingContext.idl: Ditto.
        * platform/graphics/GraphicsContext3D.h: Ditto.
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::getAttachedShaders): Implementation of getAttachedShaders().

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

        Reviewed by Kent Tamura.

        REGRESSION: [Chromium] <progress> appearance on windows looks not good
        https://bugs.webkit.org/show_bug.cgi?id=41343
        
        RenderThemeChromiumWin::paintProgressBar() should return false,
        which indicates the widget is painted.
        
        Test: fast/dom/HTMLProgressElement/progress-element.html
              * rebaselined with a wrong expectation.

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintProgressBar):

2010-06-29  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Jian Li.

        Fix http/tests/local/blob/send-data-blob.html on Windows
        https://bugs.webkit.org/show_bug.cgi?id=41228

        Fix a regression bug in the line-conversion code.
        Rewrite the line-conversion function with simpler functions to
        make it less error prone.

        No new tests as this is for bug fixes.

        * platform/BlobItem.cpp:
        (WebCore::StringBlobItem::convertToCString):

2010-06-29  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Darin Fisher.

        Implementing DatabaseSync::openDatabaseSync().
        https://bugs.webkit.org/show_bug.cgi?id=40607

        1. Moved some common code from Database to AbstractDatabase.
        2. Made performOpenAndVerify() virtual, since DatabaseSync doesn't
           need to interact with DatabaseThread.
        3. Removed the m_creationCallback field, since it's only needed in
           the openDatabase{Sync} methods.

        * storage/AbstractDatabase.cpp:
        (WebCore::retrieveTextResultFromDatabase):
        (WebCore::setTextValueInDatabase):
        (WebCore::guidMutex):
        (WebCore::guidToVersionMap):
        (WebCore::updateGuidVersionMap):
        (WebCore::guidToDatabaseMap):
        (WebCore::guidForOriginAndName):
        (WebCore::AbstractDatabase::databaseInfoTableName):
        (WebCore::AbstractDatabase::AbstractDatabase):
        (WebCore::AbstractDatabase::closeDatabase):
        (WebCore::AbstractDatabase::version):
        (WebCore::AbstractDatabase::performOpenAndVerify):
        (WebCore::AbstractDatabase::scriptExecutionContext):
        (WebCore::AbstractDatabase::securityOrigin):
        (WebCore::AbstractDatabase::stringIdentifier):
        (WebCore::AbstractDatabase::displayName):
        (WebCore::AbstractDatabase::estimatedSize):
        (WebCore::AbstractDatabase::fileName):
        (WebCore::AbstractDatabase::databaseVersionKey):
        (WebCore::AbstractDatabase::getVersionFromDatabase):
        (WebCore::AbstractDatabase::setVersionInDatabase):
        (WebCore::AbstractDatabase::versionMatchesExpected):
        (WebCore::AbstractDatabase::setExpectedVersion):
        (WebCore::AbstractDatabase::disableAuthorizer):
        (WebCore::AbstractDatabase::enableAuthorizer):
        (WebCore::AbstractDatabase::setAuthorizerReadOnly):
        (WebCore::AbstractDatabase::lastActionChangedDatabase):
        (WebCore::AbstractDatabase::lastActionWasInsert):
        (WebCore::AbstractDatabase::resetDeletes):
        (WebCore::AbstractDatabase::hadDeletes):
        (WebCore::AbstractDatabase::resetAuthorizer):
        * storage/AbstractDatabase.h:
        (WebCore::AbstractDatabase::opened):
        (WebCore::AbstractDatabase::isNew):
        (WebCore::AbstractDatabase::databaseDebugName):
        * storage/Database.cpp:
        (WebCore::DatabaseCreationCallbackTask::create):
        (WebCore::DatabaseCreationCallbackTask::performTask):
        (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
        (WebCore::Database::openDatabase):
        (WebCore::Database::Database):
        (WebCore::Database::version):
        (WebCore::Database::openAndVerifyVersion):
        (WebCore::Database::close):
        (WebCore::Database::stop):
        (WebCore::Database::performOpenAndVerify):
        * storage/Database.h:
        (WebCore::Database::sqliteDatabase):
        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::create):
        (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
        (WebCore::DatabaseAuthorizer::denyBasedOnTableName):
        * storage/DatabaseAuthorizer.h:
        * storage/DatabaseSync.cpp:
        (WebCore::DatabaseSync::openDatabaseSync):
        (WebCore::DatabaseSync::DatabaseSync):
        (WebCore::DatabaseSync::~DatabaseSync):
        (WebCore::DatabaseSync::markAsDeletedAndClose):
        (WebCore::CloseSyncDatabaseOnContextThreadTask::create):
        (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask):
        (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask):
        (WebCore::DatabaseSync::closeImmediately):
        * storage/DatabaseSync.h:
        * storage/DatabaseTask.cpp:
        (WebCore::DatabaseOpenTask::DatabaseOpenTask):
        (WebCore::DatabaseOpenTask::doPerformTask):
        * storage/DatabaseTask.h:
        (WebCore::DatabaseOpenTask::create):

2010-06-29  François Sausset  <sausset@gmail.com>

        Reviewed by Darin Adler.

        Fix a bug when a msubsup element is inside a mrow element
        https://bugs.webkit.org/show_bug.cgi?id=36525

        Test: mathml/presentation/subsup.xhtml

        * mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::stretchToHeight):

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

        Reviewed by Dimitri Glazkov.

        uniformmatrix* should generate INVALID_VALUE with transpose = true
        https://bugs.webkit.org/show_bug.cgi?id=41235

        Test: fast/canvas/webgl/gl-uniformmatrix4fv.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::uniformMatrix2fv): Call validateUniformMatrixParameters instead.
        (WebCore::WebGLRenderingContext::uniformMatrix3fv): Ditto.
        (WebCore::WebGLRenderingContext::uniformMatrix4fv): Ditto.
        (WebCore::WebGLRenderingContext::validateUniformMatrixParameters): Validate input parameters for uniformMatrix*().
        * html/canvas/WebGLRenderingContext.h: Declare validateUniformMatrixParameters().

2010-06-29  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Support UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL for texImage2D taking ArrayBufferView
        https://bugs.webkit.org/show_bug.cgi?id=40398

        Added support for UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL pixel store
        parameters to texImage2D and texSubImage2D entry points taking ArrayBufferView.
        More cleanly separated the unpacking and packing phases of user-supplied pixel data
        in GraphicsContext3D, and added support for unpack alignment. Fixed bug in handling
        of unpackAlignment in GraphicsContext3D::flipVertically. Necessarily added
        validation of the amount of data passed to texImage2D and texSubImage2D. Modified
        fast/canvas/webgl/tex-image-with-format-and-type.html to include premultiplied alpha
        tests for relevant source formats; added new test which exercises all combinations
        of UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, and UNPACK_ALIGNMENT pixel
        store parameters.

        Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        (WebCore::WebGLRenderingContext::validateTexFuncData):
        * html/canvas/WebGLRenderingContext.h:
        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::GraphicsContext3D::extractImageData):
        (WebCore::GraphicsContext3D::extractTextureData):
        (WebCore::GraphicsContext3D::flipVertically):
        (WebCore::doUnpackingAndPacking):
        (WebCore::computeIncrementParameters):
        (WebCore::doPacking):
        (WebCore::GraphicsContext3D::packPixels):
        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::):
        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::GraphicsContext3D::getImageData):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::getImageData):
        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
        (WebCore::GraphicsContext3D::getImageData):

2010-06-29  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Dirk Schulze.

        Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r61667.
        https://bugs.webkit.org/show_bug.cgi?id=41367

        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::isOutermostSVG): Add missing ENABLE(SVG_FOREIGN_OBJECT).

2010-06-29  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Darin Adler.

        Buildfix after r62118.
        https://bugs.webkit.org/show_bug.cgi?id=41365

        * rendering/RenderSVGRoot.cpp: Inlude missing RenderSVGResource.h.

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

        Unreviewed, rolling out r62052.
        http://trac.webkit.org/changeset/62052
        https://bugs.webkit.org/show_bug.cgi?id=41357

        Causes crashes in JSLazyEventListener::initializeFunction (see
        bug 41352) (Requested by aroben on #webkit).

        * bindings/js/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * bindings/js/ScriptEventListener.h:
        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * bindings/v8/ScriptEventListener.h:
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::parseMappedAttribute):
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::parseMappedAttribute):

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

        Unreviewed, rolling out r62129.
        http://trac.webkit.org/changeset/62129
        https://bugs.webkit.org/show_bug.cgi?id=41362

        Needed to roll out r62052 (see bug 41357) (Requested by aroben
        on #webkit).

        * bindings/js/ScriptEventListener.cpp:
        (WebCore::createWindowAttributeEventListener):

2010-06-29  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Speculative fix for <rdar://problem/8071558> CrashTracer: [USER] 
        2300+ crashes in Safari at com.apple.WebCore: 
        WebCore::FrameView::scheduleRelayout + 352

        Unfortunately, we don't have a reproducible case for this bug, and 
        therefore, we do not have a layout test either. It is pretty clear 
        from the logs that m_frame->settings() is null in 
        FrameView::scheduleRelayout() in the crashing case. 
        m_frame->settings() is null whenever page is null. Everywhere else 
        in FrameView.cpp we null-check either page or settings before using 
        settings. It seems plausible to me that scheduleRelayout could be 
        called when page is null, so the fix is just to add null-checks. 

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

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

        Reviewed by Darin Adler.

        <rdar://problem/7975842> Certain text is repeated after using splitText()

        Tests: fast/text/setData-dirty-lines.html
               fast/text/splitText-dirty-lines.html

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::setData): Call RenderText::setTextWithOffset() rather than
        setText(), because only the former correctly dirties line boxes.
        * dom/Text.cpp:
        (WebCore::Text::splitText): Ditto.

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

        Unreviewed, rolling out r62073.
        http://trac.webkit.org/changeset/62073
        https://bugs.webkit.org/show_bug.cgi?id=41359

        Necessary to fix chromium build when r62052 is rolled out.
        (Requested by dave_levin on #webkit).

        * bindings/v8/ScriptEventListener.h:

2010-06-29  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Hooking up WebGL layers to the gpu-compositor. Implement missing
        methods to set the contents of a GraphicsLayer with a platform specific WebGL
        Layer, and to update the contents of the WebGL Layer when needed.
        https://bugs.webkit.org/show_bug.cgi?id=41243

        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setContentsToWebGL):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::removeAllSublayers):
          No need to call setNeedsCommit() from here as the previous call to
          layer->removeFromSuperlayer() will have that effect (and we only need
          to notify the owner if there were actually any sublayers removed).
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayer):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::create):
        (WebCore::WebGLLayerChromium::updateTextureContents):
        (WebCore::WebGLLayerChromium::setContext):

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

        Reviewed by Nikolas Zimmermann.

        Buildfix for --minimal build after r62052
        https://bugs.webkit.org/show_bug.cgi?id=41338

        * bindings/js/ScriptEventListener.cpp: #if ENABLE(SVG) guards added.
        (WebCore::createWindowAttributeEventListener):

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

        Build fix. Not reviewd.

        CGColor is only used for PLATFORM(CG).  Conditionalize include
        to correct build failure for WinCairo.

        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
        Conditionalize use of CGColor.

2010-06-29  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Clean up the source lists in the GNUMakefile.am files
        https://bugs.webkit.org/show_bug.cgi?id=41229

        Clean up the GNUMakefile.am a little bit. Alphabetize and conglomerate
        the source lists.

        * GNUmakefile.am:

2010-06-29  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] DragDataGtk should use DataObjectGtk as the platformDragData
        https://bugs.webkit.org/show_bug.cgi?id=40307

        Use DataObjectGtk as the platformDragData for DragDataGtk. DataObjectGtk
        contains all the information necessary to keep track of drops in progress.

        * platform/DragData.h: Use a DataObjectGtk* as the platform drag data.
        * platform/gtk/DragDataGtk.cpp:
        (WebCore::DragData::containsFiles): Retrieve information via platformDragData.
        (WebCore::DragData::asFilenames): Ditto.
        (WebCore::DragData::containsPlainText): Ditto.
        (WebCore::DragData::asPlainText): Ditto.
        (WebCore::DragData::createClipboard): Create the Clipboard with the platformDragData.
        (WebCore::DragData::containsCompatibleContent): Retrieve information via platformDragData.
        (WebCore::DragData::containsURL): Ditto.
        (WebCore::DragData::asURL): Ditto.
        (WebCore::DragData::asFragment): Ditto.

2010-06-29  Adam Langley  <agl@chromium.org>

        Build fix. Not reviewd.

        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::setupPaint):
          The name of the Skia function changed between writing this patch and
          commiting it.

2010-06-29  Adam Langley  <agl@chromium.org>

        Reviewed by Kent Tamura.

        [chromium] Support forced autohinting.

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

        Freetype (the typical font rendering on Linux) includes an 'autohinter':
        an algorithm for hinting glyph shapes without using the embedded hinting
        bytecode in a font.

        Some people prefer the autohinter's results, so we support forcing its
        use.

        This change also fixes a bug where two FontPlatformData structures would
        compare equal, even if their rendering styles were different.

        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::setupPaint):
          In order to compare FontPlatformData structures we need to make sure
          that they are initialised.
        (WebCore::FontPlatformData::operator==):
        * platform/graphics/chromium/FontRenderStyle.h:
        (WebCore::FontRenderStyle::FontRenderStyle):
        (WebCore::FontRenderStyle::operator==):
          This fixes the case where two FontPlatformData structures, differing
          only by rendering style, would compare equal.

2010-06-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Unreviewed, Symbian build fix.

        Add more directories to USERINCLUDE so that they get included
        before the Symbian system headers.

        This is a workaround to some toolchain problems; bug 31273 is used to
        find a better solution.

        No new tests as there is no new functionality.

        * WebCore.pro:

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

        Reviewed by Dirk Schulze.

        Cleanup SVGRenderSupport
        https://bugs.webkit.org/show_bug.cgi?id=41347

        Remove SVGRenderBase base class from all SVG renderers. It was meant as temporary solution until all SVG renderers inherit from RenderSVGModelObject,
        though this is not going to happen. RenderSVGModelObject inherits from RenderObject, making it impossible to inherit eg. RenderSVGImage from it, as
        it already indirectly inherits from RenderObject, through RenderImage. Other examples are RenderForeignObject (RenderBlock inheritance),
        RenderSVGInlineText (RenderText inheritance) etc.

        Rename SVGRenderBase to SVGRenderSupport, just like the file is named, remove all free functions, and make them all static functions in SVGRenderSupport.
        We can still share code between all SVG renderers, but don't need a special base class for all renderers -> shrink size of all SVG renderers.

        Doesn't affect any test.

        * rendering/RenderBox.cpp: Remove localTransform() override, not needed at all.
        * rendering/RenderBox.h: Ditto.
        * rendering/RenderForeignObject.cpp: s/SVGRenderBase/SVGRenderSupport/
        (WebCore::RenderForeignObject::paint):
        (WebCore::RenderForeignObject::clippedOverflowRectForRepaint):
        (WebCore::RenderForeignObject::computeRectForRepaint):
        (WebCore::RenderForeignObject::nodeAtFloatPoint):
        (WebCore::RenderForeignObject::mapLocalToContainer):
        * rendering/RenderPath.cpp:
        (WebCore::BoundingRectStrokeStyleApplier::strokeStyle): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
        (WebCore::RenderPath::paint): s/SVGRenderBase/SVGRenderSupport/
        (WebCore::RenderPath::nodeAtFloatPoint): Ditto.
        (WebCore::RenderPath::updateCachedBoundaries): Ditto.
        * rendering/RenderSVGBlock.h: Remove SVGRenderBase inheritance.
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout): layoutChildren is a static function in SVGRenderSupport now.
        (WebCore::RenderSVGContainer::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
        (WebCore::RenderSVGContainer::objectBoundingBox): computeContainerBoundingBox is a static function in SVGRenderSupport now.
        (WebCore::RenderSVGContainer::strokeBoundingBox): Ditto.
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): Remove call to computeContainerBoundingBox, use strokeBoundingBox instead, for consistency.
        (WebCore::RenderSVGContainer::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
        * rendering/RenderSVGHiddenContainer.cpp:
        (WebCore::RenderSVGHiddenContainer::layout): layoutChildren is a static function in SVGRenderSupport now.
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint): prepareToRenderSVGContent/finishRenderSVGContent are static functions in SVGRenderSupport now.
        (WebCore::RenderSVGImage::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport. 
        (WebCore::RenderSVGImage::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): intersectRepaintRectWithResources is a static function in SVGRenderSupport now.
        (WebCore::RenderSVGImage::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
        (WebCore::RenderSVGImage::computeRectForRepaint): Ditto.
        (WebCore::RenderSVGImage::mapLocalToContainer): Ditto.
        * rendering/RenderSVGImage.h: Remove SVGRenderBase inheritance.
        * rendering/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::objectBoundingBox): findTextRootObject is a static function in SVGRenderSupport now.
        (WebCore::RenderSVGInline::strokeBoundingBox): Ditto.
        (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): Ditto.
        (WebCore::RenderSVGInline::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
        (WebCore::RenderSVGInline::computeRectForRepaint): Ditto,.
        (WebCore::RenderSVGInline::mapLocalToContainer): Ditto.
        (WebCore::RenderSVGInline::absoluteQuads): findTextRootObject is a static function in SVGRenderSupport now.
        * rendering/RenderSVGInline.h: Remove SVGRenderBase inheritance.
        * rendering/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
        (WebCore::RenderSVGModelObject::computeRectForRepaint): Ditto.
        (WebCore::RenderSVGModelObject::mapLocalToContainer): Ditto.
        (WebCore::RenderSVGModelObject::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
        * rendering/RenderSVGModelObject.h: Remove SVGRenderBase inheritance.
        * rendering/RenderSVGResource.cpp:
        (WebCore::invalidatePaintingResource): Moved here from SVGRenderSupport (static inline helper function).
        (WebCore::RenderSVGResource::invalidateAllResourcesOfRenderer): Moved here from SVGRenderSupport and renamed from deregisterFromResources.
        * rendering/RenderSVGResource.h: Expose invalidateAllResourcesOfRenderer function.
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::createClipData): renderSubtreeToImage is a static function in SVGRenderSupport now.
        (WebCore::RenderSVGResourceClipper::hitTestClipContent): Ditto.
        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::createMaskAndSwapContextForTextGradient): findTextRootObject is a static function in SVGRenderSupport now.
        (WebCore::clipToTextMask): Ditto.
        (WebCore::RenderSVGResourceGradient::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
        (WebCore::RenderSVGResourceGradient::postApplyResource): findTextRootObject is a static function in SVGRenderSupport now.
        * rendering/RenderSVGResourceMarker.cpp:
        (WebCore::RenderSVGResourceMarker::applyViewportClip): s/SVGRenderBase/SVGRenderSupport/
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::createMaskImage): renderSubtreeToImage is a static function in SVGRenderSupport now.
        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
        (WebCore::clampImageBufferSizeToViewport): Moved here from SVGRenderSupport.
        (WebCore::RenderSVGResourcePattern::createTileImage): renderSubtreeToImage is a static function in SVGRenderSupport now.
        * rendering/RenderSVGResourceSolidColor.cpp:
        (WebCore::RenderSVGResourceSolidColor::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::layout): layoutChildren is a static function in SVGRenderSupport now.
        (WebCore::RenderSVGRoot::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
        (WebCore::RenderSVGRoot::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates): Remove call to computeContainerBoundingBox, use strokeBoundingBox instead, for consistency.
        * rendering/RenderSVGRoot.h: Remove localTransform() override, no longer needed. Remove SVGRenderBase inheritance.
        (WebCore::RenderSVGRoot::objectBoundingBox): Inlined for speeed. 
        (WebCore::RenderSVGRoot::strokeBoundingBox): computeContainerBoundingBox is a static function in SVGRenderSupport now.
        * rendering/RenderSVGText.cpp: 
        (WebCore::RenderSVGText::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
        (WebCore::RenderSVGText::computeRectForRepaint): Ditto.
        (WebCore::RenderSVGText::mapLocalToContainer): Ditto.
        (WebCore::RenderSVGText::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
        (WebCore::RenderSVGText::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
        (WebCore::RenderSVGText::repaintRectInLocalCoordinates): intersectRepaintRectWithResources is a static function in SVGRenderSupport now.
        * rendering/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::applyViewportClip): s/SVGRenderBase/SVGRenderSupport/
        (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): pointInClippingArea is a static function in SVGRenderSupport now.
        * rendering/SVGInlineFlowBox.cpp:
        (WebCore::SVGInlineFlowBox::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
        * rendering/SVGRenderSupport.cpp: Make it impossible to construct the class. Remove virtual destructor, made all methods static.
        (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
        (WebCore::SVGRenderSupport::computeRectForRepaint): Ditto.
        (WebCore::SVGRenderSupport::mapLocalToContainer): Ditto.
        (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Ditto.
        (WebCore::SVGRenderSupport::finishRenderSVGContent): Ditto.
        (WebCore::SVGRenderSupport::renderSubtreeToImage): Made static.
        (WebCore::SVGRenderSupport::computeContainerBoundingBox): Ditto.
        (WebCore::SVGRenderSupport::layoutChildren): Ditto.
        (WebCore::SVGRenderSupport::isOverflowHidden): s/SVGRenderBase/SVGRenderSupport/
        (WebCore::SVGRenderSupport::intersectRepaintRectWithResources): Ditto.
        (WebCore::SVGRenderSupport::pointInClippingArea): Made static.
        (WebCore::SVGRenderSupport::dashArrayFromRenderingStyle): Ditto.
        (WebCore::SVGRenderSupport::applyStrokeStyleToContext): Ditto.
        (WebCore::SVGRenderSupport::findTextRootObject): Ditto.
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeStyle): dashArrayFromRenderingStyle is a static function in SVGRenderSupport now.
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::paint): s/SVGRenderBase/SVGRenderSupport/
        * rendering/SVGRootInlineBox.h: Remove SVGRenderBase inheritance.
        * svg/SVGFEImageElement.cpp: Add RenderObject.h include, otherwhise it won't build anymore.
        (WebCore::SVGFEImageElement::build): renderSubtreeToImage is a static function in SVGRenderSupport now.
        * svg/SVGStyledElement.cpp: 
        (WebCore::SVGStyledElement::svgAttributeChanged): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.

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

        Reviewed by Xan Lopez.

        [PNG decoder] direct access to jmpbuf is deprecated in libpng >= 1.4.0beta103
        https://bugs.webkit.org/show_bug.cgi?id=40907

        Define a JMPBUF macro to cope with deprecation of the jmpbuf
        attribute in libpng >= 1.4.

        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::decodingFailed):
        (WebCore::PNGImageReader::decode):
        (WebCore::PNGImageDecoder::headerAvailable):
        (WebCore::PNGImageDecoder::rowAvailable):

2010-06-29  Kristian Amlie  <kristian.amlie@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt/Symbian] Fixed deployment paths for WebKit declarative plugin.

        * WebCore.pro:

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

        Unreviewed: Chromium Win and Mac build fix.

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):

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

        Reviewed by Dirk Schulze.

        Move PaintInfo/PaintPhase into their own headers, out of RenderObject
        https://bugs.webkit.org/show_bug.cgi?id=41342

        1) Move enums PaintPhase/PaintBehaviorFlags and the PaintBehaviour typedef from RenderObject into PaintPhase.h.
           Move PaintInfo from RenderObject into PaintInfo.h. Replace s/RenderObject::PaintInfo/PaintInfo/ throughout WebCore/.
           Also move the OverlapTestRequestMap typedef into PaintInfo.h, and replace s/RenderObject::OverlapTestRequestMap/OverlapTestRequestMap/ everywhere.

        2) Move "RenderObject* paintingRootForChildren(PaintInfo& paintInfo) const" from RenderObject to PaintInfo
           and modify it to take a renderer: "void updatePaintingRootForChildren(const RenderObject* renderer)".

        This changes a common idiom:
        -    info.paintingRoot = paintingRootForChildren(paintInfo);
        +    info.updatePaintingRootForChildren(this);

        We save resetting the paintingRoot to 0 if it was 0 already and thus do less work.

        3) Move "bool shouldPaintWithinRoot(PaintInfo& paintInfo) const" from RenderObject to PaintInfo
           and modify it to take a renderer: "bool shouldPaintWithinRoot(const RenderObject* renderer) const".

        This changes a common idiom:
        -    if (!shouldPaintWithinRoot(paintInfo))
        +    if (!paintInfo.shouldPaintWithinRoot(this))

        4) Move "void applyTransformToPaintInfo(RenderObject::PaintInfo&, const AffineTransform& localToChildTransform)"
           from SVGRenderSupport to PaintInfo and rename it to "applyTransform", guarded with ENABLE(SVG) blocks.

        This changes a common idiom:
        -    applyTransformToPaintInfo(childPaintInfo, localToParentTransform());
        +    childPaintInfo.applyTransform(localToParentTransform());

        Add PaintInfo.h / PaintPhase.h to all build systems that list headers.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/android/RenderThemeAndroid.cpp:
        (WebCore::getCanvasFromInfo):
        (WebCore::RenderThemeAndroid::paintCheckbox):
        (WebCore::RenderThemeAndroid::paintButton):
        (WebCore::RenderThemeAndroid::paintRadio):
        (WebCore::RenderThemeAndroid::paintTextField):
        (WebCore::RenderThemeAndroid::paintTextArea):
        (WebCore::RenderThemeAndroid::paintSearchField):
        (WebCore::RenderThemeAndroid::paintCombo):
        (WebCore::RenderThemeAndroid::paintMenuList):
        (WebCore::RenderThemeAndroid::paintMenuListButton):
        * platform/android/RenderThemeAndroid.h:
        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::paintThemePart):
        (WebCore::RenderThemeEfl::paintCheckbox):
        (WebCore::RenderThemeEfl::paintRadio):
        (WebCore::RenderThemeEfl::paintButton):
        (WebCore::RenderThemeEfl::paintMenuList):
        (WebCore::RenderThemeEfl::paintTextField):
        (WebCore::RenderThemeEfl::paintTextArea):
        (WebCore::RenderThemeEfl::paintSearchFieldDecoration):
        (WebCore::RenderThemeEfl::paintSearchFieldResultsButton):
        (WebCore::RenderThemeEfl::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeEfl::paintSearchFieldCancelButton):
        (WebCore::RenderThemeEfl::paintSearchField):
        * platform/efl/RenderThemeEfl.h:
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::paintMozillaGtkWidget):
        (WebCore::RenderThemeGtk::paintCheckbox):
        (WebCore::RenderThemeGtk::paintRadio):
        (WebCore::RenderThemeGtk::paintButton):
        (WebCore::RenderThemeGtk::paintMenuList):
        (WebCore::RenderThemeGtk::paintTextField):
        (WebCore::RenderThemeGtk::paintTextArea):
        (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
        (WebCore::RenderThemeGtk::paintSearchField):
        (WebCore::RenderThemeGtk::paintSliderTrack):
        (WebCore::RenderThemeGtk::paintSliderThumb):
        (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
        (WebCore::RenderThemeGtk::paintMediaMuteButton):
        (WebCore::RenderThemeGtk::paintMediaPlayButton):
        (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
        (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
        (WebCore::RenderThemeGtk::paintMediaSliderTrack):
        (WebCore::RenderThemeGtk::paintMediaSliderThumb):
        (WebCore::RenderThemeGtk::paintProgressBar):
        * platform/gtk/RenderThemeGtk.h:
        * platform/haiku/RenderThemeHaiku.cpp:
        (WebCore::RenderThemeHaiku::paintCheckbox):
        (WebCore::RenderThemeHaiku::paintRadio):
        (WebCore::RenderThemeHaiku::paintMenuList):
        * platform/haiku/RenderThemeHaiku.h:
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::StylePainter::StylePainter):
        (WebCore::RenderThemeQt::paintCheckbox):
        (WebCore::RenderThemeQt::paintRadio):
        (WebCore::RenderThemeQt::paintButton):
        (WebCore::RenderThemeQt::paintTextField):
        (WebCore::RenderThemeQt::paintTextArea):
        (WebCore::RenderThemeQt::paintMenuList):
        (WebCore::RenderThemeQt::paintMenuListButton):
        (WebCore::RenderThemeQt::paintProgressBar):
        (WebCore::RenderThemeQt::paintSliderTrack):
        (WebCore::RenderThemeQt::paintSliderThumb):
        (WebCore::RenderThemeQt::paintSearchField):
        (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
        (WebCore::RenderThemeQt::paintSearchFieldDecoration):
        (WebCore::RenderThemeQt::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeQt::paintMediaFullscreenButton):
        (WebCore::RenderThemeQt::paintMediaMuteButton):
        (WebCore::RenderThemeQt::paintMediaPlayButton):
        (WebCore::RenderThemeQt::paintMediaSeekBackButton):
        (WebCore::RenderThemeQt::paintMediaSeekForwardButton):
        (WebCore::RenderThemeQt::paintMediaCurrentTime):
        (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
        (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
        (WebCore::RenderThemeQt::paintMediaSliderTrack):
        (WebCore::RenderThemeQt::paintMediaSliderThumb):
        * platform/qt/RenderThemeQt.h:
        * platform/wx/RenderThemeWx.cpp:
        (WebCore::RenderThemeWx::paintCheckbox):
        (WebCore::RenderThemeWx::paintRadio):
        (WebCore::RenderThemeWx::paintButton):
        (WebCore::RenderThemeWx::paintTextField):
        (WebCore::RenderThemeWx::paintMenuList):
        (WebCore::RenderThemeWx::paintMenuListButton):
        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::paint):
        * rendering/EllipsisBox.h:
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::paint):
        * rendering/InlineBox.h:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paint):
        (WebCore::InlineFlowBox::paintFillLayers):
        (WebCore::InlineFlowBox::paintFillLayer):
        (WebCore::InlineFlowBox::paintBoxDecorations):
        (WebCore::InlineFlowBox::paintMask):
        (WebCore::InlineFlowBox::paintTextDecorations):
        * rendering/InlineFlowBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        * rendering/InlineTextBox.h:
        * rendering/PaintInfo.h: Added.
        (WebCore::PaintInfo::PaintInfo):
        (WebCore::PaintInfo::updatePaintingRootForChildren):
        (WebCore::PaintInfo::shouldPaintWithinRoot):
        (WebCore::PaintInfo::applyTransform):
        * rendering/PaintPhase.h: Added.
        (WebCore::):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paint):
        (WebCore::RenderBlock::paintChildren):
        (WebCore::RenderBlock::paintEllipsisBoxes):
        (WebCore::clipOutPositionedObjects):
        (WebCore::RenderBlock::layoutColumns):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paint):
        (WebCore::RenderBox::paintBoxDecorations):
        (WebCore::RenderBox::paintMask):
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations):
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::paint):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paint):
        (WebCore::performOverlapTests):
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::paintList):
        (WebCore::RenderLayer::paintPaginatedChildLayer):
        (WebCore::RenderLayer::paintChildLayerIntoColumns):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::paint):
        * rendering/RenderLineBoxList.h:
        * rendering/RenderMediaControls.cpp:
        (WebCore::RenderMediaControls::paintMediaControlsPart):
        * rendering/RenderMediaControls.h:
        * rendering/RenderMediaControlsChromium.cpp:
        (WebCore::paintMediaMuteButton):
        (WebCore::paintMediaPlayButton):
        (WebCore::paintMediaSlider):
        (WebCore::paintMediaSliderThumb):
        (WebCore::paintMediaVolumeSlider):
        (WebCore::paintMediaVolumeSliderThumb):
        (WebCore::paintMediaTimelineContainer):
        (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
        * rendering/RenderMediaControlsChromium.h:
        * rendering/RenderObject.h:
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        (WebCore::RenderReplaced::shouldPaint):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint):
        * rendering/RenderSVGResourceMarker.cpp:
        (WebCore::RenderSVGResourceMarker::draw):
        * rendering/RenderSVGResourceMarker.h:
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::paint):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::paint):
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::RenderScrollbarPart::paintIntoRect):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paintObject):
        (WebCore::RenderTable::paintBoxDecorations):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paint):
        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
        (WebCore::RenderTableCell::paintBoxDecorations):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::paintBorderOnly):
        (WebCore::RenderTheme::paintDecorations):
        (WebCore::RenderTheme::paintMeter):
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::paintCapsLockIndicator):
        (WebCore::RenderTheme::paintCheckbox):
        (WebCore::RenderTheme::paintRadio):
        (WebCore::RenderTheme::paintButton):
        (WebCore::RenderTheme::paintInnerSpinButton):
        (WebCore::RenderTheme::paintOuterSpinButton):
        (WebCore::RenderTheme::paintTextField):
        (WebCore::RenderTheme::paintTextArea):
        (WebCore::RenderTheme::paintMenuList):
        (WebCore::RenderTheme::paintMenuListButton):
        (WebCore::RenderTheme::paintProgressBar):
        (WebCore::RenderTheme::paintSliderTrack):
        (WebCore::RenderTheme::paintSliderThumb):
        (WebCore::RenderTheme::paintSearchField):
        (WebCore::RenderTheme::paintSearchFieldCancelButton):
        (WebCore::RenderTheme::paintSearchFieldDecoration):
        (WebCore::RenderTheme::paintSearchFieldResultsDecoration):
        (WebCore::RenderTheme::paintSearchFieldResultsButton):
        (WebCore::RenderTheme::paintMediaFullscreenButton):
        (WebCore::RenderTheme::paintMediaPlayButton):
        (WebCore::RenderTheme::paintMediaMuteButton):
        (WebCore::RenderTheme::paintMediaSeekBackButton):
        (WebCore::RenderTheme::paintMediaSeekForwardButton):
        (WebCore::RenderTheme::paintMediaSliderTrack):
        (WebCore::RenderTheme::paintMediaSliderThumb):
        (WebCore::RenderTheme::paintMediaVolumeSliderContainer):
        (WebCore::RenderTheme::paintMediaVolumeSliderTrack):
        (WebCore::RenderTheme::paintMediaVolumeSliderThumb):
        (WebCore::RenderTheme::paintMediaRewindButton):
        (WebCore::RenderTheme::paintMediaReturnToRealtimeButton):
        (WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
        (WebCore::RenderTheme::paintMediaControlsBackground):
        (WebCore::RenderTheme::paintMediaCurrentTime):
        (WebCore::RenderTheme::paintMediaTimeRemaining):
        * rendering/RenderThemeChromiumMac.h:
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
        (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
        (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground):
        (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack):
        (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
        (WebCore::RenderThemeChromiumSkia::paintRadio):
        (WebCore::paintButtonLike):
        (WebCore::RenderThemeChromiumSkia::paintButton):
        (WebCore::RenderThemeChromiumSkia::paintTextField):
        (WebCore::RenderThemeChromiumSkia::paintTextArea):
        (WebCore::RenderThemeChromiumSkia::paintSearchField):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
        (WebCore::RenderThemeChromiumSkia::paintMediaControlsBackground):
        (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack):
        (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack):
        (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb):
        (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb):
        (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
        (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
        (WebCore::RenderThemeChromiumSkia::paintMenuList):
        (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
        (WebCore::RenderThemeChromiumSkia::paintSliderTrack):
        (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
        (WebCore::RenderThemeChromiumSkia::paintProgressBar):
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintCheckbox):
        (WebCore::RenderThemeChromiumWin::paintRadio):
        (WebCore::RenderThemeChromiumWin::paintButton):
        (WebCore::RenderThemeChromiumWin::paintTextField):
        (WebCore::RenderThemeChromiumWin::paintSliderTrack):
        (WebCore::RenderThemeChromiumWin::paintSliderThumb):
        (WebCore::RenderThemeChromiumWin::paintMenuList):
        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
        (WebCore::RenderThemeChromiumWin::paintProgressBar):
        * rendering/RenderThemeChromiumWin.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintTextField):
        (WebCore::RenderThemeMac::paintCapsLockIndicator):
        (WebCore::RenderThemeMac::paintTextArea):
        (WebCore::RenderThemeMac::paintMenuList):
        (WebCore::RenderThemeMac::paintMeter):
        (WebCore::RenderThemeMac::paintProgressBar):
        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
        (WebCore::RenderThemeMac::paintMenuListButton):
        (WebCore::RenderThemeMac::paintSliderTrack):
        (WebCore::RenderThemeMac::paintSliderThumb):
        (WebCore::RenderThemeMac::paintSearchField):
        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
        (WebCore::RenderThemeMac::paintSearchFieldDecoration):
        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
        (WebCore::getUnzoomedRectAndAdjustCurrentContext):
        (WebCore::RenderThemeMac::paintMediaFullscreenButton):
        (WebCore::RenderThemeMac::paintMediaMuteButton):
        (WebCore::RenderThemeMac::paintMediaPlayButton):
        (WebCore::RenderThemeMac::paintMediaSeekBackButton):
        (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
        (WebCore::RenderThemeMac::paintMediaSliderTrack):
        (WebCore::RenderThemeMac::paintMediaSliderThumb):
        (WebCore::RenderThemeMac::paintMediaRewindButton):
        (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
        (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
        (WebCore::RenderThemeMac::paintMediaControlsBackground):
        (WebCore::RenderThemeMac::paintMediaCurrentTime):
        (WebCore::RenderThemeMac::paintMediaTimeRemaining):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::paintCheckbox):
        (WebCore::RenderThemeSafari::paintRadio):
        (WebCore::RenderThemeSafari::paintButton):
        (WebCore::RenderThemeSafari::paintTextField):
        (WebCore::RenderThemeSafari::paintCapsLockIndicator):
        (WebCore::RenderThemeSafari::paintTextArea):
        (WebCore::RenderThemeSafari::paintMenuList):
        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
        (WebCore::RenderThemeSafari::paintMenuListButton):
        (WebCore::RenderThemeSafari::paintSliderTrack):
        (WebCore::RenderThemeSafari::paintSliderThumb):
        (WebCore::RenderThemeSafari::paintSearchField):
        (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
        (WebCore::RenderThemeSafari::paintSearchFieldDecoration):
        (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
        (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
        (WebCore::RenderThemeSafari::paintMediaMuteButton):
        (WebCore::RenderThemeSafari::paintMediaPlayButton):
        (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
        (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
        (WebCore::RenderThemeSafari::paintMediaSliderTrack):
        (WebCore::RenderThemeSafari::paintMediaSliderThumb):
        * rendering/RenderThemeSafari.h:
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::paintButton):
        (WebCore::RenderThemeWin::paintTextField):
        (WebCore::RenderThemeWin::paintMenuList):
        (WebCore::RenderThemeWin::paintMenuListButton):
        (WebCore::RenderThemeWin::paintSliderTrack):
        (WebCore::RenderThemeWin::paintSliderThumb):
        (WebCore::RenderThemeWin::paintSearchField):
        (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
        (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
        (WebCore::RenderThemeWin::paintMediaFullscreenButton):
        (WebCore::RenderThemeWin::paintMediaMuteButton):
        (WebCore::RenderThemeWin::paintMediaPlayButton):
        (WebCore::RenderThemeWin::paintMediaSeekBackButton):
        (WebCore::RenderThemeWin::paintMediaSeekForwardButton):
        (WebCore::RenderThemeWin::paintMediaSliderTrack):
        (WebCore::RenderThemeWin::paintMediaSliderThumb):
        (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
        * rendering/RenderThemeWin.h:
        (WebCore::RenderThemeWin::paintCheckbox):
        (WebCore::RenderThemeWin::paintRadio):
        (WebCore::RenderThemeWin::paintTextArea):
        (WebCore::RenderThemeWin::paintSearchFieldDecoration):
        * rendering/RenderThemeWince.cpp:
        (WebCore::RenderThemeWince::paintButton):
        (WebCore::RenderThemeWince::paintTextField):
        (WebCore::RenderThemeWince::paintMenuList):
        (WebCore::RenderThemeWince::paintMenuListButton):
        (WebCore::RenderThemeWince::paintSearchField):
        (WebCore::RenderThemeWince::paintSearchFieldCancelButton):
        (WebCore::RenderThemeWince::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeWince::paintSearchFieldResultsButton):
        (WebCore::RenderThemeWince::paintSliderTrack):
        (WebCore::RenderThemeWince::paintSliderThumb):
        (WebCore::RenderThemeWince::paintMediaFullscreenButton):
        (WebCore::RenderThemeWince::paintMediaMuteButton):
        (WebCore::RenderThemeWince::paintMediaPlayButton):
        (WebCore::RenderThemeWince::paintMediaSeekBackButton):
        (WebCore::RenderThemeWince::paintMediaSeekForwardButton):
        (WebCore::RenderThemeWince::paintMediaSliderTrack):
        (WebCore::RenderThemeWince::paintMediaSliderThumb):
        * rendering/RenderThemeWince.h:
        (WebCore::RenderThemeWince::paintCheckbox):
        (WebCore::RenderThemeWince::paintRadio):
        (WebCore::RenderThemeWince::paintTextArea):
        (WebCore::RenderThemeWince::paintSearchFieldDecoration):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::paintEllipsisBox):
        (WebCore::RootInlineBox::paintCustomHighlight):
        (WebCore::RootInlineBox::paint):
        (WebCore::RootInlineBox::fillLineSelectionGap):
        * rendering/RootInlineBox.h:
        * rendering/SVGInlineFlowBox.cpp:
        (WebCore::SVGInlineFlowBox::paint):
        * rendering/SVGInlineFlowBox.h:
        * rendering/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::paint):
        * rendering/SVGInlineTextBox.h:
        * rendering/SVGMarkerLayoutInfo.cpp:
        (WebCore::SVGMarkerLayoutInfo::drawMarkers):
        * rendering/SVGMarkerLayoutInfo.h:
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
        (WebCore::SVGRenderBase::finishRenderSVGContent):
        (WebCore::renderSubtreeToImage):
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::paint):
        * rendering/SVGRootInlineBox.h:

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

        Not reviewed. Sort Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

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

        Reviewed by Dirk Schulze.

        Provide floating-point support for text selection framework
        https://bugs.webkit.org/show_bug.cgi?id=40665

        Rename 'glyphScale' to 'horizontalGlyphStretch' upon Dans' request.
        Also guard the variables in ENABLE(SVG) blocks. Initialize variable to 1 instead of 1.0f, as that's the new style rule.

        No functional changes, thus no new tests.

        * platform/graphics/TextRun.h:
        (WebCore::TextRun::TextRun):
        (WebCore::TextRun::horizontalGlyphStretch):
        (WebCore::TextRun::setHorizontalGlyphStretch):
        (WebCore::TextRun::spacingDisabled):
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance):
        * rendering/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::offsetForPosition):

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

        Reviewed by Dirk Schulze.

        REGRESSION: text-shadow CSS applied to SVG no longer works
        https://bugs.webkit.org/show_bug.cgi?id=40960

        Readd text-shadow support, this time supporting multiple shadows.
        It's not exactly like HTML, because SVG draws fill/stroke phases seperated - the png shows the difference.

        Tests: svg/css/text-shadow-multiple.xhtml

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::applyShadowToGraphicsContext): Refactored from paintTextWithShadows(), so SVG can reuse.
        (WebCore::paintTextWithShadows): Use refactored applyShadowToGraphicsContext() function.
        * rendering/InlineTextBox.h: 
        * rendering/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::paintTextWithShadows): Added.
        (WebCore::SVGInlineTextBox::paintText): Call paintTextWithShadows() instead of directly drawing the text.
        * rendering/SVGInlineTextBox.h:

2010-06-29  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: show actual breakpoint position in UI.
        When user sets breakpoint from UI, javascript engine may actually set
        it on a different line. If so, move breakpoint to the correct position
        in frontend.
        https://bugs.webkit.org/show_bug.cgi?id=40781

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):
        (WebCore::ScriptDebugServer::dispatchDidPause):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):
        (WebCore::ScriptDebugServer::currentCallFrame):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::setBreakpoint):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::setBreakpoint):
        (WebCore::InspectorController::removeBreakpoint):
        (WebCore::InspectorController::didParseSource):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::didSetBreakpoint):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.setOneTimeBreakpoint):
        (WebInspector.BreakpointManager.prototype.removeOneTimeBreakpoint):
        (WebInspector.BreakpointManager.prototype.setBreakpoint):
        (WebInspector.BreakpointManager.prototype.restoredBreakpoint):
        (WebInspector.BreakpointManager.prototype.removeBreakpoint):
        (WebInspector.BreakpointManager.prototype._setBreakpoint):
        (WebInspector.BreakpointManager.prototype._removeBreakpoint):
        (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend.didSetBreakpoint):
        (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
        (WebInspector.Breakpoint.prototype.set enabled):
        (WebInspector.Breakpoint.prototype.set condition):
        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub.prototype.setBreakpoint):
        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype._addBreakpoint):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._addBreakpoint):

2010-06-29  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Catch toString() exceptions in all DB-related code.
        https://bugs.webkit.org/show_bug.cgi?id=41297

        * bindings/v8/custom/V8BindingMacros.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::openDatabaseCallback):
        * bindings/v8/custom/V8DatabaseCustom.cpp:
        (WebCore::V8Database::changeVersionCallback):
        * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
        (WebCore::V8DatabaseSync::changeVersionCallback):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::V8SQLTransaction::executeSqlCallback):
        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
        (WebCore::V8SQLTransactionSync::executeSqlCallback):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::V8WorkerContext::openDatabaseCallback):
        (WebCore::V8WorkerContext::openDatabaseSyncCallback):

2010-06-29  Herczeg Zoltan  <zherczeg@webkit.org>

        Rubber-stamped by Nikolas Zimmermann.

        Windows build fix.
        https://bugs.webkit.org/show_bug.cgi?id=5861

        * svg/SVGFEConvolveMatrixElement.cpp:
        (WebCore::SVGFEConvolveMatrixElement::build):

2010-06-29  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Add ConvolveMatrix SVG filter effect
        https://bugs.webkit.org/show_bug.cgi?id=5861

        The patch was originally started by Dirk Schulze,
        and the .cpp and .h files are mostly his work.
        I updated the build systems and do some minor updates
        to the source files as well. The patch does not contain
        the implementation of the filter: this is intended,
        and will be landed in a follow-up patch.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        (WebCore::createElementClassMap):
        * bindings/objc/DOMSVG.h:
        * page/DOMWindow.idl:
        * svg/SVGAllInOne.cpp:
        * svg/SVGFEConvolveMatrixElement.cpp: Added.
        (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
        (WebCore::SVGFEConvolveMatrixElement::~SVGFEConvolveMatrixElement):
        (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute):
        (WebCore::SVGFEConvolveMatrixElement::setOrder):
        (WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength):
        (WebCore::SVGFEConvolveMatrixElement::build):
        * svg/SVGFEConvolveMatrixElement.h: Added.
        * svg/SVGFEConvolveMatrixElement.idl: Added.
        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
        (WebCore::FEConvolveMatrix::FEConvolveMatrix):
        (WebCore::FEConvolveMatrix::create):
        (WebCore::FEConvolveMatrix::kernelSize):
        (WebCore::FEConvolveMatrix::setKernelSize):
        (WebCore::FEConvolveMatrix::targetOffset):
        (WebCore::FEConvolveMatrix::setTargetOffset):
        (WebCore::operator<<):
        (WebCore::FEConvolveMatrix::externalRepresentation):
        * svg/graphics/filters/SVGFEConvolveMatrix.h:
        (WebCore::):
        * svg/svgattrs.in:
        * svg/svgtags.in:

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

        Reviewed by Eric Seidel.

        HTML5 tree builder shouldn't ASSERT on HTML5lib test suite
        https://bugs.webkit.org/show_bug.cgi?id=41335

        Sketch out the EndTag handling for InBodyMode.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::ElementStack::inScope):
        (WebCore::HTMLTreeBuilder::clearActiveFormatingElementsUpToLastMarker):
        (WebCore::HTMLTreeBuilder::generateImpliedEndTags):

2010-06-28  David Levin  <levin@chromium.org>

        Reviewed by NOBODY (chromium build fix).

        * rendering/RenderObject.h: Add missing forward declaration.

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

        Unreviewed.

        I accidently gave up my ref and tried to dereference a null pointer.
        This code is keeping an extra ref that it doesn't need, but that fact
        was somewhat hidden before.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::addChildCommon):
        (WebCore::ContainerNode::parserAddChild):
        (WebCore::ContainerNode::legacyParserAddChild):
        * dom/ContainerNode.h:

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

        Unreviewed.

        Refactor common code into addChildCommon
        https://bugs.webkit.org/show_bug.cgi?id=41326

        Eric asked that we share the common code between these codepaths.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::addChildCommon):
        (WebCore::ContainerNode::parserAddChild):
        (WebCore::ContainerNode::addChild):
        * dom/ContainerNode.h:

2010-06-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Implement HTMLTreeBuilder::reconstructTheActiveFormattingElements
        https://bugs.webkit.org/show_bug.cgi?id=41319

        Restructure the code to not use in-band data, which is what
        got us in trouble with a signed/unsigned mismatch before.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
        (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
        * html/HTMLTreeBuilder.h:

2010-06-28  Daniel Bates  <dbates@rim.com>

        Unreviewed, attempt to fix Qt bots.

        Attempt to fix the build after changeset 62079 <http://trac.webkit.org/changeset/62079>
        (https://bugs.webkit.org/show_bug.cgi?id=41324).

        Rename some more call sites that were missed in the initial landing.

        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::parseStartElement):
        (WebCore::XMLDocumentParser::parseProcessingInstruction):
        (WebCore::XMLDocumentParser::parseCdata):
        (WebCore::XMLDocumentParser::parseComment):
        (WebCore::XMLDocumentParser::parseDtd):

2010-06-28  Daniel Bates  <dbates@rim.com>

        Unreviewed, build fix.

        Change return type of method HTMLTreeBuilder::reconstructTheActiveFormattingElements()
        from int to unsigned.

        Attempt to fix the build after changeset 62077 <https://trac.webkit.org/changeset/62077>
        (https://bugs.webkit.org/show_bug.cgi?id=41319).

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::indexOfLastOpenFormattingElementOrMarker):
        (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
        * html/HTMLTreeBuilder.h:

2010-06-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Rename ContainerNode::addChild to legacyParserAddChild to indicate its parser-only intended use
        https://bugs.webkit.org/show_bug.cgi?id=41324

        A bunch of places in the code were calling ContainerNode::addChild.
        I don't think they actually want to be doing that, as it has special
        form-related handling which is part of LegacyHTMLTreeBuilder.

        No functional changes, thus no tests.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::legacyParserAddChild):
        * dom/ContainerNode.h:
        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
        * dom/Node.cpp:
        (WebCore::Node::legacyParserAddChild):
        * dom/Node.h:
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::legacyParserAddChild):
        * html/HTMLTableElement.h:
        * html/HTMLTableRowElement.cpp:
        (WebCore::HTMLTableRowElement::legacyParserAddChild):
        * html/HTMLTableRowElement.h:
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::legacyParserAddChild):
        * html/HTMLTableSectionElement.h:
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createContainingTable):
        (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
        (WebCore::HTMLViewSourceDocument::addLine):
        (WebCore::HTMLViewSourceDocument::addText):
        (WebCore::HTMLViewSourceDocument::addLink):

2010-06-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Implement HTMLTreeBuilder::reconstructTheActiveFormattingElements
        https://bugs.webkit.org/show_bug.cgi?id=41319

        This is basically a direct transcription of HTML5 TreeBuilder spec:
         http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#list-of-active-formatting-elements

        This code is covered by various tests in html5lib/runner which we
        can't run yet due to other asserts.  Adam and I are working on
        getting rid of those ASSERTS so that this (and other code) will
        be better tested shortly.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::insertFormatingElement):
        (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::ElementStack::contains):
        (WebCore::HTMLTreeBuilder::FormatingElementEntry::FormatingElementEntry):
        (WebCore::HTMLTreeBuilder::FormatingElementEntry::):
        (WebCore::HTMLTreeBuilder::FormatingElementEntry::isMarker):
        (WebCore::HTMLTreeBuilder::FormatingElementEntry::element):
        (WebCore::HTMLTreeBuilder::FormatingElementEntry::replaceElement):

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

        Reviewed by Eric Seidel.

        Fix ASSERT so we can run more HTML5lib tests
        https://bugs.webkit.org/show_bug.cgi?id=41325

        We can't call Node::addChild because that function contains a bunch of
        logic from the old parser.  Instead, this patch creates a new version
        of addChild that's does less validating (that's the tree builder's
        job).

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::parserAddChild):
        * dom/ContainerNode.h:
        * dom/Node.cpp:
        (WebCore::Node::parserAddChild):
        * dom/Node.h:
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::attach):

2010-06-28  David Levin  <levin@chromium.org>

        Reviewed by NOBODY (chromium build fix).

        * bindings/v8/ScriptEventListener.h: Changed forward declaration
          to correspond to the code change doing in r62052.

2010-06-28  Brady Eidson  <beidson@apple.com>

        Reviewed by Alexey Proskuryakov.

        Support for https://bugs.webkit.org/show_bug.cgi?id=40484

        In working on adding beforeProcess, it becomes necessary for JSLazyEventListeners to always know what their
        original Node* was, even if it was a window event listener.

        For HTMLFrameSet, HTMLBody, and SVGSVG elements, a second form of createAttributeEventListener was used that
        took a Frame* argument and didn't set the original Node* on the JSLazyEventListener.

        This patch changes that form of the function to createWindowAttributeEventListener, and passes the Node* along
        for later use by the beforeProcess mechanism.

        No new tests. (No change in behavior)

        * bindings/js/ScriptEventListener.cpp:
        (WebCore::createWindowAttributeEventListener): Renamed from createAttributeEventListener, takes a Node* instead
          of a Frame*, and figures out the Frame* itself internally.
        * bindings/js/ScriptEventListener.h:

        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::createWindowAttributeEventListener): Renamed from createAttributeEventListener, takes a Node* instead
          of a Frame*, and figures out the Frame* itself internally. Note that V8LazyEventListener doesn't allow us to
          pass the Element* argument in so this beforeprocess feature won't fully work on V8 builds until this is changed.
        * bindings/v8/ScriptEventListener.h:

        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::parseMappedAttribute): Use createWindowAttributeEventListener instead.
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::parseMappedAttribute): Ditto.
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::parseMappedAttribute): Ditto. Also add some missing copyright dates that `svn log` proves
          should be there.

2010-06-28  John Gregg  <johnnyg@google.com>

        Reviewed by Kent Tamura.

        add ENABLE_DIRECTORY_UPLOAD build support
        https://bugs.webkit.org/show_bug.cgi?id=41100

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * WebCore.pri:

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

        Reviewed by Eric Seidel.

        Don't use the new tree builder for fragments
        https://bugs.webkit.org/show_bug.cgi?id=41316

        We need to walk before we can run.  After this change, we can run the
        runner.html tests (with the ASSERT caveat).

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):

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

        Reviewed by Eric Seidel.

        The new tree builder should actually finish building the tree
        https://bugs.webkit.org/show_bug.cgi?id=41314

        Again, this patch makes progress on runner.html, but I haven't removed
        the ASSERT yet.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::finished):
        * html/HTMLTreeBuilder.h:

2010-06-28  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Eric Seidel.

        Fix a race condition that can happen when using DBs in workers.
        https://bugs.webkit.org/show_bug.cgi?id=41105

        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::addOpenDatabase):
        * storage/DatabaseTracker.h:

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

        Reviewed by Eric Seidel.

        Add text nodes to the DOM
        https://bugs.webkit.org/show_bug.cgi?id=41306

        Actually add some text nodes to the DOM when parsing a document.  We're
        going to need to do something fancier here eventually, but this gets us
        past the error we're seeing currently in runner.html.

        Unfortunately, this patch "regresses" runner.html in the sense that we
        now hit an assert, but it's still an improvement...  I'll update the
        HTML5 expectations once we get past the assert.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::insertTextNode):
        * html/HTMLTreeBuilder.h:

2010-06-28  Beth Dakin  <bdakin@apple.com>

        Build fix for non-PATH_BASED_BORDER_RADIUS_DRAWING platforms.

        * rendering/RenderBoxModelObject.cpp:

2010-06-28  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Use HTML5-conformant gradient interpolation mode
        https://bugs.webkit.org/show_bug.cgi?id=41298

        Change the Qt Gradient implementation to use ComponentInterpolation mode.

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#colors-and-styles

        * platform/graphics/qt/GradientQt.cpp:
        (WebCore::Gradient::platformGradient):

2010-06-28  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam Weinig.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=9197 CSS3: Borders 
        with border-radius and double, groove, or ridge styles should look 
        better

        This patch re-works border radius painting to stroke paths instead 
        of arcs. 

        Added new function clipConvexPolygon(). Added static 
        addConvexPolygonToContext so that code can be shared between 
        drawConvexPolygon() and clipConvexPolygon().
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::addConvexPolygonToContext):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::clipConvexPolygon):

        Shells of implementations on non-CG platforms.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::clipConvexPolygon):

        This new helper function determines if the inner corners of the 
        border will arch in or meet at a right angle. 
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::borderWillArcInnerEdge):

        This function is re-written so that, for each side of the border, 
        if borderWillArcInnerEdge() is true, we go down a brand new code 
        path of clipping to a convex polygon for the border side and then 
        we paint the side using the new function drawBoxSideFromPath(). If 
        borderWillArcInnerEdge() is false, then we call into the old 
        familiar drawLineForBoxSide() which relies on the rounder clip 
        rects we have set up to arch the outer edge of the border.
        (WebCore::RenderBoxModelObject::paintBorder):

        This new function does the math to figure out the convex polygon 
        to clip to in the case where we need to arch the inner edge of the 
        border. This calls into a new GraphicsContext function that is only 
        implemented on CG at this time. This is the reason we are keeping 
        around an old version of paintBorder() for now.
        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
        * rendering/RenderBoxModelObject.h:

        borderInnerRect() is a new convenience function called from 
        RenderObject and RenderBoxModelObject to determine the rect of the 
        inside edge of the border.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::borderInnerRect):

        This new function re-works drawArcForBoxSide to draw from Paths 
        when appropriate instead of stroking arcs. 
        (WebCore::RenderObject::drawBoxSideFromPath):

        Keep this around for that do not HAVE(PATH_BASED_BORDER_RADIUS_DRAWING) until 
        GraphicsContext::clipConvexPolygon() is implemented.
        (WebCore::RenderObject::drawArcForBoxSide):
        * rendering/RenderObject.h:

        New function 
        RenderStyle::getInnerBorderRadiiForRectWithBorderWidths() gets the 
        inner radius values for a rect. It takes border widths a parameters 
        rather than using the style's border widths so that it can be used 
        in inner radius calculations for double and groove/ridge 
        calculations. The W3C corner constraining rules were moved to a 
        static function that can be called from both getBorderRadiiForRect
        () and getInnerBorderRadiiForRectWithBorderWidths().
        * rendering/style/RenderStyle.cpp:
        (WebCore::constrainCornerRadiiForRect):
        (WebCore::RenderStyle::getBorderRadiiForRect):
        (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths):
        * rendering/style/RenderStyle.h:

2010-06-28  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Add support for the progress bar tag
        https://bugs.webkit.org/show_bug.cgi?id=41014

        Add support for rendering the progress tag for WebKit GTK+.

        * GNUmakefile.am:
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
        Added. Currently progress bar animations are disabled. As it looks like
        there may not be a good way to support this with Mozilla's theme drawing code.
        (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto.
        (WebCore::RenderThemeGtk::adjustProgressBarStyle): Added.
        (WebCore::RenderThemeGtk::paintProgressBar): Added.
        * platform/gtk/RenderThemeGtk.h: Add declarations for new methods.
        * platform/gtk/gtk2drawing.c: 
        (moz_gtk_get_progress_widget): Expose the progress widget so that the chunk can be positioned properly.
        * platform/gtk/gtkdrawing.h: Added declaration for moz_gtk_get_progress_widget.

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

        Reviewed by Eric Seidel.

        HTML5 Regression: Crash in insert()
        https://bugs.webkit.org/show_bug.cgi?id=41281

        We need to call endIfDelayed() outside of the script nesting block
        because endIfDelayed() might call end(), which deletes the
        HTMLDocumentParser.  If we try to exit the script nesting block after
        the HTMLDocumentParser has been deleted, we'll decrement unallocated
        memory, which is bad times.

        Moving endIfDelayed outside of the script nesting block also lets us
        avoid ending if inWrite() is true.  If we're inWrite(), then there's
        folks above us on the stack who will crash of the HTMLDocumentParser is
        deallocated.  Adding this check matches the LegacyHTMLDocumentParser
        and the logic in attemptToEnd, facilitating a small refactoring of the
        common logic for improved readability.

        I don't know of any test case that changes in behavior because of this
        patch, but this bug exists on the same line of code that the reliablity
        tests crashed.  I'm not sure whether this patch will fix that crash,
        but removing bugs (even theoretical ones) seems like a good idea.

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::insert):
        (WebCore::HTMLDocumentParser::append):
        (WebCore::HTMLDocumentParser::attemptToEnd):
        (WebCore::HTMLDocumentParser::endIfDelayed):
        (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
        * html/HTMLDocumentParser.h:
        (WebCore::HTMLDocumentParser::shouldDelayEnd):

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

        Reviewed by Sam Weinig.

        MediaPlayerPrivate::getSupportedTypes does not return "modern" MIME types
        https://bugs.webkit.org/show_bug.cgi?id=41287
        <rdar://problem/8137402>

        No new test because getSupportedTypes is used privately by MediaPlayer.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::getSupportedTypes): Build hash set with both common and
        modern types.

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

        Reviewed by Darin Adler.

        REGRESSION(53790): Neopets page with mismatched elements misrenders
        https://bugs.webkit.org/show_bug.cgi?id=41181

        Misnested formatting tags require fixup in order to create a valid DOM.  Because this takes
        O(N^2) time in some cases, http://trac.webkit.org/changeset/53790 added an iteration limit
        of 5 to this algorithm to avoid hangs.  This limit is too low for neopets, but a limit of
        7 is sufficient.  This raises the limit to 10 to have a bit of breathing room.  HTML5
        defines the fixup algorithm http://www.whatwg.org/specs/web-apps/current-work/#adoptionAgency
        but doesn't specify any particular iteration limit.

        * html/LegacyHTMLTreeBuilder.cpp:

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

        Reviewed by Eric Seidel.

        The new tree builder needs to call attach() on elements it attaches to
        the DOM
        https://bugs.webkit.org/show_bug.cgi?id=41293

        Apparently Nodes expect to have their attach() method called when they
        are attached to the DOM.  The new tree builder is happy to oblige.
        Making this call requires some fancy footwork with RefPtr/PassRefPtr to
        avoid extra ref churn while keeping each function small.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::insertDoctype):
        (WebCore::HTMLTreeBuilder::insertComment):
        (WebCore::HTMLTreeBuilder::insertCommentOnDocument):
        (WebCore::HTMLTreeBuilder::insertElement):
        (WebCore::HTMLTreeBuilder::insertSelfClosingElement):
        (WebCore::HTMLTreeBuilder::insertScriptElement):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::attach):

2010-06-28  Xan Lopez  <xlopez@igalia.com>

        Fix distcheck.

        * GNUmakefile.am:

2010-06-28  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Index validation caches buffer size information too aggressively
        https://bugs.webkit.org/show_bug.cgi?id=41092

        Test: fast/canvas/webgl/index-validation-with-resized-buffer.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateRenderingState):
         - Compute the number of valid elements each time based on the latched buffer.
        (WebCore::WebGLRenderingContext::vertexAttribPointer):
         - Do not cache the buffer size, only the attributes used to
           compute the number of required elements.
        * html/canvas/WebGLRenderingContext.h:
        (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
         - Ditto.

2010-06-28  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Replace single treat-as-space characters with normal space
        https://bugs.webkit.org/show_bug.cgi?id=41278

        This keeps Qt from attempting glyph substitution and loading a bunch
        of extra fonts when encountering &nbsp; entities.

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

2010-06-28  Robin Cao  <robin.cao@torchmobile.com.cn>

        Reviewed by Dan Bernstein.

        canvas fillText with @font-face crashes
        https://bugs.webkit.org/show_bug.cgi?id=35486

        The font object in CanvasRenderingContext2D may become invalid at some point.
        Override recalcStyle() in HTMLCanvasElement, and update the font object from there if needed.

        A test already exists: canvas/philip/tests/2d.text.draw.fontface.repeat.html

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::recalcStyle):
        * html/HTMLCanvasElement.h:
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::updateFont):
        * html/canvas/CanvasRenderingContext2D.h:

2010-06-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Unreviewed build fix.

        [EFL] Build fix for latest version of Ecore library.
        Ecore recently changed return type of callbacks from int to Eina_Bool.

        No new functionality, so no new tests.

        * platform/efl/SharedTimerEfl.cpp:
        (WebCore::timerEvent): Return Eina_Bool instead of int.

2010-06-28  Xan Lopez  <xlopez@igalia.com>

        Fix build with GTK+ older than 2.18

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

2010-06-28  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Adam Barth.

        [GTK] Push NULL context on every DOM bindings entry point
        https://bugs.webkit.org/show_bug.cgi?id=39967

        Update GObject DOM bindings to push the NULL context on every API
        entry point, and update bindings test results.

        * bindings/scripts/CodeGeneratorGObject.pm:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:

2010-06-28  Martin Robinson  <martin.james.robinson@gmail.com>

        Reviewed by Adam Roben.

        [WinCairo] Text box backgrounds do not render in partially opaque layers
        https://bugs.webkit.org/show_bug.cgi?id=41113

        Tests:
         manual-tests/partially-opaque-text-input.html

        * platform/graphics/win/GraphicsContextCairoWin.cpp:
        (WebCore::GraphicsContext::releaseWindowsContext):
        When restoring a context which does not support alpha blending, manually
        set the alpha channel of the HBITMAP to fully opaque. This will effectively
        ignore the alpha channel of the HBITMAP, which is necessary because GDI
        drawing functions set the alpha value to be fully transparent (0).

2010-06-28  Martin Robinson  <martin.james.robinson@gmail.com>

        Reviewed by Adam Roben.

        [WinCairo] Rendering of themed elements on a layer with opacity produces nothing
        https://bugs.webkit.org/show_bug.cgi?id=41111

        Tests:
         manual-tests/partially-opaque-form-elements.html

        * platform/graphics/win/GraphicsContextCairoWin.cpp:
        (WebCore::GraphicsContext::releaseWindowsContext):
        Preform a cairo_save() and a cairo_restore() around code modifying the transformation
        matrix of the Cairo surface. Also set the destination coordinates before adjusting
        the transformation matrix scale, so that the destination coordinates are not scaled
        as well.

2010-06-28  Sam Magnuson  <smagnuson@netflix.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] GraphicsLayerQt delay seems unnecessary.
        https://bugs.webkit.org/show_bug.cgi?id=40846

        Test: compositing/animation/busy-indicator.html

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQtImpl::recache):
        (WebCore::GraphicsLayerQtImpl::flushChanges):
        (WebCore::GraphicsLayerQt::setContentsToImage):
        (WebCore::GraphicsLayerQt::addAnimation):

2010-06-28  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Until now we were adding the event listeners for a given object in
        the wrap method, since that's the first moment we have accoss to
        the core WebCore object. The problem is that we only install the
        listeners that the topmost class in the class hierarchy needs (eg,
        HTMLParagrahElement for a P element), when most of the actual
        event attributes are defined in the base classes (Node, Element,
        ...).

        To fix this set the core object as a construct/write-only property
        on the wrapper GObject, and set the eventlisteners in the cGObject
        'construct' method, chaining up through all the class hierarchy
        until the end. This way we'll get all the eventlisteners defined
        in all the superclasses of our object, which is what we want.

        * bindings/gobject/WebKitDOMObject.cpp:
        (webkit_dom_object_get_property):
        (webkit_dom_object_set_property):
        (webkit_dom_object_class_init):
        * bindings/scripts/CodeGeneratorGObject.pm:
        * dom/Node.idl:

2010-06-28  Xan Lopez  <xlopez@igalia.com>

        Fix GTK+ build.

        * platform/gtk/RenderThemeGtk.cpp:

2010-06-28  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Does not compile with -DGSEAL_ENABLE
        https://bugs.webkit.org/show_bug.cgi?id=37851

        Fix build with GSEAL enabled.

        * GNUmakefile.am:
        * platform/gtk/GtkVersioning.h:
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::paintMozillaGtkWidget):
        (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
        (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
        (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
        (WebCore::RenderThemeGtk::systemColor):
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::platformRemoveChild):
        (WebCore::ScrollView::visibleContentRect):
        * platform/gtk/gtk2drawing.c:
        (ensure_toggle_button_widget):
        (ensure_combo_box_widgets):
        (ensure_combo_box_entry_widgets):
        (ensure_tree_header_cell_widget):
        (moz_gtk_button_paint):
        (moz_gtk_toggle_paint):
        (calculate_button_inner_rect):
        (calculate_arrow_rect):
        (moz_gtk_scrollbar_button_paint):
        (moz_gtk_scrollbar_trough_paint):
        (moz_gtk_scrollbar_thumb_paint):
        (moz_gtk_spin_paint):
        (moz_gtk_spin_updown_paint):
        (moz_gtk_scale_paint):
        (moz_gtk_scale_thumb_paint):
        (moz_gtk_gripper_paint):
        (moz_gtk_hpaned_paint):
        (moz_gtk_vpaned_paint):
        (moz_gtk_entry_paint):
        (moz_gtk_treeview_paint):
        (moz_gtk_tree_header_sort_arrow_paint):
        (moz_gtk_treeview_expander_paint):
        (moz_gtk_expander_paint):
        (moz_gtk_combo_box_paint):
        (moz_gtk_downarrow_paint):
        (moz_gtk_combo_box_entry_button_paint):
        (moz_gtk_container_paint):
        (moz_gtk_toggle_label_paint):
        (moz_gtk_toolbar_paint):
        (moz_gtk_toolbar_separator_paint):
        (moz_gtk_tooltip_paint):
        (moz_gtk_resizer_paint):
        (moz_gtk_frame_paint):
        (moz_gtk_progressbar_paint):
        (moz_gtk_progress_chunk_paint):
        (moz_gtk_get_tab_thickness):
        (moz_gtk_tab_paint):
        (moz_gtk_tabpanels_paint):
        (moz_gtk_tab_scroll_arrow_paint):
        (moz_gtk_menu_bar_paint):
        (moz_gtk_menu_popup_paint):
        (moz_gtk_menu_separator_paint):
        (moz_gtk_menu_item_paint):
        (moz_gtk_menu_arrow_paint):

2010-06-28  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Add support for GTK+3
        https://bugs.webkit.org/show_bug.cgi?id=41253

        Adapt build system for 3.x support.

        * GNUmakefile.am:

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

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: properties of scope variables are flattened while on a breakpoint.
        https://bugs.webkit.org/show_bug.cgi?id=41214

        Test: inspector/debugger-proto-property.html

        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor): object proxy with non-empty path cannot be scope proxy.

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

        Unreviewed attempt to fix windows build.

        * page/DOMWindow.idl:

2010-06-22  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        <progress> should be styled with -webkit-progress-bar-value
        https://bugs.webkit.org/show_bug.cgi?id=40823

        Fixed to peek styles of the shadow node pseudo class to fallback
        to non-styled painting.
        
        * css/html.css: 
        (progress): Added defaul background-color.
        (progress::-webkit-progress-bar-value): Added defaul background-color.
        * rendering/RenderProgress.cpp:
        (WebCore::RenderProgress::shouldHaveParts):
        (WebCore::RenderProgress::updatePartsState):

        Test: fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html
        
2010-06-28  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Kent Tamura.

        GCC suggest parentheses around && within ||
        https://bugs.webkit.org/show_bug.cgi?id=41245

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

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

        Reviewed by Eric Seidel.

        Don't dump contents of <script> elements in LayoutTests
        https://bugs.webkit.org/show_bug.cgi?id=41277

        Apparently we need to tell each element when we start and stop parsing
        its children.  If we don't do this, we see the contents of every script
        and style element in dumpAsText LayoutTests.  (This patch is *well*
        covered by LayoutTests.)

        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::ElementStack::pop):
        (WebCore::HTMLTreeBuilder::ElementStack::push):

2010-06-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Make it possible to test the new HTML5 TreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=41276

        Adam was concerned that someone might make their port
        depend on this setting (I guess we had some trouble with that
        with the HTML5Parser setting), so I littered the code with warnings.

        test-html5-parser now tests this code path.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::finished):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setHTML5TreeBuilderEnabled_DO_NOT_USE):
        (WebCore::Settings::html5TreeBuilderEnabled):

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

        Reviewed by Eric Seidel.

        Make the html5lib runner.html not assert
        https://bugs.webkit.org/show_bug.cgi?id=41273

        This patch gets us closer to being able to run the parser tests.  We
        still don't get parsing correct, but at least we don't assert.  :)

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::insertCommentOnDocument):
        * html/HTMLTreeBuilder.h:

2010-06-28  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Attempt to fix Chromium and Qt builders.

        Add a new baseclass for XML, HTML and Text DocumentParsers to clean up DocumentParser call sites
        https://bugs.webkit.org/show_bug.cgi?id=41141

        No functional changes, thus no tests.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::eventHandlerLineNumber):
        (WebCore::ScriptController::eventHandlerColumnNumber):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::stopParsing):

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

        Reviewed by Eric Seidel.

        Add support for parsing attributes
        https://bugs.webkit.org/show_bug.cgi?id=41272

        This patch lets use parse the following document:

        <script src="data:text/javascript,alert('PASS')"></script>

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
        (WebCore::HTMLTreeBuilder::insertScriptElement):
        (WebCore::HTMLTreeBuilder::createElement):

2010-06-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        Add a new baseclass for XML, HTML and Text DocumentParsers to clean up DocumentParser call sites
        https://bugs.webkit.org/show_bug.cgi?id=41141

        By splitting ScriptableDocumentParser and DecodedDataDocumentParser
        out from DocumentParser we've made the DocumentParser and
        RawDataDocumentParser classes simpler.

        No functional change, thus no tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::eventHandlerLineNumber):
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::checkLoaded):
        * dom/Document.cpp:
        (WebCore::Document::scriptableDocumentParser):
        (WebCore::Document::open):
        (WebCore::Document::implicitOpen):
        (WebCore::Document::implicitClose):
        (WebCore::Document::removePendingSheet):
        * dom/Document.h:
        (WebCore::Document::parser):
        * dom/DocumentParser.cpp:
        (WebCore::DocumentParser::DocumentParser):
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::asScriptableDocumentParser):
        * dom/RawDataDocumentParser.h:
        (WebCore::RawDataDocumentParser::finishWasCalled):
        * dom/ScriptableDocumentParser.cpp: Copied from WebCore/html/HTMLEntityParser.h.
        (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
        * dom/ScriptableDocumentParser.h: Added.
        (WebCore::ScriptableDocumentParser::isExecutingScript):
        (WebCore::ScriptableDocumentParser::executeScriptsWaitingForStylesheets):
        (WebCore::ScriptableDocumentParser::xssAuditor):
        (WebCore::ScriptableDocumentParser::setXSSAuditor):
        (WebCore::ScriptableDocumentParser::processingContentWrittenByScript):
        (WebCore::ScriptableDocumentParser::asScriptableDocumentParser):
        * dom/ViewportArguments.cpp:
        (WebCore::parserLineNumber):
        (WebCore::reportViewportWarning):
        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
        * html/HTMLDocumentParser.h:
        * html/LegacyHTMLDocumentParser.cpp:
        (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
        (WebCore::LegacyHTMLDocumentParser::parseTag):
        * html/LegacyHTMLDocumentParser.h:
        (WebCore::LegacyHTMLDocumentParser::processingContentWrittenByScript):
        * html/LegacyHTMLTreeBuilder.cpp:
        (WebCore::LegacyHTMLTreeBuilder::reportErrorToConsole):
        * loader/DocumentLoader.cpp:
        * loader/DocumentWriter.cpp:
        * loader/TextDocument.cpp:
        (WebCore::TextDocumentParser::TextDocumentParser):
        (WebCore::TextDocumentParser::finish):
        * svg/SVGDocumentExtensions.cpp:
        (WebCore::parserLineNumber):
        (WebCore::reportMessage):
        (WebCore::SVGDocumentExtensions::reportWarning):
        (WebCore::SVGDocumentExtensions::reportError):

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

        Reviewed by Mark Rowe.

        WebKit2 build exceeds address space on 32-bit Windows builders
        https://bugs.webkit.org/show_bug.cgi?id=41270

        Add all-in-one file for render-related SVG files.
        Clean up other all-in-one files by adding missing files, excluding matching files from the vcproj.
        Reduces release WebCore.lib size by 10% (160MB).

        * DerivedSources.cpp:
        * WebCore.vcproj/WebCore.vcproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * html/HTMLElementsAllInOne.cpp:
        * rendering/RenderSVGAllInOne.cpp: Added.

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

        Reviewed by Eric Seidel.

        Sketch out the InBodyMode for the tree builder
        https://bugs.webkit.org/show_bug.cgi?id=41271

        This gives us some basic behavior for the InBodyMode.  I've implemented
        some of the easier logic.  The more complicated logic will be in
        subsequent patches.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::insertFormatingElement):
        (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
        * html/HTMLTreeBuilder.h:

2010-06-25  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Shinichiro Hamaji.

        Improve default value handling for page format properties.

        Default page size and orientation have been hard-coded.
        Instead, pass default page size and margins to
        WebCore::Document::pageSizeAndMarginsInPixels to handle auto page size
        and margins specified as percentages.
        Return margins instead of page rect.

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

        * WebCore.base.exp:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyPageSizeProperty):
        (WebCore::CSSStyleSelector::pageSizeFromName):
        * css/html.css:
        (@page):
        * dom/Document.cpp:
        (WebCore::Document::pageSizeAndMarginsInPixels):
        * dom/Document.h:
        * page/PrintContext.cpp:
        (WebCore::PrintContext::pageProperty):
        (WebCore::PrintContext::pageSizeAndMarginsInPixels):
        * page/PrintContext.h:
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::pageSizeType):
        (WebCore::InheritedFlags::setPageSizeType):
        (WebCore::InheritedFlags::resetPageSizeType):
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:
        (WebCore::):

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

        Reviewed by Eric Seidel.

        Clean up some loose ends in HTML5 tree builder
        https://bugs.webkit.org/show_bug.cgi?id=41265

        This patch cleans up a few loose ends in HTML5 tree builder.
        Technically, we could do each of these as individual patches, but that
        didn't seem worth while.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
            - Add missing break before default case statement.  I don't think
              this change is observable.
        (WebCore::HTMLTreeBuilder::processComment):
            - Originally I thought that comments had special processing in the
              InHeadNoscriptMode, but it turns out that when you unwind the
              definitions, it amounts to exactly the same thing.
        (WebCore::HTMLTreeBuilder::processEndOfFile):
            - Add missing break before default case statement.  I don't think
              this change is observable.
        (WebCore::HTMLTreeBuilder::insertComment):
            - Eliminate one unnecessary ref/deref pair.
        (WebCore::HTMLTreeBuilder::insertSelfClosingElement):
            - When we insert self-closing elements, there's no reason to push
              them onto the stack of open elements just to pop them off again.
              This change saves a malloc/free pair as well as a ref/deref pair.
              Go team.
        * html/HTMLTreeBuilder.h:
            - Remove unused function.

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

        Reviewed by Eric Seidel.

        Implement remaining StartTag processing for InHeadNoscriptMode
        https://bugs.webkit.org/show_bug.cgi?id=41264

        The InHeadNoscriptMode processes some start tags "as if" the tree
        builder were in the InHeadMode.  This is an idiom we'll see more of
        later.  My approach is this patch is to factor all the logic for
        processing start tags in the InHeadMode into a separate function that
        can be called from both locations.  This seems cleaner than just
        splitting out the parts that are actually used by both modes.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
        (WebCore::HTMLTreeBuilder::insertSelfClosingElement):
        * html/HTMLTreeBuilder.h:

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

        Reviewed by Eric Seidel.

        Add support for <title> and <style> elements
        https://bugs.webkit.org/show_bug.cgi?id=41263

        These elements use the generic RCDATA and RawText algorithms,
        respectively.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
        (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):

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

        Reviewed by Eric Seidel.

        Actually insert Doctype elements
        https://bugs.webkit.org/show_bug.cgi?id=41262

        This code is pretty much the same as in the old tree builder.

        * html/HTMLToken.h:
        (WebCore::AtomicHTMLToken::publicIdentifier):
        (WebCore::AtomicHTMLToken::systemIdentifier):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::insertDoctype):

2010-06-27  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Canvas: Ignore calls to drawImage() with non-finite parameters
        https://bugs.webkit.org/show_bug.cgi?id=38929

        This also fixes a Qt assert when using the raster graphics system.

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#2dcontext

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

2010-06-27  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        editing/execCommand/copy-without-selection.html fails on Qt after r61637
        https://bugs.webkit.org/show_bug.cgi?id=41025

        The problem was that when getting data back via Clipboard::getData(),
        the String::String(const char*, int) constructor was called
        with UTF-16 data.

        The solution is to use QMimeData's text() and setText() for "text/plain".

        setText() which makes sure Qt passes the string in proper format to the
        system clipboard. (The previous implementation would convert it to UTF-8)

        text() makes sure that the correct encoding is used (UTF-16) and that
        we get back whatever we originally put in there.

        * platform/qt/ClipboardQt.cpp:
        (WebCore::isTextMimeType):
        (WebCore::ClipboardQt::getData):
        (WebCore::ClipboardQt::setData):

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

        Reviewed by Eric Seidel.

        HTML5 tree builder should be able to execute inline scripts
        https://bugs.webkit.org/show_bug.cgi?id=41257

        This patch implements enough machinery so that we can execute inline
        scripts in extremely simple documents such as the following:

        <html>
        <script>
        alert(1);
        </script>

        To get this to work, I had to flesh out a surprising amount of the data
        structures for processing the <head>.  No tests because this is
        already covered by most LayoutTests.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::insertComment):
        (WebCore::HTMLTreeBuilder::insertElement):
        (WebCore::HTMLTreeBuilder::insertScriptElement):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::ElementRecord::ElementRecord):
        (WebCore::HTMLTreeBuilder::ElementRecord::element):
        (WebCore::HTMLTreeBuilder::ElementRecord::next):
        (WebCore::HTMLTreeBuilder::ElementRecord::releaseNext):
        (WebCore::HTMLTreeBuilder::ElementRecord::setNext):
        (WebCore::HTMLTreeBuilder::ElementStack::pop):
        (WebCore::HTMLTreeBuilder::ElementStack::push):
        (WebCore::HTMLTreeBuilder::ElementStack::top):
        (WebCore::HTMLTreeBuilder::ElementStack::remove):
        (WebCore::HTMLTreeBuilder::currentElement):

2010-06-26  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        beforeProcess event needs to fire before inline scripts/stylesheets take effect
        <rdar://problem/8084335> and https://bugs.webkit.org/show_bug.cgi?id=40484

        This patch adds the Event, the onBeforeProcess attribute, and hooks the attribute up in a few places.
        Besides that, no change in behavior.

        Layout tests will come with the actual implementations as a followup to this patch.

        Project file nonsense:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

        Scaffolding for the event itself:
        * dom/BeforeProcessEvent.cpp: Added.
        (WebCore::BeforeProcessEvent::text):
        (WebCore::BeforeProcessEvent::setText):
        * dom/BeforeProcessEvent.h: Added.
        (WebCore::BeforeProcessEvent::create):
        (WebCore::BeforeProcessEvent::initBeforeProcessEvent):
        (WebCore::BeforeProcessEvent::BeforeProcessEvent):
        * dom/BeforeProcessEvent.idl: Added.

        * dom/EventNames.h:

        Respect the onBeforeProcess attribute:
        * dom/Document.cpp:
        (WebCore::Document::addListenerTypeIfNeeded):
        * dom/Document.h:
        (WebCore::Document::):

        * html/HTMLAttributeNames.in:
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::parseMappedAttribute):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::parseMappedAttribute):

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

        Try to fix Chromium build by adding back function used only by Chromium WebKit.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultChecked): Added back.
        * html/HTMLInputElement.h: Added defaultChecked function.

        * html/HTMLMetaElement.cpp:
        (WebCore::HTMLMetaElement::httpEquiv): Added back.
        * html/HTMLMetaElement.h: Added httpEquiv function.

        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::defaultSelected): Added back.
        * html/HTMLOptionElement.h: Added defaultSelected function.

        * rendering/style/StyleRareNonInheritedData.h: Fixed incorrect struct vs. class
        here as seen in warnings on Chromium Windows bot.

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

        Try to fix Windows build by adding back function used only by Windows WebKit.

        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::label): Added back.
        * html/HTMLOptionElement.h: Added label function.

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

        Try to fix Qt build by adding back function used only by Qt WebKit.

        * html/HTMLMetaElement.cpp:
        (WebCore::HTMLMetaElement::content): Added back.
        * html/HTMLMetaElement.h: Added content function.

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

        * html/HTMLFormElement.h: Removed stray character that got in here before landing.

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

        Reviewed by Sam Weinig.

        Add more use of reflection, remove unused functions
        https://bugs.webkit.org/show_bug.cgi?id=41255

        Also noticed that HTMLDirectoryElement was missing its create function
        and added that so the element will get the correct class.

        * html/HTMLBaseFontElement.idl: Use reflection for the size attribute
        in the Objective-C code path too.

        * html/HTMLSelectElement.idl: Use reflection for disabled and autofocus
        attributes. Also removed spaces and indenting to match other IDL files.

        * html/HTMLStyleElement.idl: Use reflection for disabled attribute.

        * html/HTMLTableCellElement.idl: Use reflection for noWrap attribute.

        * html/HTMLTextAreaElement.idl: Use reflection for disabled, autofocus,
        readOnly, and required attributes.

        * html/HTMLUListElement.idl: Use reflection for compact attribute.

        * html/HTMLDirectoryElement.cpp:
        (WebCore::HTMLDirectoryElement::HTMLDirectoryElement): Made inline.
        (WebCore::HTMLDirectoryElement::create): Added.
        * html/HTMLDirectoryElement.h:
        Added create, made constructor private, removed unused functions.

        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::parseMappedAttribute): Removed code to
        set unused m_media data member.
        * html/HTMLStyleElement.h:
        Removed unused functions and m_media data member. Also made some
        functions private.

        * html/HTMLAppletElement.cpp:
        * html/HTMLAppletElement.h:
        * html/HTMLAreaElement.cpp:
        * html/HTMLAreaElement.h:
        * html/HTMLBaseFontElement.cpp:
        * html/HTMLBaseFontElement.h:
        * html/HTMLButtonElement.cpp:
        * html/HTMLButtonElement.h:
        * html/HTMLDListElement.cpp:
        * html/HTMLDListElement.h:
        * html/HTMLDivElement.cpp:
        * html/HTMLDivElement.h:
        * html/HTMLFontElement.cpp:
        * html/HTMLFontElement.h:
        * html/HTMLFormControlElement.cpp:
        * html/HTMLFormControlElement.h:
        * html/HTMLFormElement.cpp:
        * html/HTMLFormElement.h:
        * html/HTMLFrameElement.cpp: Also removed an incorrect FIXME comment
        here after I did a little research to disprove it.
        * html/HTMLFrameElement.h:
        * html/HTMLFrameSetElement.cpp:
        * html/HTMLFrameSetElement.h:
        * html/HTMLHRElement.cpp:
        * html/HTMLHRElement.h:
        * html/HTMLHeadElement.cpp:
        * html/HTMLHeadElement.h:
        * html/HTMLHeadingElement.cpp:
        * html/HTMLHeadingElement.h:
        * html/HTMLHtmlElement.cpp:
        * html/HTMLHtmlElement.h:
        * html/HTMLImageElement.cpp:
        * html/HTMLImageElement.h:
        * html/HTMLInputElement.cpp:
        * html/HTMLInputElement.h:
        * html/HTMLIsIndexElement.cpp:
        * html/HTMLIsIndexElement.h:
        * html/HTMLLIElement.cpp:
        * html/HTMLLIElement.h:
        * html/HTMLLabelElement.cpp:
        * html/HTMLLabelElement.h:
        * html/HTMLLegendElement.cpp:
        * html/HTMLLegendElement.h:
        * html/HTMLLinkElement.cpp:
        * html/HTMLLinkElement.h:
        * html/HTMLMapElement.cpp:
        * html/HTMLMapElement.h:
        * html/HTMLMenuElement.cpp:
        * html/HTMLMenuElement.h:
        * html/HTMLMetaElement.cpp:
        * html/HTMLMetaElement.h:
        * html/HTMLModElement.cpp:
        * html/HTMLModElement.h:
        * html/HTMLOListElement.cpp:
        * html/HTMLOListElement.h:
        * html/HTMLObjectElement.cpp:
        * html/HTMLObjectElement.h:
        * html/HTMLOptGroupElement.cpp:
        * html/HTMLOptGroupElement.h:
        * html/HTMLOptionElement.cpp:
        * html/HTMLOptionElement.h:
        * html/HTMLParagraphElement.cpp:
        * html/HTMLParagraphElement.h:
        * html/HTMLParamElement.cpp:
        * html/HTMLParamElement.h:
        * html/HTMLPlugInElement.cpp:
        * html/HTMLPlugInElement.h:
        * html/HTMLPreElement.cpp:
        * html/HTMLPreElement.h:
        * html/HTMLQuoteElement.cpp:
        * html/HTMLQuoteElement.h:
        * html/HTMLScriptElement.cpp:
        * html/HTMLScriptElement.h:
        * html/HTMLTableCaptionElement.cpp:
        * html/HTMLTableCaptionElement.h:
        * html/HTMLTableCellElement.cpp:
        * html/HTMLTableCellElement.h:
        * html/HTMLTableColElement.cpp:
        * html/HTMLTableColElement.h:
        * html/HTMLTableElement.cpp:
        * html/HTMLTableElement.h:
        * html/HTMLTableRowElement.cpp:
        * html/HTMLTableRowElement.h:
        * html/HTMLTextAreaElement.cpp:
        * html/HTMLTextAreaElement.h:
        * html/HTMLUListElement.cpp:
        * html/HTMLUListElement.h:
        * html/HTMLVideoElement.cpp:
        * html/HTMLVideoElement.h:
        Removed unused functions.

2010-06-26  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Exclude line numbers for sources which are not from the network.
        https://bugs.webkit.org/show_bug.cgi?id=41060

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::write):

2010-06-25  Antonio Gomes  <tonikitoo@webkit.org>

        Unreviewed complementary fix for r61818. It added StaticHashSetListNode.cpp|h to the system,
        but did not added it to chromium build system.

        * WebCore.gypi:

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: ScripsPanel.prototype.editScriptSource uses old addBreakpoint signature.

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

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.removeBreakpoint):
        (WebInspector.Breakpoint.prototype.set enabled):
        (WebInspector.Breakpoint.prototype.set condition):
        * inspector/front-end/Object.js:
        (WebInspector.Object.prototype.addEventListener):
        (WebInspector.Object.prototype.removeEventListener):
        (WebInspector.Object.prototype.removeAllListeners):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
        (WebInspector.ScriptsPanel.prototype.editScriptSource):

2010-06-26  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add a guarded window.performance.timing binding which is disabled by default.
        https://bugs.webkit.org/show_bug.cgi?id=38924

        This is where Web Timing support will be implemented. Web Timing is a
        draft spec for exposing load times to web pages. It will be enabled
        once the spec and implementaiton are solidified. See:
        http://dev.w3.org/2006/webapi/WebTiming/

        No new tests because guarded behind a #DEFINE. Will add tests as
        functionality is landed.

        * Android.mk:
        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::clear):
        (WebCore::DOMWindow::performance):
        * page/DOMWindow.h:
        (WebCore::DOMWindow::optionalPerformance):
        * page/DOMWindow.idl:
        * page/NavigationTiming.cpp: Added.
        (WebCore::NavigationTiming::NavigationTiming):
        (WebCore::NavigationTiming::frame):
        (WebCore::NavigationTiming::disconnectFrame):
        (WebCore::NavigationTiming::navigationStart):
        * page/NavigationTiming.h: Added.
        (WebCore::NavigationTiming::create):
        * page/NavigationTiming.idl: Added.
        * page/Performance.cpp: Added.
        (WebCore::Performance::Performance):
        (WebCore::Performance::frame):
        (WebCore::Performance::disconnectFrame):
        (WebCore::Performance::timing):
        * page/Performance.h: Added.
        (WebCore::Performance::create):
        * page/Performance.idl: Added.

2010-06-25  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        activeTexture wrongly generates error with legal input.
        https://bugs.webkit.org/show_bug.cgi?id=41227

        Test: fast/canvas/webgl/texture-active-bind.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::activeTexture): Fix the upper limit test for test units.

2010-06-25  Johnny Ding  <jnd@chromium.org>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=41061
        Make sure Chromium's ScriptController::processingUserGesture follows the JSC's behavior.
        Set right value in UserGestureIndicator when handling events in PopupMenuList in chromium.

        Test: fast/events/popup-when-select-change.html

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGesture):
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupContainer::handleMouseDownEvent):
        (WebCore::PopupContainer::handleMouseMoveEvent):
        (WebCore::PopupContainer::handleMouseReleaseEvent):
        (WebCore::PopupContainer::handleWheelEvent):
        (WebCore::PopupContainer::handleKeyEvent):

2010-06-25  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Make PendingScript hold a CachedResourceClient open for its lifetime
        https://bugs.webkit.org/show_bug.cgi?id=40968

        This replaces the mechanism introduced in r61374 with a simpler
        appraoch for preventing unexpected purges: always keep a client open.
        This approach will allow deferred scripts to add a client after
        the resource may have already been loaded without having to worry about
        the buffer being purged in the meantime.

        No new tests because making a CachedResource purse itself is not
        testable from a LayoutTest.

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::watchForLoad):
        (WebCore::HTMLDocumentParser::notifyFinished):
        * html/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
        (WebCore::HTMLScriptRunner::sourceFromPendingScript):
        (WebCore::HTMLScriptRunner::isPendingScriptReady):
        (WebCore::HTMLScriptRunner::executePendingScript):
        (WebCore::HTMLScriptRunner::watchForLoad):
        (WebCore::HTMLScriptRunner::stopWatchingForLoad):
        (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
        (WebCore::HTMLScriptRunner::requestScript):
        (WebCore::HTMLScriptRunner::PendingScript::~PendingScript):
        (WebCore::HTMLScriptRunner::PendingScript::releaseElementAndClear):
        (WebCore::HTMLScriptRunner::PendingScript::setCachedScript):
        (WebCore::HTMLScriptRunner::PendingScript::cachedScript):
        * html/HTMLScriptRunner.h:
        (WebCore::HTMLScriptRunner::PendingScript::PendingScript):
        (WebCore::HTMLScriptRunner::PendingScript::watchingForLoad):
        (WebCore::HTMLScriptRunner::PendingScript::setWatchingForLoad):
        (WebCore::HTMLScriptRunner::PendingScript::notifyFinished):
        * html/HTMLScriptRunnerHost.h:

2010-06-25  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        getUniform will not work for fetching uniform array elements
        https://bugs.webkit.org/show_bug.cgi?id=34508

        Test: fast/canvas/webgl/gl-uniform-arrays.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::attachShader): Generate correct errors.
        (WebCore::WebGLRenderingContext::getUniform): Dealing with array elements.
        (WebCore::WebGLRenderingContext::useProgram): Deal with program==null.
        (WebCore::WebGLRenderingContext::validateProgram): Generate correct errors.
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::useProgram): Deal with program==null.

2010-06-25  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Bring set/get state functions to GLES2 conformance
        https://bugs.webkit.org/show_bug.cgi?id=41095

        Tests: fast/canvas/webgl/gl-enable-enum-test.html
               fast/canvas/webgl/gl-enum-tests.html

        * html/canvas/WebGLRenderingContext.cpp: Check input parameters according to GLES2 spec.
        (WebCore::WebGLRenderingContext::blendEquation):
        (WebCore::WebGLRenderingContext::blendEquationSeparate):
        (WebCore::WebGLRenderingContext::disable):
        (WebCore::WebGLRenderingContext::enable):
        (WebCore::WebGLRenderingContext::hint):
        (WebCore::WebGLRenderingContext::isEnabled):
        (WebCore::WebGLRenderingContext::pixelStorei):
        (WebCore::WebGLRenderingContext::validateBlendEquation):
        (WebCore::WebGLRenderingContext::validateCapability):
        * html/canvas/WebGLRenderingContext.h: Add helper function declaration.

2010-06-25  Sterling Swigart  <sswigart@google.com>

        Reviewed by David Levin.

        Callback code generation fixed so that now string parameters are converted to JSString
        using the jsString method instead of the toJS method which would not compile.
        https://bugs.webkit.org/show_bug.cgi?id=41119
        
        * bindings/scripts/CodeGeneratorJS.pm: Now generates jsString for String parameters in callbacks.
        * bindings/scripts/test/JS/JSTestCallback.cpp: Fixed test for above.
        (WebCore::JSTestCallback::callbackWithClass2Param): Ditto.

2010-06-25  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        A buffer should be bound to one target in its lifetime
        https://bugs.webkit.org/show_bug.cgi?id=41108

        Test: fast/canvas/webgl/buffer-bind-test.html

        * html/canvas/WebGLBuffer.cpp:
        (WebCore::WebGLBuffer::WebGLBuffer): Init target to 0. 
        (WebCore::WebGLBuffer::associateBufferData): Remove target parameter, use one byteLength member.
        (WebCore::WebGLBuffer::associateBufferSubData): Ditto.
        (WebCore::WebGLBuffer::byteLength): Ditto.
        (WebCore::WebGLBuffer::setTarget): Set target.
        * html/canvas/WebGLBuffer.h: Cache target in the WebGLBuffer object, use one byteLength member.
        (WebCore::WebGLBuffer::getTarget):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::bindBuffer): Check if a buffer is bound to another target; set buffer object internal target.
        (WebCore::WebGLRenderingContext::bufferData): Remove target parameter and use the WebGLBuffer cached target instead.
        (WebCore::WebGLRenderingContext::bufferSubData): Ditto.
        (WebCore::WebGLRenderingContext::validateElementArraySize): Ditto.
        (WebCore::WebGLRenderingContext::validateIndexArrayConservative): Ditto.
        (WebCore::WebGLRenderingContext::vertexAttribPointer): Ditto.

2010-06-25  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=41188
        Animations should not require 0% and 100% keyframes

        When we are generating the animation lists in CSSStyleSelector,
        rather than bail if we notice that "from" or "to" are missing, we
        now generate synthetic keyframes for those cases.

        Tests: animations/missing-from-to-transforms.html
               animations/missing-from-to.html
               WebCore/manual-tests/animation-with-transition.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForKeyframe):
                Moved individual keyframe generation into a new function.
        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
                Call the new function above for regular keyframes, and
                also check for missing keyframes and generate them if
                necessary.
        * css/CSSStyleSelector.h:

2010-06-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        We should parse <html>
        https://bugs.webkit.org/show_bug.cgi?id=41239

        This patch is hard to test, but I think this patch lets us parse a
        document consisting of only an <html> start tag.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
        (WebCore::HTMLTreeBuilder::insertHTMLStartTagInBody):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::ElementStack::push):

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

        Reviewed by Sam Weinig.

        <rdar://problem/8000667> Certain text is repeated before and after a line break

        Test: fast/text/bidi-explicit-embedding-past-end.html

        * platform/text/BidiResolver.h:
        (WebCore::::createBidiRunsForLine): Committing explicit embedding past the end of the range
        creates BidiRuns up to the end of the range, so at that point, we can stop iterating.

2010-06-25  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Move decoding into DocumentParser to further simplify RawDataDocumentParser and DocumentWriter
        https://bugs.webkit.org/show_bug.cgi?id=41202

        Hit the Windoze with the compile bat.

        * WebCore.vcproj/WebCore.vcproj:

2010-06-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTMLTreeBuilder should branch first on token type and then on insertion mode
        https://bugs.webkit.org/show_bug.cgi?id=41232

        This is different than how the spec is written, but it lets us remove a
        lot of redudancy in the algorithm.  We might even want to pull some of
        the branches on token name outside the insertion mode branch, but I'll
        leave that for a future patch.

        Although this looks like a big patch, it's mostly just a mechanical
        switch permutation.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::processToken):
        (WebCore::HTMLTreeBuilder::processDoctypeToken):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        (WebCore::HTMLTreeBuilder::processDefaultForInitialMode):
        (WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode):
        (WebCore::HTMLTreeBuilder::processDefaultForBeforeHeadMode):
        (WebCore::HTMLTreeBuilder::processDefaultForInHeadMode):
        (WebCore::HTMLTreeBuilder::processDefaultForInHeadNoscriptMode):
        (WebCore::HTMLTreeBuilder::processDefaultForAfterHeadMode):
        * html/HTMLTreeBuilder.h:

2010-06-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Tree builder doesn't need to return a Node
        https://bugs.webkit.org/show_bug.cgi?id=41225

        The old tree builder returned the newly inserted Node, but the new tree
        builder doesn't need to do that as far as I can tell.  Removing the
        return value cuts down on a bunch of accounting.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::processToken):
        (WebCore::HTMLTreeBuilder::insertDoctype):
        (WebCore::HTMLTreeBuilder::insertComment):
        (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
        (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
        (WebCore::HTMLTreeBuilder::insertScriptElement):
        * html/HTMLTreeBuilder.h:

2010-06-25  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        getParameter(COLOR_WRITEMASK) needs to return Array
        https://bugs.webkit.org/show_bug.cgi?id=40437

        * bindings/js/JSWebGLRenderingContextCustom.cpp: Handling bool array.
        (WebCore::toJS):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: Handling bool array.
        (WebCore::toV8Object):
        * html/canvas/WebGLGetInfo.cpp: Handling bool array.
        (WebCore::WebGLGetInfo::WebGLGetInfo):
        (WebCore::WebGLGetInfo::getBoolArray):
        * html/canvas/WebGLGetInfo.h: Handling bool array.
        (WebCore::WebGLGetInfo::):
        * html/canvas/WebGLRenderingContext.cpp: Handling bool array.
        (WebCore::WebGLRenderingContext::getParameter):
        (WebCore::WebGLRenderingContext::getBooleanArrayParameter):
        * html/canvas/WebGLRenderingContext.h: Handling bool array.

2010-06-25  Evan Stade  <estade@chromium.org>

        Reviewed by Darin Fisher.

        [chromium linux] Improve look of scrollbars
        https://bugs.webkit.org/show_bug.cgi?id=35775

        This will affect layout pixel tests, which will need to be rebaselined.

        * platform/Scrollbar.cpp: need the buttons to be invalidated when the
        thumb moves as they paint differently if the thumb is at the top or
        bottom
        (WebCore::Scrollbar::updateThumbPosition):
        (WebCore::Scrollbar::updateThumbProportion):
        * platform/chromium/ScrollbarThemeChromium.cpp:
        (WebCore::ScrollbarThemeChromium::trackRect): share code between
        linux/windows
        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
        (WebCore::outlineColor): up the contrast
        (WebCore::ScrollbarThemeChromiumLinux::paintButton): add custom button
        drawing implementation
        (WebCore::ScrollbarThemeChromiumLinux::buttonSize): add buttons
        * platform/chromium/ScrollbarThemeChromiumWin.cpp: share code between
        linux/windows
        * rendering/RenderThemeChromiumLinux.cpp: improve stock colors to get
        better contrast and integration with stock chrome theme

2010-06-25  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Move decoding into DocumentParser to further simplify RawDataDocumentParser and DocumentWriter
        https://bugs.webkit.org/show_bug.cgi?id=41202

        The silly thing about this patch is that none of the
        RawDataDocumentParser subclasses actually use any of the
        data passed to them via appendBytes.

        This makes the relationship between DocumentWriter and
        DocumentParser slightly more confusing, however I think this
        DocumentParser API is slightly nicer.

        Next step is to split DecodedDataDocumentParser out from
        DocumentParser, and then the base DocumentParser won't know
        anything about decoding or SegmentedString.

        No functional change, thus no tests.

        * WebCore.xcodeproj/project.pbxproj:
        * dom/DocumentParser.h:
        * dom/RawDataDocumentParser.h:
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::replaceDocument):
        (WebCore::DocumentWriter::createDecoderIfNeeded):
        (WebCore::DocumentWriter::reportDataRecieved):
        (WebCore::DocumentWriter::addData):
        * loader/DocumentWriter.h:
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocumentParser::appendBytes):
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocumentParser::appendBytes):
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::appendBytes):
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocumentParser::SinkDocumentParser):
        (WebCore::SinkDocumentParser::appendBytes):
        (WebCore::SinkDocument::createParser):

2010-06-25  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Split DocumentParser::write into separate append and insert calls
        https://bugs.webkit.org/show_bug.cgi?id=41197

        Unfortunately this is still somewhat confusing as
        "insert" means "insert this data at the current
        insertion point and run the parser synchronously
        unless we're in a nested write call" and "append"
        means "append this data to the end and run the
        parser if not in a nested call or until possibly yielding".

        This at least makes clearer which document parsers implement
        which behavior, and paves the way for moving the decoding
        logic into DocumentParser from DocumentWriter.

        No functional changes, thus no tests.

        * dom/Document.cpp:
        (WebCore::Document::write):
        * dom/DocumentParser.h:
        * dom/RawDataDocumentParser.h:
        (WebCore::RawDataDocumentParser::insert):
        (WebCore::RawDataDocumentParser::append):
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::insert):
        (WebCore::XMLDocumentParser::append):
        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::resumeParsing):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::insert):
        (WebCore::HTMLDocumentParser::append):
        (WebCore::HTMLDocumentParser::parseDocumentFragment):
        * html/HTMLDocumentParser.h:
        * html/LegacyHTMLDocumentParser.cpp:
        (WebCore::LegacyHTMLDocumentParser::insert):
        (WebCore::LegacyHTMLDocumentParser::append):
        * html/LegacyHTMLDocumentParser.h:
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::replaceDocument):
        (WebCore::DocumentWriter::addData):
        * loader/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
        (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
        (WebCore::FTPDirectoryDocumentParser::append):
        * loader/TextDocument.cpp:
        (WebCore::TextDocumentParser::insert):
        (WebCore::TextDocumentParser::append):
        (WebCore::TextDocumentParser::finish):

2010-06-25  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] Add new stubs for querying platform drag-and-drop and copy-and-paste data.

        This change adds new stubs for querying for data in a clipboard or drag operation. This is
        so adding support for more data types in clipboard/drag operations doesn't become
        increasingly expensive, since we currently copy all the drag data we need every time a new
        web drop target is entered. It also adds a new mechanism to write back to the system
        clipboard that isn't tied to one data type.

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

        No new tests since we're just adding new ChromiumBridge APIs. When we switch to it, it will
        be covered by the existing tests.

        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/PasteboardPrivate.h:
        (WebCore::PasteboardPrivate::):

2010-06-25  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Xan Lopez.

        [Gtk] Implement atk_table_get_column_header
        https://bugs.webkit.org/show_bug.cgi?id=30896

        Implemented get_column_header and modified get_row_header
        accordingly to keep them both coherent among themselves.
        Based on a previous patch by Joanmarie Diggs.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_table_get_column_header):
        (webkit_accessible_table_get_row_header):

2010-06-29  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Pasteboard code does not take into account the nil character when getting and setting markup/netscape-url data
        https://bugs.webkit.org/show_bug.cgi?id=41221

        Take into account null-terminator when getting and setting markup and
        Netscape URL pasteboard types. This means that if the selection data
        contains the null terminator, it won't be included in the final String.
        When setting the pasteboard data the null terminator is now included to
        match the behavior of other applications.

        * platform/gtk/PasteboardHelper.cpp:
        (WebCore::PasteboardHelper::getClipboardContents):
        Create the markup string after using g_strndup to protect against non-null-terminated
        strings. Use String::fromUTF8 here to ensure that the string is not longer than the
        first null-terminator. Also fix a small indentation issue.
        (WebCore::PasteboardHelper::fillSelectionData):
        Always include the null-terminator when setting pasteboard data manually. This matches
        the behavior of other browser applications.

2010-06-25  Sam Magnuson  <smagnuson@netflix.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] When any geometry change happens to a node it will resize the
        backing cache
        https://bugs.webkit.org/show_bug.cgi?id=40378

        Continue to grow the cache, but never toss it. When the pixmap
        cache gets too big it will be lost and created at the right size
        next time.

        No new tests: this is an optimization.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQtImpl::recache):
        (WebCore::GraphicsLayerQtImpl::paint):
        (WebCore::GraphicsLayerQtImpl::flushChanges):

2010-06-25  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=41019
        Canvas: Remember verified clean origins for drawImage()

        Made CanvasRenderingContext2D cache the KURLs of clean origins
        for fast repeated lookup.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::checkOrigin):
        * html/canvas/CanvasRenderingContext2D.h:

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

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] HTTP 307 after a 303 after a POST re-sends POST data from the original request

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

        Qt needs to use ResourceRequest::request()->httpMethod()) in order to determine
        the appropriate method for a 307 redirect request.

        When deciding if it needs to override a POST method with a GET method during a
        redirect chain, QNetworkReplyHandler needs to check the HTTP method stored
        in ResourceRequest::request()->httpMethod(). This will always contain the
        original request method in a redirect chain and, more importantly, is the
        method that will be used for the request created from the redirect
        if it is not overridden.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):

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

        Reviewed by Anders Carlsson.

        Removed a one-line method that only had one internal caller.

        * rendering/RenderBlock.h: Removed bidiReorderLine()
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren): Moved the implementation of
        bidiReorderLine() inline here.

2010-06-25  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Take a KURL parameter in Document's constructor.
        This will remove the one case where Document::url() 
        and FrameLoader::url() are not equal, allowing us to
        remove FrameLoader::url().

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

        Refactor only, no new tests.

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument): Take a KURL and pass it through to Document.
        (WebCore::DOMImplementation::createHTMLDocument):
        * dom/DOMImplementation.h:
        * dom/Document.cpp:
        (WebCore::Document::Document): Call setURL() if a frame or a non-empty KURL is specified.
        (WebCore::Document::initSecurityContext): m_url is now initialized, so use it instead
            of m_frame->loader()->url() for initializing the SecurityOrigin.
        * dom/Document.h:
        (WebCore::Document::create):
        (WebCore::Document::createXHTML):
        * html/HTMLDocument.cpp:
        * html/HTMLDocument.h: Add KURL parameter to create() and constructor.
        * html/HTMLViewSourceDocument.cpp:
        * html/HTMLViewSourceDocument.h: Add KURL parameter to create() and constructor.
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::ensureSVGFontData):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::createDocument): Take a KURL and pass it through to Document.
        (WebCore::DocumentWriter::begin): Pass existing url parameter to constructors, and remove
            redundant Document::setURL() call.
        * loader/DocumentWriter.h:
        * loader/FTPDirectoryDocument.cpp:
        * loader/FTPDirectoryDocument.h: Add KURL parameter to create() and constructor.
        * loader/ImageDocument.cpp:
        * loader/ImageDocument.h: Add KURL parameter to create() and constructor.
        * loader/MediaDocument.cpp:
        * loader/MediaDocument.h: Add KURL parameter to create() and constructor.
        * loader/PlaceholderDocument.h: Add KURL parameter to create() and constructor.
        * loader/PluginDocument.cpp:
        * loader/PluginDocument.h: Add KURL parameter to create() and constructor.
        * loader/SinkDocument.cpp:
        * loader/SinkDocument.h: Add KURL parameter to create() and constructor.
        * loader/TextDocument.cpp:
        * loader/TextDocument.h: Add KURL parameter to create() and constructor.
        * svg/SVGDocument.cpp:
        * svg/SVGDocument.h: Add KURL parameter to create() and constructor.
        * xml/DOMParser.cpp:
        (WebCore::DOMParser::parseFromString):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::responseXML):
        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource):

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

        Unreviewed, rolling out r61812.
        http://trac.webkit.org/changeset/61812
        https://bugs.webkit.org/show_bug.cgi?id=41216

        breaks Chromium workers tests (Requested by mnaganov on
        #webkit).

        * storage/AbstractDatabase.cpp:
        * storage/AbstractDatabase.h:
        * storage/Database.cpp:
        (WebCore::Database::databaseInfoTableName):
        (WebCore::guidMutex):
        (WebCore::guidToVersionMap):
        (WebCore::updateGuidVersionMap):
        (WebCore::guidToDatabaseMap):
        (WebCore::databaseVersionKey):
        (WebCore::DatabaseCreationCallbackTask::create):
        (WebCore::DatabaseCreationCallbackTask::performTask):
        (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
        (WebCore::Database::openDatabase):
        (WebCore::Database::Database):
        (WebCore::Database::openAndVerifyVersion):
        (WebCore::retrieveTextResultFromDatabase):
        (WebCore::Database::getVersionFromDatabase):
        (WebCore::setTextValueInDatabase):
        (WebCore::Database::setVersionInDatabase):
        (WebCore::Database::versionMatchesExpected):
        (WebCore::Database::close):
        (WebCore::Database::disableAuthorizer):
        (WebCore::Database::enableAuthorizer):
        (WebCore::Database::setAuthorizerReadOnly):
        (WebCore::Database::lastActionChangedDatabase):
        (WebCore::Database::lastActionWasInsert):
        (WebCore::Database::resetDeletes):
        (WebCore::Database::hadDeletes):
        (WebCore::guidForOriginAndName):
        (WebCore::Database::resetAuthorizer):
        (WebCore::Database::performOpenAndVerify):
        (WebCore::Database::performCreationCallback):
        (WebCore::Database::version):
        (WebCore::Database::setExpectedVersion):
        (WebCore::Database::stringIdentifier):
        (WebCore::Database::displayName):
        (WebCore::Database::estimatedSize):
        (WebCore::Database::fileName):
        * storage/Database.h:
        (WebCore::Database::scriptExecutionContext):
        (WebCore::Database::opened):
        (WebCore::Database::isNew):
        (WebCore::Database::databaseDebugName):
        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
        (WebCore::DatabaseAuthorizer::denyBasedOnTableName):
        * storage/DatabaseAuthorizer.h:
        (WebCore::DatabaseAuthorizer::create):
        * storage/DatabaseSync.cpp:
        (WebCore::DatabaseSync::databaseInfoTableName):
        (WebCore::DatabaseSync::openDatabaseSync):
        (WebCore::DatabaseSync::DatabaseSync):
        (WebCore::DatabaseSync::~DatabaseSync):
        (WebCore::DatabaseSync::version):
        (WebCore::DatabaseSync::changeVersion):
        (WebCore::DatabaseSync::transaction):
        (WebCore::DatabaseSync::scriptExecutionContext):
        * storage/DatabaseSync.h:
        (WebCore::DatabaseSync::databaseDebugName):
        * storage/DatabaseTask.cpp:
        (WebCore::DatabaseOpenTask::DatabaseOpenTask):
        (WebCore::DatabaseOpenTask::doPerformTask):
        * storage/DatabaseTask.h:
        (WebCore::DatabaseOpenTask::create):

2010-06-25  Lei Zheng  <lzheng@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add a flag to the ResourceResponse for tracking if a request was fetched when
        Alternate-protocol is available.
        https://bugs.webkit.org/show_bug.cgi?id=41001

        No new tests. (This is just a setter and getter.)

        * platform/network/chromium/ResourceResponse.h:
        (WebCore::ResourceResponse::ResourceResponse):
        (WebCore::ResourceResponse::wasAlternateProtocolAvailable):
        (WebCore::ResourceResponse::setWasAlternateProtocolAvailable):

2010-06-25  Lyon Chen  <liachen@rim.com>

        Reviewed by Darin Adler.

        InspectorCSSStore.cpp is not surrounded with ENABLE(INSPECTOR)
        https://bugs.webkit.org/show_bug.cgi?id=41004

        Surround InspectorCSSStore.cpp code with ENABLE(INSPECTOR) so it will not
        break the build when INSPECTOR is disabled.

        * inspector/InspectorCSSStore.cpp:

2010-06-25  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] WebGL: missing file
        https://bugs.webkit.org/show_bug.cgi?id=40998

        Added a missing file to WebCore.pro

        No new tests; build fix

        * WebCore.pro:

2010-06-25  Adam Roben  <aroben@apple.com>

        Windows build fix

        * WebCore.vcproj/WebCore.vcproj: Added a missing </File> tag.

2010-06-25  Alex Milowski  <alex@milowski.com>

        Reviewed by Kenneth Rohde Christiansen.

        This patch changes the vertical alignment to rely upon baseline
        alignment for all MathML rendering.  This fixes a number of layout
        issues and the implementation is much more clean.

        Also, this patch adds a horizontal green line in the debug layout
        so you can see the top padding of any RenderMathMLBlock instance.

        Test: mathml/presentation/row-alignment.xhtml

        * css/mathml.css:
        * mathml/RenderMathMLBlock.cpp:
        * mathml/RenderMathMLFraction.cpp:
        * mathml/RenderMathMLFraction.h:
        * mathml/RenderMathMLOperator.cpp:
        * mathml/RenderMathMLOperator.h:
        * mathml/RenderMathMLRoot.cpp:
        * mathml/RenderMathMLRow.cpp:
        * mathml/RenderMathMLRow.h:
        * mathml/RenderMathMLSquareRoot.cpp:
        * mathml/RenderMathMLSubSup.cpp:
        * mathml/RenderMathMLUnderOver.cpp:

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

        Reviewed by Pavel Feldman.

        Can't see source when hitting debugger statement in evaled source
        https://bugs.webkit.org/show_bug.cgi?id=41058

        Test: inspector/debugger-pause-in-eval-script.html

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::sourceParsed): use lexical global object to figure out
        where the script is compiled. Otherwise scripts typed in Web Inspector console will
        be treated as ones evaluated in the context of Web Inspector and won't appear in the
        scripts list.
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didParseSource): cache script sources for eval's too.

2010-06-25  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Use a descriptive string in FileChooser when multiple files can
        be selected.
        https://bugs.webkit.org/show_bug.cgi?id=40943

        EFL port has no tests yet, so no new tests.

        * platform/efl/FileChooserEfl.cpp:
        (WebCore::FileChooser::basenameForWidth):

2010-06-25  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        SVG Text Highlighting not yet supported (in Safari)
        https://bugs.webkit.org/show_bug.cgi?id=41200

        Add text match marker highlighting support for SVG text - searching for SVG text in Safari now paints the nice yellow highlighting rect, and the
        white rectangles for all text matches. Behaves exactly like HTML text, but respecting SVGs per-character/per-chunk transformations,
        allowing to highlight textPaths, tspans with absolute per-character positions etc..

        Only manually testable, thus no new tests.

        * rendering/InlineBox.h: Expose calculateBoundaries() in non-SVG builds as well, now used by InlineTextBox too.
        * rendering/InlineTextBox.h: Add calculateBoundaries(), which will be used to refactor some code in RenderText, see below.
        (WebCore::InlineTextBox::calculateBoundaries): Just return a IntRect(x(), y(), width(), height()) here.
        (WebCore::RenderObject::isSVGInlineText):
        * rendering/RenderSVGInlineText.h:
        (WebCore::RenderSVGInlineText::isSVGInlineText): Return true for isSVGInlineText(), return false for isSVGText() (default in RenderObject.h)
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::paint): Only paint box decorations in PaintPhase(Child)BlockBackground, exit afterwards just like RenderBlock does.
                                         Otherwise the white text match marker rectangle gets drawn over the yellow highlight that Safari draws. 
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::paint): Accept a new painting phase: PaintPhaseSelection, used by Safari when drawing the yellow highlight rect.
        * rendering/RenderText.cpp:
        (WebCore::RenderText::absoluteQuads): Use calculateBoundaries() instead of IntRect(x(), y(), width(), height()). SVG provides different boundaries here.
        (WebCore::RenderText::absoluteQuadsForRange): Ditto. This is the main change, leading to correct text highlight placement.
        * rendering/SVGInlineFlowBox.cpp: Add assertion that painting is not disabled, for consistency. Change paint phase assertion to include PaintPhaseSelection.
        (WebCore::SVGInlineFlowBox::paint):
        * rendering/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::selectionRectForTextChunkPart): Refactored from selectionRect(), to share code between selectionRect/computeTextMatchMarkerRect.
        (WebCore::SVGInlineTextBox::selectionRect): Use new helper function selectionRectForTextChunkPart().
        (WebCore::SVGInlineTextBox::paint): Ditto. Call new computeTextMatchMarkerRect() function.
        (WebCore::SVGInlineTextBox::computeTextMatchMarkerRect): Implemented similar to HTML, but respecting SVGs concept of text chunk parts.
        (WebCore::SVGInlineTextBox::paintText): In PaintPhaseSelection, only paint selected text, not anything before/after the selection start/end.
        (WebCore::SVGInlineTextBox::calculateBoundaries): Early exit, if m_chunkTransformation is identity.
        * rendering/SVGInlineTextBox.h: Added "bool paintSelectedTextOnly" to paintText() and add new computeTextMatchMarkerRect(RenderStyle*) function.
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::paint): Change paint phase assertion to include PaintPhaseSelection.

2010-06-25  John Gregg  <johnnyg@google.com>

        Reviewed by Darin Fisher.

        Notification should expose ltr/rtl as TextDirection, not String
        https://bugs.webkit.org/show_bug.cgi?id=40871

        No new tests; existing test covers this, just renaming a method.

        * notifications/Notification.h:
        (WebCore::Notification::direction):

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

        Unreviewed, rolling out r61842.
        http://trac.webkit.org/changeset/61842
        https://bugs.webkit.org/show_bug.cgi?id=41208

        It broke Windows build (Requested by Ossy_ on #webkit).

        * ForwardingHeaders/wtf/win/OwnPtrWin.h: Removed.

2010-06-25  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Darin Adler.

        Remove unneeded whitespace from svgtags.in.
        https://bugs.webkit.org/show_bug.cgi?id=40912

        make_names.pl throws an error at non-empty lines
        when using cl.exe as preprocessor.

        * svg/svgtags.in:

2010-06-25  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Rob Buis.

        Split up isSVGText() in isSVGText() / isSVGInlineText()
        https://bugs.webkit.org/show_bug.cgi?id=41204

        Introduce isSVGInlineText(), to provide a safe mechanism to differentiate between RenderSVGText / RenderSVGInlineText.
        No change in functionality, thus no new tests.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::shouldPreserveNewline): s/isSVGText/isSVGInlineText/
        (WebCore::RenderBlock::findNextLineBreak): Ditto.
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isSVGInlineText): Return false, by default.
        * rendering/RenderSVGInlineText.h:
        (WebCore::RenderSVGInlineText::isSVGInlineText): Return true here, don't return true anymore for isSVGText().
        * rendering/RenderText.cpp:
        (WebCore::RenderText::setTextInternal): s/isSVGText/isSVGInlineText/
        * rendering/RenderTreeAsText.cpp: Remove hack, now that we can properly differentiate between RenderSVGText / RenderSVGInlineText.
        (WebCore::write):

2010-06-25  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Adam Barth.

        Change OwnPtrCommon to include platform-specific headers
        https://bugs.webkit.org/show_bug.cgi?id=40279

        Adding new type to OwnPtrCommon needlessly causes all ports to do full rebuilds.
        Change OwnPtrCommon to include platform-specific headers to avoid all ports rebuilds.

        * ForwardingHeaders/wtf/win: Added.
        * ForwardingHeaders/wtf/win/OwnPtrWin.h: Added.

2010-06-25  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Adam Barth.

        Implement TextCodecs for WinCE port.
        https://bugs.webkit.org/show_bug.cgi?id=32169
        Originally written by Yong Li <yong.li@torchmobile.com>

        * platform/graphics/FontCache.h:
        * platform/graphics/wince/FontCacheWince.cpp:
        (WebCore::FontCache::getMultiLanguageInterface):
        * platform/text/wince/TextCodecWinCE.cpp: Added.
        (WebCore::codePageCharsets):
        (WebCore::knownCharsets):
        (WebCore::supportedCharsets):
        (WebCore::languageManager):
        (WebCore::addCharset):
        (WebCore::LanguageManager::LanguageManager):
        (WebCore::getCodePage):
        (WebCore::newTextCodecWinCE):
        (WebCore::TextCodecWinCE::TextCodecWinCE):
        (WebCore::TextCodecWinCE::~TextCodecWinCE):
        (WebCore::TextCodecWinCE::registerBaseEncodingNames):
        (WebCore::TextCodecWinCE::registerBaseCodecs):
        (WebCore::TextCodecWinCE::registerExtendedEncodingNames):
        (WebCore::TextCodecWinCE::registerExtendedCodecs):
        (WebCore::getCodePageFlags):
        (WebCore::findFirstNonAsciiCharacter):
        (WebCore::decode):
        (WebCore::TextCodecWinCE::decode):
        (WebCore::TextCodecWinCE::encode):
        (WebCore::TextCodecWinCE::enumerateSupportedEncodings):
        * platform/text/wince/TextCodecWinCE.h: Added.

2010-06-24  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Dirk Schulze.

        Bug 40880 - SVG properties fill and stroke do not accept system colors
        https://bugs.webkit.org/show_bug.cgi?id=40880

        Handle css system colors in fill and stroke properties.

        Test: svg/css/rect-system-color.xhtml

        * css/CSSParser.cpp: Remove comment and unneeded if condition
        (WebCore::CSSParser::parseValue):
        * css/SVGCSSParser.cpp: Allow css system colors
        (WebCore::CSSParser::parseSVGValue):

2010-06-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Make DocumentParser API private on subclasses to catch misuse bugs
        https://bugs.webkit.org/show_bug.cgi?id=41186

        This already found one bug:
        https://bugs.webkit.org/show_bug.cgi?id=41187

        Added a new HTMLDocumentParaser::parseDocumentFragment so that
        DocumentFragment.cpp does not need to use private methods.

        * dom/DocumentFragment.cpp:
        (WebCore::DocumentFragment::parseHTML):
        * dom/XMLDocumentParser.h:
        (WebCore::XMLDocumentParser::setIsXHTMLDocument):
        (WebCore::XMLDocumentParser::isXHTMLDocument):
        (WebCore::XMLDocumentParser::setIsXHTMLMPDocument):
        (WebCore::XMLDocumentParser::isXHTMLMPDocument):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::parseDocumentFragment):
        * html/HTMLDocumentParser.h:
        * html/LegacyHTMLDocumentParser.cpp:
        (WebCore::LegacyHTMLDocumentParser::parseDocumentFragment):
        * html/LegacyHTMLDocumentParser.h:
        (WebCore::LegacyHTMLDocumentParser::forceSynchronous):
        (WebCore::LegacyHTMLDocumentParser::processingContentWrittenByScript):
        * html/LegacyHTMLTreeBuilder.cpp:
        (WebCore::LegacyHTMLTreeBuilder::reportErrorToConsole):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::replaceDocument):
        * loader/TextDocument.cpp:

2010-05-28  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha.

        [GStreamer] multiple video sink support
        https://bugs.webkit.org/show_bug.cgi?id=39472

        Playbin2 video-sink is now a bin containing a tee element capable
        of dispatching the buffers to multiple video sinks. By default
        only our webkit video sink is used. This will allow
        GStreamerGWorld to add support for autovideosink in the future.

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

2010-06-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Sketch out AfterHeadMode for tree builder
        https://bugs.webkit.org/show_bug.cgi?id=41191

        This mode is fairly similar to the others.  I needed to change some of
        the types around w.r.t. Nodes/Elements.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::processToken):
        (WebCore::HTMLTreeBuilder::insertElement):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::ElementStack::push):
        (WebCore::HTMLTreeBuilder::ElementStack::remove):

2010-06-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Sketch out InHeadNoscriptMode for tree builder
        https://bugs.webkit.org/show_bug.cgi?id=41189

        Lots of notImplemented() calls in this state.  I need to figure how to
        delegate handling of a token from one state to another.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processToken):

2010-06-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Sketch out InHeadMode for tree builder
        https://bugs.webkit.org/show_bug.cgi?id=41184

        This state is relatively straightforward.  We introduce the stack of
        open elements to track that notion in the spec.  The old tree builder
        has a nice data structure for that, which we'll probably steal, but I'd
        like to see what the full API is first.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processToken):
        (WebCore::HTMLTreeBuilder::insertCharacter):
        (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
        (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
        (WebCore::HTMLTreeBuilder::insertScriptElement):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::ElementStack::pop):
        (WebCore::HTMLTreeBuilder::ElementStack::top):

2010-06-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Sketch out BeforeHeadMode tree builder state
        https://bugs.webkit.org/show_bug.cgi?id=41183

        This makes procesToken recursive, which might not be the best idea.
        Also, we can now make fake AtomicHTMLTokens for use by the algorithm.

        * html/HTMLToken.h:
        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processToken):
        (WebCore::HTMLTreeBuilder::insertElement):
        * html/HTMLTreeBuilder.h:

2010-06-22 Antonio Gomes <tonikitoo@webkit.org>

        Reviewed by David Hyatt.

        Add a NodeList-derivated wrapper class for a ListHashSet.
        https://bugs.webkit.org/show_bug.cgi?id=41081

        StaticHashSetList will work as a wrapper to ListHashSet objects that are
        aimed to be exposed to the DOM.

        As a use case, the rect based HitTest (bug 40197) will store the retrieved nodes
        in a ListHashSet. It is going to be exposed to the DOM through are nodesFromRect
        of Document returning a NodeList (i.e. StatisHashSetList) wrapping a ListHashSet.

        No new tests.

2010-06-24  Cris Neckar  <cdn@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Out of bounds write in WebCore::PNGImageDecoder::rowAvailable
        https://bugs.webkit.org/show_bug.cgi?id=40798

        Catches error in row callback for libPNG when extra rows are returned.

        Test: fast/images/png-extra-row-crash.html

        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::rowAvailable):

2010-06-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Clean up and document DocumentWriter::replaceDocument code path
        https://bugs.webkit.org/show_bug.cgi?id=41182

        No functional changes, thus no tests.

        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::replaceDocument):
         - Remove comment which could be misleading.

2010-06-23  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Implementing DatabaseSync::openDatabaseSync().
        https://bugs.webkit.org/show_bug.cgi?id=40607

        Moved some common code from Database to AbstractDatabase. Made
        performOpenAndVerify() virtual, since DatabaseSync doesn't need to
        interact with DatabaseThread. Removed the m_creationCallback
        field, since it's only needed in the openDatabase{Sync} methods.

        * storage/AbstractDatabase.cpp:
        (WebCore::retrieveTextResultFromDatabase):
        (WebCore::setTextValueInDatabase):
        (WebCore::guidMutex):
        (WebCore::guidToVersionMap):
        (WebCore::updateGuidVersionMap):
        (WebCore::guidToDatabaseMap):
        (WebCore::guidForOriginAndName):
        (WebCore::AbstractDatabase::databaseInfoTableName):
        (WebCore::AbstractDatabase::AbstractDatabase):
        (WebCore::AbstractDatabase::closeDatabase):
        (WebCore::AbstractDatabase::version):
        (WebCore::AbstractDatabase::performOpenAndVerify):
        (WebCore::AbstractDatabase::scriptExecutionContext):
        (WebCore::AbstractDatabase::securityOrigin):
        (WebCore::AbstractDatabase::stringIdentifier):
        (WebCore::AbstractDatabase::displayName):
        (WebCore::AbstractDatabase::estimatedSize):
        (WebCore::AbstractDatabase::fileName):
        (WebCore::AbstractDatabase::databaseVersionKey):
        (WebCore::AbstractDatabase::getVersionFromDatabase):
        (WebCore::AbstractDatabase::setVersionInDatabase):
        (WebCore::AbstractDatabase::versionMatchesExpected):
        (WebCore::AbstractDatabase::setExpectedVersion):
        (WebCore::AbstractDatabase::disableAuthorizer):
        (WebCore::AbstractDatabase::enableAuthorizer):
        (WebCore::AbstractDatabase::setAuthorizerReadOnly):
        (WebCore::AbstractDatabase::lastActionChangedDatabase):
        (WebCore::AbstractDatabase::lastActionWasInsert):
        (WebCore::AbstractDatabase::resetDeletes):
        (WebCore::AbstractDatabase::hadDeletes):
        (WebCore::AbstractDatabase::resetAuthorizer):
        * storage/AbstractDatabase.h:
        (WebCore::AbstractDatabase::opened):
        (WebCore::AbstractDatabase::isNew):
        (WebCore::AbstractDatabase::databaseDebugName):
        * storage/Database.cpp:
        (WebCore::DatabaseCreationCallbackTask::create):
        (WebCore::DatabaseCreationCallbackTask::performTask):
        (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
        (WebCore::Database::openDatabase):
        (WebCore::Database::Database):
        (WebCore::Database::version):
        (WebCore::Database::openAndVerifyVersion):
        (WebCore::Database::close):
        (WebCore::Database::stop):
        (WebCore::Database::performOpenAndVerify):
        * storage/Database.h:
        (WebCore::Database::sqliteDatabase):
        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::create):
        (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
        (WebCore::DatabaseAuthorizer::denyBasedOnTableName):
        * storage/DatabaseAuthorizer.h:
        * storage/DatabaseSync.cpp:
        (WebCore::DatabaseSync::openDatabaseSync):
        (WebCore::DatabaseSync::DatabaseSync):
        (WebCore::DatabaseSync::changeVersion):
        (WebCore::DatabaseSync::transaction):
        (WebCore::DatabaseSync::markAsDeletedAndClose):
        (WebCore::CloseSyncDatabaseOnContextThreadTask::create):
        (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask):
        (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask):
        (WebCore::DatabaseSync::closeImmediately):
        * storage/DatabaseSync.h:
        * storage/DatabaseTask.cpp:
        (WebCore::DatabaseOpenTask::DatabaseOpenTask):
        (WebCore::DatabaseOpenTask::doPerformTask):
        * storage/DatabaseTask.h:
        (WebCore::DatabaseOpenTask::create):

2010-06-24  Steve Falkenburg  <sfalken@apple.com>

        Windows build fix.

        * platform/network/cf/AuthenticationCF.h:

2010-06-24  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed. Build fix.

        Fix the build after r61798.

        * platform/gtk/PasteboardHelper.cpp:
        (WebCore::PasteboardHelper::getClipboardContents):

2010-06-24  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Brady Eidson.

        https://bugs.webkit.org/show_bug.cgi?id=41178
        Timed refresh in subframes isn't stopped when going into b/f cache

        Test: fast/history/timed-refresh-in-cached-frame.html

        * history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): Top frame's stopLoading()
        won't help cached subframes; stop loading from here.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading): Don't stop loading in child frames. This didn't work
        for cached frames due to frame tree having been already desonstructed, and it's not necessary
        in non-cached case because stopLoading() will be called for subframes via
        FrameLoader::detachFromParent() and closeURL().
        (WebCore::FrameLoader::pageHidden): This was a second code path that dispatched pagehide
        event - it's no longer needed, because everything goes through FrameLoader::stopLoading().
        (WebCore::FrameLoader::commitProvisionalLoad): Don't call pageHidden(), the code for adding
        frame to b/f cache will do everything.

        * loader/FrameLoader.h: Removed pageHidden().

2010-06-24  Eric Seidel  <eric@webkit.org>

        Unreviewed. Fix the build.  I am a bad man.

        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::replaceDocument):

2010-06-24  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        Build fix for building against GTK+ 3.x.

        No new tests as functionality has not changed.

        * platform/gtk/GtkVersioning.h:
        * platform/gtk/PasteboardHelper.cpp:
        (WebCore::PasteboardHelper::getClipboardContents):
        (WebCore::PasteboardHelper::fillSelectionData):

2010-06-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Clean up and document DocumentWriter::replaceDocument code path
        https://bugs.webkit.org/show_bug.cgi?id=41182

        No functional change, thus no test.

        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::replaceDocument):
        * loader/DocumentWriter.h:

2010-06-24  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        Full-screened content doesn't keep the display on: Safari not grabbing a power assertion?
        https://bugs.webkit.org/show_bug.cgi?id=40939
        rdar://problem/7996172
        
        Export -[MediaElement playbackRate];
        
        * WebCore.Video.exp:

2010-06-21  Evan Martin  <evan@chromium.org>

        Reviewed by Adam Barth.

        [chromium] overlapping characters in complex text
        https://bugs.webkit.org/show_bug.cgi?id=40966

        We need to clear all the buffers we hand to Harfbuzz before we use them.
        While I'm here, refactor the code slightly to make its behavior more
        clear and correct (previously, we would repeatedly double our buffer
        size when we could have just sized it correctly on the second try).

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::TextRunWalker):
        (WebCore::TextRunWalker::nextScriptRun):
        (WebCore::TextRunWalker::createGlyphArrays):
        (WebCore::TextRunWalker::shapeGlyphs):

2010-06-24  Adele Peterson  <adele@apple.com>

        Reviewed by Sam Weinig.

        Updated fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events
        https://bugs.webkit.org/show_bug.cgi?id=41085

        Covered by existing tests.

        * editing/EditorCommand.cpp:
        (WebCore::executePasteAsPlainText): Added.
        (WebCore::createCommandMap): Added pasteAsPlainText command.

2010-06-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Sketch out BeforeHTMLMode state
        https://bugs.webkit.org/show_bug.cgi?id=41133

        In this patch, we switch the TreeBuidler over to using AtomicHTMLTokens
        and sketch out another state.  These states don't actually do anything
        yet, I'm still just getting the structure of the spec into the code so
        we can implement the details incrementally.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::processToken):
        (WebCore::HTMLTreeBuilder::insertDoctype):
        (WebCore::HTMLTreeBuilder::insertComment):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::parseError):

2010-06-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add AtomicHTMLToken
        https://bugs.webkit.org/show_bug.cgi?id=41131

        We need an atomized version of the token for use in the tree builder.
        Eventually, we should make the existing HTMLToken an internal detail of
        the HTMLTokenizer.  This new AtomicHTMLToken should be also be more
        easily cached between the preload scanner and the tree builder.

        * html/HTMLToken.h:
        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
        (WebCore::AtomicHTMLToken::type):
        (WebCore::AtomicHTMLToken::name):
        (WebCore::AtomicHTMLToken::selfClosing):
        (WebCore::AtomicHTMLToken::attributes):
        (WebCore::AtomicHTMLToken::characters):
        (WebCore::AtomicHTMLToken::comment):
        (WebCore::AtomicHTMLToken::publicIdentifier):
        (WebCore::AtomicHTMLToken::systemIdentifier):
        (WebCore::AtomicHTMLToken::forceQuirks):
        * html/HTMLTreeBuilder.cpp:
        (WebCore::convertToOldStyle):
        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):

2010-06-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add RawDataDocumentParser to get rid of a bunch of copy/paste code in DocumentParser subclasses
        https://bugs.webkit.org/show_bug.cgi?id=41136

        I think this is likely far from the final design,
        however this is almost entirely minus lines which is a
        good thing.

        The original authors of these DocumentParser subclasses
        seem to have just copied the files whole, as they all
        had the same includes, many of which were unnecessary for
        some of the files.

        I think eventually the FrameLoader will call a virtual
        DocumentParser::appendData which will in turn decode
        and call another write/appendData call.  In the case
        of these RawDataDocumentParsers, they will just override
        the low-level appendData call instead of needing
        DocumentWriter to have a special if based on
        DocumentParser::wantsRawData.

        No functional change, thus no tests.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::writeRawData):
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocumentParser::ImageDocumentParser):
        (WebCore::ImageDocumentParser::finish):
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocumentParser::MediaDocumentParser):
        (WebCore::MediaDocumentParser::writeRawData):
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::PluginDocumentParser):
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocument::createParser):

2010-06-23  Peter Kasting  <pkasting@google.com>

        Reviewed by Adam Barth.

        REGRESSION (r61619): Memory corruption in open-source ICO decoder
        https://bugs.webkit.org/show_bug.cgi?id=41107

        * platform/image-decoders/bmp/BMPImageReader.cpp:
        (WebCore::BMPImageReader::processInfoHeader): Fix memory corruption.
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::processDirectoryEntries): Handle sizing failure correctly (though failure should be impossible).

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

        Unreviewed, rolling out r61783.
        http://trac.webkit.org/changeset/61783
        https://bugs.webkit.org/show_bug.cgi?id=41179

        Caused a couple of test failures (Requested by japhet on
        #webkit).

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
        (WebCore::DOMImplementation::createHTMLDocument):
        * dom/DOMImplementation.h:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::initSecurityContext):
        * dom/Document.h:
        (WebCore::Document::create):
        (WebCore::Document::createXHTML):
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::HTMLDocument):
        * html/HTMLDocument.h:
        (WebCore::HTMLDocument::create):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
        * html/HTMLViewSourceDocument.h:
        (WebCore::HTMLViewSourceDocument::create):
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::ensureSVGFontData):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::createDocument):
        (WebCore::DocumentWriter::begin):
        * loader/DocumentWriter.h:
        * loader/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryDocument::FTPDirectoryDocument):
        * loader/FTPDirectoryDocument.h:
        (WebCore::FTPDirectoryDocument::create):
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocument::ImageDocument):
        * loader/ImageDocument.h:
        (WebCore::ImageDocument::create):
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocument::MediaDocument):
        * loader/MediaDocument.h:
        (WebCore::MediaDocument::create):
        * loader/PlaceholderDocument.h:
        (WebCore::PlaceholderDocument::create):
        (WebCore::PlaceholderDocument::PlaceholderDocument):
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocument::PluginDocument):
        * loader/PluginDocument.h:
        (WebCore::PluginDocument::create):
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocument::SinkDocument):
        * loader/SinkDocument.h:
        (WebCore::SinkDocument::create):
        * loader/TextDocument.cpp:
        (WebCore::TextDocument::TextDocument):
        * loader/TextDocument.h:
        (WebCore::TextDocument::create):
        * svg/SVGDocument.cpp:
        (WebCore::SVGDocument::SVGDocument):
        * svg/SVGDocument.h:
        (WebCore::SVGDocument::create):
        * xml/DOMParser.cpp:
        (WebCore::DOMParser::parseFromString):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::responseXML):
        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource):

2010-06-24  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Small code cleanup in RenderThemeGtk
        https://bugs.webkit.org/show_bug.cgi?id=40989

        Reduce the amount of duplicated code slightly and prepare this section for
        future improvements, such as sharing the clipping rectangle calculation with
        the slow path.

        No new tests as functionality has not changed.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::paintMozillaGtkWidget): Small code cleanup.

2010-06-24  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Take a KURL parameter in Document's constructor.
        This will remove the one case where Document::url() 
        and FrameLoader::url() are not equal, allowing us to
        remove FrameLoader::url().

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

        Refactor only, no new tests.

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument): Take a KURL and pass it through to Document.
        (WebCore::DOMImplementation::createHTMLDocument):
        * dom/DOMImplementation.h:
        * dom/Document.cpp:
        (WebCore::Document::Document): Call setURL() for non-empty KURL input parameters.
        (WebCore::Document::initSecurityContext): m_url is now initialized, so use it instead
            of m_frame->loader()->url() for initializing the SecurityOrigin.
        * dom/Document.h:
        (WebCore::Document::create):
        (WebCore::Document::createXHTML):
        * html/HTMLDocument.cpp:
        * html/HTMLDocument.h: Add KURL parameter to create() and constructor.
        * html/HTMLViewSourceDocument.cpp:
        * html/HTMLViewSourceDocument.h: Add KURL parameter to create() and constructor.
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::ensureSVGFontData):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::createDocument): Take a KURL and pass it through to Document.
        (WebCore::DocumentWriter::begin): Pass existing url parameter to constructors, and remove
            redundant Document::setURL() call.
        * loader/DocumentWriter.h:
        * loader/FTPDirectoryDocument.cpp:
        * loader/FTPDirectoryDocument.h: Add KURL parameter to create() and constructor.
        * loader/ImageDocument.cpp:
        * loader/ImageDocument.h: Add KURL parameter to create() and constructor.
        * loader/MediaDocument.cpp:
        * loader/MediaDocument.h: Add KURL parameter to create() and constructor.
        * loader/PlaceholderDocument.h: Add KURL parameter to create() and constructor.
        * loader/PluginDocument.cpp:
        * loader/PluginDocument.h: Add KURL parameter to create() and constructor.
        * loader/SinkDocument.cpp:
        * loader/SinkDocument.h: Add KURL parameter to create() and constructor.
        * loader/TextDocument.cpp:
        * loader/TextDocument.h: Add KURL parameter to create() and constructor.
        * svg/SVGDocument.cpp:
        * svg/SVGDocument.h: Add KURL parameter to create() and constructor.
        * xml/DOMParser.cpp:
        (WebCore::DOMParser::parseFromString):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::responseXML):
        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource):

2010-06-24  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/8044645> and https://bugs.webkit.org/show_bug.cgi?id=41082

        Webarchives will null main resource cause a repro crash.

        Test: webarchive/loading/mainresource-null-mimetype-crash.html

        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::createResource): Fail to create the archive resource if the main resource's
          mime type is null.

2010-06-24  Damian Kaleta  <dkaleta@apple.com>

        Reviewed by Sam Weinig.

        Provide a way to obtain the rendered rectangle for box elements.

        * WebCore.base.exp: Export the symbol so we can see it in WebKit.
        * dom/Node.cpp:
        (WebCore::Node::renderRect): Added new ethod that will return a rendered rectangle for box elements.
        * dom/Node.h: Ditto.

2010-06-24  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Create specialized classes for Transform,
        Image and WebGL layers to replace the rather monolithic LayerChromium class.
        Layers can now own the GL texture they use for backing store and a different
        shading program can be used by the compositor for each layer type. WebGL layers
        are not yet hooked up to GraphicsContext3D.
        https://bugs.webkit.org/show_bug.cgi?id=41106

        * WebCore.gypi:
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
        (WebCore::GraphicsLayerChromium::setContentsToImage):
        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        (WebCore::GraphicsLayerChromium::):
        * platform/graphics/chromium/ImageLayerChromium.cpp: Added.
        (WebCore::ImageLayerChromium::create):
        (WebCore::ImageLayerChromium::ImageLayerChromium):
        (WebCore::ImageLayerChromium::setContents):
        (WebCore::ImageLayerChromium::updateTextureContents):
        * platform/graphics/chromium/ImageLayerChromium.h: Added.
        (WebCore::ImageLayerChromium::drawsContent):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::create):
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::updateTextureContents):
        (WebCore::LayerChromium::updateTextureRect):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::drawsContent):
        (WebCore::LayerChromium::ownsTexture):
        (WebCore::LayerChromium::textureId):
        (WebCore::LayerChromium::setShaderProgramId):
        (WebCore::LayerChromium::shaderProgramId):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::createLayerShader):
        (WebCore::ShaderProgram::ShaderProgram):
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::~LayerRendererChromium):
        (WebCore::LayerRendererChromium::useShaderProgram):
        (WebCore::LayerRendererChromium::drawTexturedQuad):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::drawDebugBorder):
        (WebCore::LayerRendererChromium::updateLayersRecursive):
        (WebCore::LayerRendererChromium::drawLayer):
        (WebCore::LayerRendererChromium::bindCommonAttribLocations):
        (WebCore::LayerRendererChromium::initializeSharedGLObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::):
        * platform/graphics/chromium/TransformLayerChromium.cpp: Added.
        (WebCore::TransformLayerChromium::create):
        (WebCore::TransformLayerChromium::TransformLayerChromium):
        * platform/graphics/chromium/TransformLayerChromium.h: Added.
        (WebCore::TransformLayerChromium::drawsContent):
        * platform/graphics/chromium/WebGLLayerChromium.cpp: Added.
        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
        (WebCore::WebGLLayerChromium::textureId):
        (WebCore::WebGLLayerChromium::updateTextureContents):
        (WebCore::WebGLLayerChromium::setContext):
        * platform/graphics/chromium/WebGLLayerChromium.h: Added.
        (WebCore::WebGLLayerChromium::drawsContent):
        (WebCore::WebGLLayerChromium::ownsTexture):
        (WebCore::WebGLLayerChromium::shaderProgramId):
        (WebCore::WebGLLayerChromium::setShaderProgramId):

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

        Reviewed by Yury Semikhatsky.
 
        Web Inspector: Inspector cleanup + better DevTools alignment with Inspector.

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

        - Removed a bunch of unused methods from all over the place
        - Added client callbacks for states surviving navigation
        - Implemented more user-friendly stub for InspectorFrontendHost.platform

        * inspector/InspectorClient.h:
        (WebCore::InspectorClient::resourceTrackingWasEnabled):
        (WebCore::InspectorClient::resourceTrackingWasDisabled):
        (WebCore::InspectorClient::timelineProfilerWasStarted):
        (WebCore::InspectorClient::timelineProfilerWasStopped):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::enableResourceTracking):
        (WebCore::InspectorController::disableResourceTracking):
        (WebCore::InspectorController::ensureSettingsLoaded):
        (WebCore::InspectorController::startTimelineProfiler):
        (WebCore::InspectorController::stopTimelineProfiler):
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * inspector/front-end/InspectorBackendStub.js:
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.platform):

2010-06-23  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=41099
        Assertion failure: !m_suspended when XMLHttpRequest fails

        This was a general problem with load failure timer not being deferred.

        Test: manual-tests/xhr-failure-behind-alert.html

        * manual-tests/xhr-failure-behind-alert.html: Added.

        * platform/network/ResourceHandle.cpp:
        (WebCore::ResourceHandle::fireFailure): Added an empty case for NoFailure. Reset
        m_scheduledFailureType to NoFailure when firing.
        (WebCore::ResourceHandle::setDefersLoading): Stop failure timer when deferring, restart when
        un-deferring loads.

        * platform/network/ResourceHandle.h: Renamed m_failureType to m_scheduledFailureType to
        make it clear that it is only set when a timer is scheduled.

        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal): Initialize m_scheduledFailureType
        to NoFailure, so that we can look at it when un-deferring loads.

        * platform/network/android/ResourceHandleAndroid.cpp:
        (WebCore::ResourceHandle::platformSetDefersLoading):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::platformSetDefersLoading):
        * platform/network/curl/ResourceHandleCurl.cpp:
        (WebCore::ResourceHandle::platformSetDefersLoading):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::platformSetDefersLoading):
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::platformSetDefersLoading):
        * platform/network/soup/ResourceHandleSoup.cpp:
        Platform specific parts of setDefersLoading() are now in a separate function.

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

        Not reviewed: revert 61766.

        * inspector/InspectorClient.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::enableResourceTracking):
        (WebCore::InspectorController::disableResourceTracking):
        (WebCore::InspectorController::ensureSettingsLoaded):
        (WebCore::InspectorController::startTimelineProfiler):
        (WebCore::InspectorController::stopTimelineProfiler):
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::setAttachedWindow):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub.prototype.setAttachedWindowHeight):
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.platform):

2010-06-23  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Inspector cleanup + better DevTools alignment with Inspector.
        
        https://bugs.webkit.org/show_bug.cgi?id=41094

        - Removed a bunch of unused methods from all over the place
        - Added client callbacks for states surviving navigation
        - Implemented more user-friendly stub for InspectorFrontendHost.platform

        * inspector/InspectorClient.h:
        (WebCore::InspectorClient::resourceTrackingWasEnabled):
        (WebCore::InspectorClient::resourceTrackingWasDisabled):
        (WebCore::InspectorClient::timelineProfilerWasStarted):
        (WebCore::InspectorClient::timelineProfilerWasStopped):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::enableResourceTracking):
        (WebCore::InspectorController::disableResourceTracking):
        (WebCore::InspectorController::ensureSettingsLoaded):
        (WebCore::InspectorController::startTimelineProfiler):
        (WebCore::InspectorController::stopTimelineProfiler):
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * inspector/front-end/InspectorBackendStub.js:
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.platform):

2010-06-24  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Inspector & SVG Text have problems, kids of RenderSVGText are not properly placed.
        https://bugs.webkit.org/show_bug.cgi?id=41143

        Simplify code path taken for SVG text in InspectorController, take the code path currently only used for RenderInline,
        that just calls absoluteQuads(), and displays the result. Refactored code that all SVG renderers (except RenderSVGRoot)
        take this code path -> highlighting now works as expected.

        Don't use absoluteClippedOverlowRect() in the various RenderSVG*::absoluteQuads() methods, as we're loosing floating-point precision.
        Instead use localToAbsoluteQuad(strokeBoundingBox()) in order to highlight the unclipped, unfiltered, etc.. region that this renderer would paint.

        No new tests, as this is only manual testable - at least I didn't find any Inspector-Highlighting tests, if someone knows please mail me.

        * inspector/InspectorController.cpp:
        (WebCore::drawHighlightForLineBoxesOrSVGRenderer):
        (WebCore::InspectorController::drawNodeHighlight):
        * rendering/RenderSVGBlock.cpp:
        (WebCore::RenderSVGBlock::absoluteRects): ASSERT_NOT_REACHED() here. SVG should only be inspected through absoluteQuads().
        * rendering/RenderSVGBlock.h: Add absoluteRects() in this base class for RenderForeignObject/RenderSVGText.
        * rendering/RenderSVGHiddenContainer.cpp: Remove absoluteRects() - RenderSVGModelObject already has it.
        * rendering/RenderSVGHiddenContainer.h: Ditto.
        * rendering/RenderSVGImage.cpp: 
        (WebCore::RenderSVGImage::absoluteRects): ASSERT_NOT_REACHED() here.
        (WebCore::RenderSVGImage::absoluteQuads): Don't use absoluteClippedOverlowRect() but localToAbsoluteQuad(repaintRectInLocalCoordinates()).
        * rendering/RenderSVGImage.h:
        (WebCore::RenderSVGImage::objectBoundingBox): Inlined
        * rendering/RenderSVGInline.cpp: 
        (WebCore::RenderSVGInline::absoluteQuads): Take RenderSVGText translation into account, allows inspecting <tspan>/<tref> etc.
        * rendering/RenderSVGInline.h:
        * rendering/RenderSVGModelObject.cpp: 
        (WebCore::RenderSVGModelObject::absoluteRects): ASSERT_NOT_REACHED() here.
        (WebCore::RenderSVGModelObject::absoluteQuads): Don't use absoluteClippedOverlowRect() but localToAbsoluteQuad(repaintRectInLocalCoordinates()).
        * rendering/RenderSVGModelObject.h:
        * rendering/RenderSVGRoot.cpp: Fix typo in license s/aint/along. Need to touch this file in order to let Mac build.
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::mapLocalToContainer): Remove hack, which moved the transformState by x()/y(). Not needed anymore.
        (WebCore::RenderSVGText::absoluteQuads): Proper implementation, respecting x/y translation.
        * rendering/RenderSVGText.h: Reorder some functions. 
        * rendering/SVGRenderSupport.h: Removed last virtual function strokeBoundingBox().

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

        Unreviewed. Build fix for Tiger.

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

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

        Unreviewed. Build fix for Tiger.

        * platform/mac/ThemeMac.mm:
        (WebCore::setControlSize):
        (WebCore::ThemeMac::inflateControlPaintRect):

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

        Unreviewed.  Build fix for Chromium Mac.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isSpeechEnabled):

2010-06-24  Simon Hausmann  <simon.hausmann@nokia.com>

        Unreviewed Symbian build fix.

        The QML WebKit integration needs to be part of QtWebKit.sis

        * WebCore.pro: Deploy qmlwebkitplugin.dll.

2010-06-24  Satish Sampath  <satish@chromium.org>

        Reviewed by Kent Tamura.

        Add a speech button to input elements, no rendering or actions yet.

        Speech Input: Add a speech button to text input element (no rendering or actions yet)
        https://bugs.webkit.org/show_bug.cgi?id=40925

        No new tests. Will create a layout test in a subsequent patch.

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId):
        (WebCore::nameToPseudoTypeMap):
        (WebCore::CSSSelector::extractPseudoType):
        * css/CSSSelector.h:
        (WebCore::CSSSelector::):
        * css/CSSValueKeywords.in:
        * css/html.css:
        (input::-webkit-input-speech-button):
        * dom/InputElement.h:
        * html/HTMLAttributeNames.in:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isSpeechEnabled):
        * html/HTMLInputElement.h:
        * platform/ThemeTypes.h:
        (WebCore::):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
        (WebCore::RenderTextControlSingleLine::forwardEvent):
        (WebCore::RenderTextControlSingleLine::styleDidChange):
        (WebCore::RenderTextControlSingleLine::hasControlClip):
        (WebCore::RenderTextControlSingleLine::controlClipRect):
        (WebCore::RenderTextControlSingleLine::textBlockWidth):
        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
        (WebCore::RenderTextControlSingleLine::createSpeechButtonStyle):
        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
        * rendering/RenderTextControlSingleLine.h:
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::paintBorderOnly):
        (WebCore::RenderTheme::paintDecorations):
        * rendering/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
        (WebCore::InputFieldSpeechButtonElement::create):
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
        * rendering/TextControlInnerElements.h:
        * rendering/style/RenderStyleConstants.h:
        (WebCore::):

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

        Reviewed by Adam Barth.

        [Mac] The upper button of <input type=number> has no visual effect on click
        https://bugs.webkit.org/show_bug.cgi?id=38380

        Because we have no ways to draw an NSStepperCell with its up button
        highlighted, use HIThemeDrawButton() instead.

        Test: platform/mac/fast/forms/input-appearance-spinbutton-up.html

        * platform/mac/ThemeMac.mm:
        (WebCore::controlSizeFromPixelSize):
          New function. Made from a part of setControlSize().
        (WebCore::setControlSize):
        (WebCore::convertControlStatesToThemeDrawState):
        (WebCore::paintStepper): Use HITheme API instead of NSStepperCell.
        (WebCore::ThemeMac::inflateControlPaintRect):
          Use controlSizeFromPixelSize().

2010-06-24  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: implement layout tests for debugger
        https://bugs.webkit.org/show_bug.cgi?id=40774

        Test: inspector/debugger-pause-on-debugger-statement.html

        * bindings/js/ScriptDebugServer.cpp: remove unused obsolete code that deals with global listeners.
        (WebCore::ScriptDebugServer::ScriptDebugServer):
        (WebCore::ScriptDebugServer::removeListener):
        (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
        (WebCore::ScriptDebugServer::pauseIfNeeded):
        (WebCore::ScriptDebugServer::didAddListener):
        (WebCore::ScriptDebugServer::didRemoveListener):
        * bindings/js/ScriptDebugServer.h:
        * platform/mac/EventLoopMac.mm:
        (WebCore::EventLoop::cycle): wait at most 10ms for new event, otherwise layout tests would
        hang because in their case there may be no events ever.

2010-06-24  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Fixed evaluation & logging of null values in console.
        Changed handling of null and undefined in ScriptValue::toString()
        to match JSC bindings (i.e. "null" and "undefined" instead of "").
        https://bugs.webkit.org/show_bug.cgi?id=40980

        * bindings/v8/ScriptValue.cpp:
        (WebCore::ScriptValue::toString):
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):

2010-06-24  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: live edit doesn't work when resource tracking is off
        https://bugs.webkit.org/show_bug.cgi?id=41076

        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype._sourceIDForLine): implement this method for ScriptView,
        it's needed for editLine to work.

2010-06-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Sketch out InitialMode of HTML5 tree builder
        https://bugs.webkit.org/show_bug.cgi?id=41126

        Transliterated from the spec.  Currently doesn't do anything.  Mostly
        an experiment to see where this goes.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processToken):
        (WebCore::HTMLTreeBuilder::insertDoctype):
        (WebCore::HTMLTreeBuilder::insertComment):
        * html/HTMLTreeBuilder.h:

2010-06-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add all the HTML5 tree builder insertion modes
        https://bugs.webkit.org/show_bug.cgi?id=41124

        These are just copied verbatim from the spec.  No tests because these
        don't do anything yet.

        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::):

2010-06-23  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Fix namespace indent.  Just whitespace changes.

        * dom/DocumentParser.h:
        (WebCore::DocumentParser::~DocumentParser):
        (WebCore::DocumentParser::isExecutingScript):
        (WebCore::DocumentParser::stopParsing):
        (WebCore::DocumentParser::processingData):
        (WebCore::DocumentParser::wantsRawData):
        (WebCore::DocumentParser::writeRawData):
        (WebCore::DocumentParser::wellFormed):
        (WebCore::DocumentParser::lineNumber):
        (WebCore::DocumentParser::columnNumber):
        (WebCore::DocumentParser::executeScriptsWaitingForStylesheets):
        (WebCore::DocumentParser::htmlTreeBuilder):
        (WebCore::DocumentParser::asHTMLDocumentParser):
        (WebCore::DocumentParser::inViewSourceMode):
        (WebCore::DocumentParser::setInViewSourceMode):
        (WebCore::DocumentParser::document):
        (WebCore::DocumentParser::xssAuditor):
        (WebCore::DocumentParser::setXSSAuditor):
        (WebCore::DocumentParser::DocumentParser):

2010-06-23  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Speculative build fix for Qt.

        Move Document* down onto DocumentParser, since every DocumentParser needs one.
        https://bugs.webkit.org/show_bug.cgi?id=41117

        XMLDocumentParserQt is a huge pile of donkey barf.
        I can't believe I ever r+'d the creation of this pile of
        copy/paste code.

        I clearly missed removing m_doc from this code as well and thus
        broke Qt.

        We really need to fix both XMLDocumentParserLibxml2 and
        XMLDocumentParserQt not to be so poorly abstracted so
        that if we're going to have two of them they can at least
        share some code.

        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::~XMLDocumentParser):
        (WebCore::XMLDocumentParser::doWrite):
        (WebCore::XMLDocumentParser::doEnd):
        (WebCore::XMLDocumentParser::parse):
        (WebCore::XMLDocumentParser::startDocument):
        (WebCore::XMLDocumentParser::parseStartElement):
        (WebCore::XMLDocumentParser::parseEndElement):
        (WebCore::XMLDocumentParser::parseProcessingInstruction):
        (WebCore::XMLDocumentParser::parseCdata):
        (WebCore::XMLDocumentParser::parseComment):
        (WebCore::XMLDocumentParser::parseDtd):

2010-06-23  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Move Document* down onto DocumentParser, since every DocumentParser needs one.
        https://bugs.webkit.org/show_bug.cgi?id=41117

        This eliminated the need for document() on HTMLDocumentParser.
        This paves the way for more code sharing between various
        DocumentParser subclasses.

        * dom/DocumentParser.h:
        (WebCore::DocumentParser::inViewSourceMode):
        (WebCore::DocumentParser::setInViewSourceMode):
        (WebCore::DocumentParser::document):
        (WebCore::DocumentParser::DocumentParser):
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::isWMLDocument):
        (WebCore::XMLDocumentParser::pushCurrentNode):
        (WebCore::XMLDocumentParser::popCurrentNode):
        (WebCore::XMLDocumentParser::clearCurrentNodeStack):
        (WebCore::XMLDocumentParser::enterText):
        (WebCore::XMLDocumentParser::end):
        (WebCore::XMLDocumentParser::insertErrorMessageBlock):
        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::~XMLDocumentParser):
        (WebCore::XMLDocumentParser::doWrite):
        (WebCore::XMLDocumentParser::startElementNs):
        (WebCore::XMLDocumentParser::endElementNs):
        (WebCore::XMLDocumentParser::processingInstruction):
        (WebCore::XMLDocumentParser::cdataBlock):
        (WebCore::XMLDocumentParser::comment):
        (WebCore::XMLDocumentParser::startDocument):
        (WebCore::XMLDocumentParser::internalSubset):
        (WebCore::XMLDocumentParser::initializeParserContext):
        (WebCore::XMLDocumentParser::doEnd):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        * html/HTMLDocumentParser.h:
        * html/LegacyHTMLDocumentParser.cpp:
        (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
        (WebCore::LegacyHTMLDocumentParser::begin):
        (WebCore::LegacyHTMLDocumentParser::scriptHandler):
        (WebCore::LegacyHTMLDocumentParser::scriptExecution):
        (WebCore::LegacyHTMLDocumentParser::parseTag):
        (WebCore::LegacyHTMLDocumentParser::continueProcessing):
        (WebCore::LegacyHTMLDocumentParser::willWriteHTML):
        (WebCore::LegacyHTMLDocumentParser::didWriteHTML):
        (WebCore::LegacyHTMLDocumentParser::write):
        (WebCore::LegacyHTMLDocumentParser::stopParsing):
        (WebCore::LegacyHTMLDocumentParser::timerFired):
        (WebCore::LegacyHTMLDocumentParser::end):
        (WebCore::LegacyHTMLDocumentParser::processToken):
        (WebCore::LegacyHTMLDocumentParser::processDoctypeToken):
        (WebCore::LegacyHTMLDocumentParser::executeScriptsWaitingForStylesheets):
        (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsIfReady):
        (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsTimerFired):
        * html/LegacyHTMLDocumentParser.h:
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocumentParser::ImageDocumentParser):
        (WebCore::ImageDocumentParser::imageDocument):
        (WebCore::ImageDocumentParser::write):
        (WebCore::ImageDocumentParser::writeRawData):
        (WebCore::ImageDocumentParser::finish):
        (WebCore::ImageDocumentParser::finishWasCalled):
        (WebCore::ImageDocumentParser::isWaitingForScripts):
        (WebCore::ImageDocument::createParser):
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocumentParser::MediaDocumentParser):
        (WebCore::MediaDocumentParser::createDocumentStructure):
        (WebCore::MediaDocumentParser::finish):
        (WebCore::MediaDocumentParser::finishWasCalled):
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::PluginDocumentParser):
        (WebCore::PluginDocumentParser::createDocumentStructure):
        (WebCore::PluginDocumentParser::writeRawData):
        (WebCore::PluginDocumentParser::finish):
        (WebCore::PluginDocumentParser::finishWasCalled):
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocumentParser::SinkDocumentParser):
        * loader/TextDocument.cpp:
        (WebCore::TextDocumentParser::TextDocumentParser):
        (WebCore::TextDocumentParser::write):
        (WebCore::TextDocumentParser::finish):
        (WebCore::TextDocumentParser::finishWasCalled):

2010-06-23  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Start to clean up DocumentParser interface
        https://bugs.webkit.org/show_bug.cgi?id=41114

        The first of many cleanups needed to the DocumentParser
        interface.  Rename executingScript() to isExecutingScript()
        and make it return a bool instead of an int.  Also added a
        FIXME to XMLDocumentParser about implementing it and did
        some minor other cleanup to the XMLDocumentParser header.

        No functional change, thus no tests.

        * dom/Document.cpp:
        (WebCore::Document::open):
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::isExecutingScript):
        * dom/XMLDocumentParser.h:
        (WebCore::XMLDocumentParser::wellFormed):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::attemptToEnd):
        (WebCore::HTMLDocumentParser::endIfDelayed):
        (WebCore::HTMLDocumentParser::isExecutingScript):
        * html/HTMLDocumentParser.h:
        * html/LegacyHTMLDocumentParser.h:
        (WebCore::LegacyHTMLDocumentParser::isExecutingScript):

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

        Reviewed by Simon Fraser.

        Implement IDL attribute for HTML5 hidden
        https://bugs.webkit.org/show_bug.cgi?id=41039

        Test: fast/html/hidden-attr-dom.html

        * html/HTMLElement.idl: Just add to the IDL file. [Reflect] takes
        care of the rest.

2010-06-23  Joanmarie Diggs  <joanmarie.diggs@gmail.com>

        Reviewed by Chris Fleizach.

        [Gtk] nameFromChildren is obsolete
        https://bugs.webkit.org/show_bug.cgi?id=36128

        Look to the AtkText interface implemented by the objects in
        question.

        Test: platform/gtk/accessibility/name-from-label.html

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_get_name):
        (webkit_accessible_table_get_column_description):
        (webkit_accessible_table_get_row_description):

2010-06-23  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Port FileSystem
        https://bugs.webkit.org/show_bug.cgi?id=34323

        Port FileSystem with IFileMgr interface.

        * platform/FileSystem.h:
        * platform/brew/FileSystemBrew.cpp: Added.
        (WebCore::getFileSize):
        (WebCore::getFileModificationTime):
        (WebCore::fileExists):
        (WebCore::deleteFile):
        (WebCore::deleteEmptyDirectory):
        (WebCore::pathByAppendingComponent):
        (WebCore::fileSystemRepresentation):
        (WebCore::canonicalPath):
        (WebCore::makeAllDirectories):
        (WebCore::homeDirectoryPath):
        (WebCore::pathGetFileName):
        (WebCore::directoryName):
        (WebCore::openTemporaryFile):
        (WebCore::closeFile):
        (WebCore::writeToFile):
        (WebCore::unloadModule):
        (WebCore::listDirectory):

2010-06-23  Alexendar Pavlov  <apavlov@chromium.org>

        Reviewed by David Hyatt.

        Swap checks in Position::isCandidate so that the less expensive
        nodeIsUserSelectNode  (node && node->renderer() &&
        node->renderer()->style()->userSelect() == SELECT_NONE) came first.

        (Was Web Inspector: Hangup when expanding elements with enormous
        text node content in Elements panel).

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

        * dom/Position.cpp:
        (WebCore::Position::isCandidate):
        * dom/PositionIterator.cpp:
        (WebCore::PositionIterator::isCandidate):

2010-06-23  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Add PopupMenu implementation
        https://bugs.webkit.org/show_bug.cgi?id=40226

        Delegate PopupMenu handling to ChromeClientBrew.

        * page/brew/ChromeClientBrew.h: Added.
        * platform/PopupMenu.h:
        * platform/brew/PopupMenuBrew.cpp: Added.
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):

2010-06-23  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Implement format conversions in texImage2D and texSubImage2D taking HTML data
        https://bugs.webkit.org/show_bug.cgi?id=40319

        Generalized code supporting premultiplication of alpha and
        vertical flip to pack texture data into requested format and type.
        Handled incoming image data of various formats, RGBA and BGRA in
        particular, both to reduce the number of temporary copies during
        texture upload and to support premultiplying alpha for the
        texImage2D and texSubImage2D entry points taking ArrayBufferView
        in a subsequent bug. Added test case exercising all combinations
        of format/type combinations, premultiplication of alpha, and
        Image/ImageData upload. (Incorporated pnglib.js under
        fast/canvas/webgl/resources/ to be able to generate Image elements
        programmatically.) Tested in Safari on Mac OS X and in Chromium on
        Mac OS X, Windows and Linux.

        Test: fast/canvas/webgl/tex-image-with-format-and-type.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::readPixels):
        (WebCore::WebGLRenderingContext::texImage2DImpl):
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::texSubImage2DImpl):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
        (WebCore::WebGLRenderingContext::validateTexFuncParameters):
        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
        (WebCore::GraphicsContext3D::extractImageData):
        (WebCore::GraphicsContext3D::flipVertically):
        (WebCore::doUnpackingAndPacking):
        (WebCore::doPacking):
        (WebCore::GraphicsContext3D::packPixels):
        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::):
        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::GraphicsContext3D::getImageData):
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::narrowInternalFormat):
        (WebCore::GraphicsContext3D::texImage2D):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::getImageData):
        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
        (WebCore::GraphicsContext3D::getImageData):

2010-06-23  Stephen White  <senorblanco@chromium.org>

        Unreviewed; correcting bad patch.

        In my haste to land r61710, I mistakenly landed the wrong version, in
        which a chunk of code was moved.  This patch moves that chunk of code
        to where it was in the patch that was reviewed.  Mea culpa.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::ImageQualityController::shouldPaintAtLowQuality):

2010-06-23  Stephen White  <senorblanco@chromium.org>

        Reviewed by David Hyatt.

        This is a tweak to the resize algorithm introduced in r61341, and
        is a fix for the regression described in
        https://bugs.webkit.org/show_bug.cgi?id=41036

        The goal is to bring back the some of old behaviour, without regressing
        too much of the performance gains in r61341.

        The old algorithm was:
        - on first resize, draw in high quality and record the paint time
        - if we've already drawn at this size, use the same quality as last time
        - on subsequent resizes, if the resize occurs within X ms of the
          previous one, draw at low quality and set a timer (one timer per
          image).
        - when each timer expires, draw that image at high quality

        The r61341 algorithm was:  
        - on first resize, draw the image in low quality, add it to a list of
          resized images, and set a timer (one timer for all images)
        - when the timer expires, redraw all resized images in high quality

        The new algorithm is:
        - on first resize, if no other animated resizes are outstanding, draw in
          high quality and set the timer (one timer for all images)
        - if any images have been resized to two different sizes in the last
          X ms, draw all resized images in low quality and kick the timer
          forward
        - when the timer expires, if any animated resizes occured, redraw all
          resized images in high quality, and reset the flag

        This should cause GUIMark and the IE9 demos to have good performance 
        after the first frame, while other pages with only static resizes
        should be unaffected.

        * rendering/RenderBoxModelObject.cpp:
        Change the LastPaintTimeMap to a LastPaintSizeMap:  we now record the
        last size an image was resized to, rather than the time it was painted
        (the time actually became redundant in r61341 when I added the
        check for m_timer.isActive():  we only care if anything is resizing
        while the timer is active).
        (WebCore::ImageQualityController::ImageQualityController):
        Add an initializer for the m_animatedResizeIsActive flag.
        (WebCore::ImageQualityController::objectDestroyed):
        Reset the m_animatedResizeIsActive flag if this was the last object
        in the list.
        (WebCore::ImageQualityController::highQualityRepaintTimerFired):
        Only repaint all the images if there was an animated resize (otherwise,
        everything is already high quality).
        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
        Implement the above algorithm.

2010-06-23  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Kenneth Rohde Christiansen.

        Bad cast after DOM mutation in RenderMenuList
        https://bugs.webkit.org/show_bug.cgi?id=40828
 
        Firing the onchange event on select which changes its size > 1 causes the select
        object to change from a menulist to a listbox. However, when propogating the events,
        we do a bad cast assuming the object will remain a menulist. Added proper checks to
        make sure we check the renderer after the onchange is fired and propogate the event
        based on correct object type.

        Test: fast/events/select-onchange-crash.html

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

2010-06-23  Andy Estes  <aestes@apple.com>

        Reviewed by Alexey Proskuryakov.
        
        <rdar://problem/8107855> Prevent a crash in WebCore when removing an
        object element with an invalid data URL in in a listener to its
        beforeload event.
        https://bugs.webkit.org/show_bug.cgi?id=41054

        Tests: fast/dom/beforeload/remove-bad-object-in-beforeload-listener.html

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::renderFallbackContent): Exit early if the
        object element is not in the document.
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::updateWidget): If RenderWidget::destroy()
        was called during processing of onbeforeload, do not proceed with loading
        the object.

2010-06-23  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [gtk] web fonts not loaded properly in scribd html5 reader
        https://bugs.webkit.org/show_bug.cgi?id=38758

        Drop filling the pattern with default values, because this
        restricts the matching more than we want.

        * platform/graphics/cairo/FontCacheCairo.cpp:
        (WebCore::FontCache::createFontPlatformData):

2010-06-23  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [gtk] web fonts not loaded properly in scribd html5 reader
        https://bugs.webkit.org/show_bug.cgi?id=38758

        Also special-case `sans' amd `mono', which are aliases commonly
        used in GTK+ applications.

        * platform/graphics/cairo/FontCacheCairo.cpp:
        (WebCore::isWellKnownFontName):

2010-06-23  Justin Schuh  <jschuh@chromium.org>

        Unreviewed, rolling out r61695.
        http://trac.webkit.org/changeset/61695
        https://bugs.webkit.org/show_bug.cgi?id=40798

        61695 broke all the Linux builds.

        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::rowAvailable):

2010-06-23  Kevin Ollivier  <kevino@theolliviers.com>

        Reviewed by Darin Adler.

        Fix PluginViewNone.cpp compilation for ports that also compile PluginView.cpp
        https://bugs.webkit.org/show_bug.cgi?id=37939

        * plugins/PluginViewNone.cpp:
        (WebCore::PluginView::handleFocusInEvent):
        (WebCore::PluginView::handleFocusOutEvent):
        (WebCore::PluginView::keepAlive):
        (WebCore::PluginView::privateBrowsingStateChanged):
        (WebCore::PluginView::setJavaScriptPaused):

2010-06-23  Cris Neckar  <cdn@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Out of bounds write in WebCore::PNGImageDecoder::rowAvailable
        https://bugs.webkit.org/show_bug.cgi?id=40798

        Catches error in row callback for libPNG when extra rows are returned.

        Test: fast/images/png-extra-row-crash.html

        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::rowAvailable):

2010-06-23  James Robinson  <jamesr@chromium.org>

        Reviewed by Dan Bernstein.

        Do not set needsLayout when the style attribute changes on an SVG element
        https://bugs.webkit.org/show_bug.cgi?id=40366

        SVGSVGElement::svgAttributeChanged was incorrectly calling renderer()->setNeedsLayout(true)
        whenever the styleAttr changed on its element.  This could happen during layout in some
        circumstances due to lazy style attribute synchronization.  When it did, it could cause the
        layout flags to become inconsistent.  See the test case for details.

        Changes to an element's style attribute always mark an element as needing layout anyway so
        this call was redundant.

        Test: fast/repaint/svg-layout-root-style-attr-update.html

        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::isKnownAttribute):

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

        Reviewed by Dan Bernstein.

        r61215 broke Acid3
        https://bugs.webkit.org/show_bug.cgi?id=41034
        
        The code added in r61215, which tests whether the root renderer will fill
        the entire viewport, should not run for subframes. So bail from
        RenderView::paintBoxDecorations() if document()->ownerElement() is not null.
        The old code was trying to do this by checking 'elt', but that ends up as 
        null after the for loop above.
        
        We can also bail early if the is no FrameView().

        Test: fast/frames/paint-iframe-background.html

        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):

2010-06-23  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: do not reset profiles panel on navigation.

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

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didCommitLoad):
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::resetProfilesPanel):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        (WebInspector.ProfilesPanel.prototype.populateInterface):
        (WebInspector.ProfilesPanel.prototype.profilerWasDisabled):
        (WebInspector.ProfilesPanel.prototype._reset):
        (WebInspector.ProfilesPanel.prototype._clearProfiles):
        * inspector/front-end/inspector.js:
        (WebInspector.resetProfilesPanel):

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

        Reviewed by Pavel Feldman.

        Web Inspector: InspectorController should be added only once as ScriptDebugListener to
        ScriptDebugServer.
        https://bugs.webkit.org/show_bug.cgi?id=41070

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::enableDebuggerFromFrontend):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel): don't call InspectorBackend.enableDebugger if debugger is always enabled,
        InspectorController will do this on its side when the front end is connected.

2010-06-23  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Clear breakpoints before restoring them, not after.
        https://bugs.webkit.org/show_bug.cgi?id=41071

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

2010-06-23  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Do not render the full frame when there is some elements with fixed positioning
        https://bugs.webkit.org/show_bug.cgi?id=33150

        Do not render the full frame when there is some elements with fixed positioning
        https://bugs.webkit.org/show_bug.cgi?id=33150

        The frame view take into acount the list of fixed object when scrolling
        the view. If the number of object is lower than a certain threshold, the pixel
        are blitted, and the invalidated area updated.

        * page/FrameView.cpp:
        (WebCore::FrameView::addFixedObject):
        (WebCore::FrameView::removeFixedObject):
        (WebCore::FrameView::scrollContentsFastPath):
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollContents):
        (WebCore::ScrollView::scrollContentsFastPath):
        * platform/ScrollView.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::repaintRectIncludingDescendants):
        * rendering/RenderLayer.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::styleWillChange):

2010-06-23  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Fix displaying of several CPU profiles with the same name.

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

        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):

2010-06-23  Adam Barth  <abarth@webkit.org>

        Unreviewed.  clean-header-guards that were made dirty by recent
        renames.

        * html/HTMLDocumentParser.h:
        * html/HTMLPreloadScanner.h:
        * html/HTMLTokenizer.h:
        * html/HTMLTreeBuilder.h:
        * html/LegacyHTMLDocumentParser.h:
        * html/LegacyHTMLTreeBuilder.h:
        * html/LegacyPreloadScanner.h:

2010-06-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Rename LegacyHTMLTreeConstructor to LegacyHTMLTreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=41053

        There was some debate about whether to call this class (and the
        non-legacy version) "tree builder" or "tree constructor".  Maciej
        pointed out that other implementations (including Mozilla and HTML5Lib)
        call it a tree builder.  The path of least resistance seems to be call
        it that for now.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::htmlTreeConstructor):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::htmlTreeConstructor):
        * html/HTMLDocumentParser.h:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::removedFromTree):
        * html/HTMLInputElement.cpp:
        * html/HTMLMeterElement.cpp:
        * html/HTMLProgressElement.cpp:
        * html/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        * html/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::legacyTreeConstructor):
        * html/LegacyHTMLDocumentParser.cpp:
        (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
        * html/LegacyHTMLDocumentParser.h:
        (WebCore::LegacyHTMLDocumentParser::htmlTreeConstructor):
        * html/LegacyHTMLTreeBuilder.cpp: Copied from WebCore/html/LegacyHTMLTreeConstructor.cpp.
        (WebCore::LegacyHTMLTreeBuilder::LegacyHTMLTreeBuilder):
        (WebCore::LegacyHTMLTreeBuilder::~LegacyHTMLTreeBuilder):
        (WebCore::LegacyHTMLTreeBuilder::reset):
        (WebCore::LegacyHTMLTreeBuilder::setCurrent):
        (WebCore::LegacyHTMLTreeBuilder::limitDepth):
        (WebCore::LegacyHTMLTreeBuilder::insertNodeAfterLimitDepth):
        (WebCore::LegacyHTMLTreeBuilder::parseToken):
        (WebCore::LegacyHTMLTreeBuilder::parseDoctypeToken):
        (WebCore::LegacyHTMLTreeBuilder::insertNode):
        (WebCore::LegacyHTMLTreeBuilder::handleError):
        (WebCore::LegacyHTMLTreeBuilder::textCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::commentCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::headCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::bodyCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::framesetCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::formCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::isindexCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::selectCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::ddCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::dtCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::rpCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::rtCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::nestedCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::nestedPCloserCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::nestedStyleCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::tableCellCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::tableSectionCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::noembedCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::noframesCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::noscriptCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::pCloserCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::pCloserStrictCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::mapCreateErrorCheck):
        (WebCore::LegacyHTMLTreeBuilder::getNode):
        (WebCore::LegacyHTMLTreeBuilder::allowNestedRedundantTag):
        (WebCore::LegacyHTMLTreeBuilder::processCloseTag):
        (WebCore::LegacyHTMLTreeBuilder::isHeadingTag):
        (WebCore::LegacyHTMLTreeBuilder::isInline):
        (WebCore::LegacyHTMLTreeBuilder::isResidualStyleTag):
        (WebCore::LegacyHTMLTreeBuilder::isAffectedByResidualStyle):
        (WebCore::LegacyHTMLTreeBuilder::handleResidualStyleCloseTagAcrossBlocks):
        (WebCore::LegacyHTMLTreeBuilder::reopenResidualStyleTags):
        (WebCore::LegacyHTMLTreeBuilder::pushBlock):
        (WebCore::LegacyHTMLTreeBuilder::popBlock):
        (WebCore::LegacyHTMLTreeBuilder::popOneBlockCommon):
        (WebCore::LegacyHTMLTreeBuilder::popOneBlock):
        (WebCore::LegacyHTMLTreeBuilder::moveOneBlockToStack):
        (WebCore::LegacyHTMLTreeBuilder::checkIfHasPElementInScope):
        (WebCore::LegacyHTMLTreeBuilder::popInlineBlocks):
        (WebCore::LegacyHTMLTreeBuilder::freeBlock):
        (WebCore::LegacyHTMLTreeBuilder::createHead):
        (WebCore::LegacyHTMLTreeBuilder::handleIsindex):
        (WebCore::LegacyHTMLTreeBuilder::startBody):
        (WebCore::LegacyHTMLTreeBuilder::finished):
        (WebCore::LegacyHTMLTreeBuilder::reportErrorToConsole):
        * html/LegacyHTMLTreeBuilder.h: Copied from WebCore/html/LegacyHTMLTreeConstructor.h.
        * html/LegacyHTMLTreeConstructor.cpp: Removed.
        * html/LegacyHTMLTreeConstructor.h: Removed.
        * html/StepRange.cpp:
        * html/ValidityState.cpp:
        * rendering/RenderSlider.cpp:

2010-06-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Rename the preload scanners
        https://bugs.webkit.org/show_bug.cgi?id=41052

        Renames PreloadScanner to LegacyPreloadScanner because this code is now
        off by default.  Also, rename HTML5PreloadScanner to
        HTMLPreloadScanner.  We're not calling it PreloadScanner because we've
        factored out the CSSPreloadScanner and the HTMLPreloadScanner from the
        original PreloadScanner.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTML5PreloadScanner.cpp: Removed.
        * html/HTML5PreloadScanner.h: Removed.
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::pumpTokenizer):
        * html/HTMLDocumentParser.h:
        * html/HTMLPreloadScanner.cpp: Copied from WebCore/html/HTML5PreloadScanner.cpp.
        (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
        (WebCore::HTMLPreloadScanner::appendToEnd):
        (WebCore::HTMLPreloadScanner::scan):
        (WebCore::HTMLPreloadScanner::processToken):
        (WebCore::HTMLPreloadScanner::scanningBody):
        * html/HTMLPreloadScanner.h: Copied from WebCore/html/HTML5PreloadScanner.h.
        * html/LegacyHTMLDocumentParser.cpp:
        (WebCore::LegacyHTMLDocumentParser::scriptHandler):
        (WebCore::LegacyHTMLDocumentParser::scriptExecution):
        * html/LegacyHTMLDocumentParser.h:
        * html/LegacyPreloadScanner.cpp: Copied from WebCore/html/PreloadScanner.cpp.
        (WebCore::LegacyPreloadScanner::LegacyPreloadScanner):
        (WebCore::LegacyPreloadScanner::~LegacyPreloadScanner):
        (WebCore::LegacyPreloadScanner::begin):
        (WebCore::LegacyPreloadScanner::end):
        (WebCore::LegacyPreloadScanner::reset):
        (WebCore::LegacyPreloadScanner::scanningBody):
        (WebCore::LegacyPreloadScanner::write):
        (WebCore::LegacyPreloadScanner::clearLastCharacters):
        (WebCore::LegacyPreloadScanner::rememberCharacter):
        (WebCore::LegacyPreloadScanner::lastCharactersMatch):
        (WebCore::LegacyPreloadScanner::consumeEntity):
        (WebCore::LegacyPreloadScanner::tokenize):
        (WebCore::LegacyPreloadScanner::processAttribute):
        (WebCore::LegacyPreloadScanner::emitCharacter):
        (WebCore::LegacyPreloadScanner::tokenizeCSS):
        (WebCore::LegacyPreloadScanner::emitTag):
        (WebCore::LegacyPreloadScanner::emitCSSRule):
        * html/LegacyPreloadScanner.h: Copied from WebCore/html/PreloadScanner.h.
        * html/PreloadScanner.cpp: Removed.
        * html/PreloadScanner.h: Removed.
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::decodeHTMLEntities):

2010-06-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Yet more HTML5 => HTML renames
        https://bugs.webkit.org/show_bug.cgi?id=41051

        This patch renames HTML5DocumentParser to HTMLDocumentParser and
        HTML5TreeBuilder to HTMLTreeBuilder.  There was some discussion about
        whether to use the name HTMLTreeBuilder or HTMLTreeConstructor, but
        tree builder seems to be the dominate name in other implementations.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DocumentFragment.cpp:
        (WebCore::DocumentFragment::parseHTML):
        * html/HTML5DocumentParser.cpp: Removed.
        * html/HTML5DocumentParser.h: Removed.
        * html/HTML5PreloadScanner.cpp:
        (WebCore::HTML5PreloadScanner::scan):
        (WebCore::HTML5PreloadScanner::processToken):
        * html/HTML5TreeBuilder.cpp: Removed.
        * html/HTML5TreeBuilder.h: Removed.
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::createParser):
        * html/HTMLDocumentParser.cpp: Copied from WebCore/html/HTML5DocumentParser.cpp.
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
        (WebCore::HTMLDocumentParser::begin):
        (WebCore::HTMLDocumentParser::stopParsing):
        (WebCore::HTMLDocumentParser::processingData):
        (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
        (WebCore::HTMLDocumentParser::isScheduledForResume):
        (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
        (WebCore::HTMLDocumentParser::runScriptsForPausedTreeConstructor):
        (WebCore::HTMLDocumentParser::pumpTokenizer):
        (WebCore::HTMLDocumentParser::willPumpLexer):
        (WebCore::HTMLDocumentParser::didPumpLexer):
        (WebCore::HTMLDocumentParser::write):
        (WebCore::HTMLDocumentParser::end):
        (WebCore::HTMLDocumentParser::attemptToEnd):
        (WebCore::HTMLDocumentParser::endIfDelayed):
        (WebCore::HTMLDocumentParser::finish):
        (WebCore::HTMLDocumentParser::finishWasCalled):
        (WebCore::HTMLDocumentParser::executingScript):
        (WebCore::HTMLDocumentParser::inScriptExecution):
        (WebCore::HTMLDocumentParser::lineNumber):
        (WebCore::HTMLDocumentParser::columnNumber):
        (WebCore::HTMLDocumentParser::htmlTreeConstructor):
        (WebCore::HTMLDocumentParser::isWaitingForScripts):
        (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
        (WebCore::HTMLDocumentParser::watchForLoad):
        (WebCore::HTMLDocumentParser::stopWatchingForLoad):
        (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
        (WebCore::HTMLDocumentParser::notifyFinished):
        (WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets):
        (WebCore::HTMLDocumentParser::script):
        * html/HTMLDocumentParser.h: Copied from WebCore/html/HTML5DocumentParser.h.
        * html/HTMLParserScheduler.cpp:
        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
        * html/HTMLParserScheduler.h:
        * html/HTMLTreeBuilder.cpp: Copied from WebCore/html/HTML5TreeBuilder.cpp.
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::~HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::handleScriptStartTag):
        (WebCore::HTMLTreeBuilder::handleScriptEndTag):
        (WebCore::HTMLTreeBuilder::takeScriptToProcess):
        (WebCore::HTMLTreeBuilder::adjustedLexerState):
        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::processToken):
        (WebCore::HTMLTreeBuilder::finished):
        (WebCore::HTMLTreeBuilder::isScriptingFlagEnabled):
        * html/HTMLTreeBuilder.h: Copied from WebCore/html/HTML5TreeBuilder.h.

2010-06-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        More HTML5 => HTML renames
        https://bugs.webkit.org/show_bug.cgi?id=41049

        This patch renames HTML5ScriptRunner, HTML5ScriptRunnerHost, and
        HTML5Token to remove the "5" from their names.  These clases aren't
        specific to HTML5 and will be used going forward.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/CSSPreloadScanner.cpp:
        (WebCore::CSSPreloadScanner::scan):
        * html/CSSPreloadScanner.h:
        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
        (WebCore::HTML5DocumentParser::notifyFinished):
        * html/HTML5DocumentParser.h:
        * html/HTML5PreloadScanner.cpp:
        (WebCore::HTMLNames::PreloadTask::PreloadTask):
        (WebCore::HTMLNames::PreloadTask::processAttributes):
        (WebCore::HTML5PreloadScanner::processToken):
        * html/HTML5PreloadScanner.h:
        * html/HTML5ScriptRunner.cpp: Removed.
        * html/HTML5ScriptRunner.h: Removed.
        * html/HTML5ScriptRunnerHost.h: Removed.
        * html/HTML5Token.h: Removed.
        * html/HTML5TreeBuilder.cpp:
        (WebCore::convertToOldStyle):
        (WebCore::HTML5TreeBuilder::handleScriptEndTag):
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
        (WebCore::HTML5TreeBuilder::constructTreeFromToken):
        (WebCore::HTML5TreeBuilder::processToken):
        * html/HTML5TreeBuilder.h:
        * html/HTMLScriptRunner.cpp: Copied from WebCore/html/HTML5ScriptRunner.cpp.
        (WebCore::HTMLScriptRunner::HTMLScriptRunner):
        (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
        (WebCore::HTMLScriptRunner::sourceFromPendingScript):
        (WebCore::HTMLScriptRunner::isPendingScriptReady):
        (WebCore::HTMLScriptRunner::executePendingScript):
        (WebCore::HTMLScriptRunner::executeScript):
        (WebCore::HTMLScriptRunner::hasScriptsWaitingForLoad):
        (WebCore::HTMLScriptRunner::watchForLoad):
        (WebCore::HTMLScriptRunner::stopWatchingForLoad):
        (WebCore::HTMLScriptRunner::execute):
        (WebCore::HTMLScriptRunner::haveParsingBlockingScript):
        (WebCore::HTMLScriptRunner::executeParsingBlockingScripts):
        (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
        (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
        (WebCore::HTMLScriptRunner::requestScript):
        (WebCore::HTMLScriptRunner::runScript):
        * html/HTMLScriptRunner.h: Copied from WebCore/html/HTML5ScriptRunner.h.
        * html/HTMLScriptRunnerHost.h: Copied from WebCore/html/HTML5ScriptRunnerHost.h.
        (WebCore::HTMLScriptRunnerHost::~HTMLScriptRunnerHost):
        * html/HTMLToken.h: Copied from WebCore/html/HTML5Token.h.
        (WebCore::HTMLToken::HTMLToken):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::nextToken):
        (WebCore::HTMLTokenizer::emitCharacter):
        (WebCore::HTMLTokenizer::emitCurrentToken):
        (WebCore::HTMLTokenizer::shouldEmitBufferedCharacterToken):
        * html/HTMLTokenizer.h:

2010-06-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Rename HTML5EntityParser to HTMLEntityParser
        https://bugs.webkit.org/show_bug.cgi?id=41048

        Mostly the result of do-webcore-rename, but I tweaked the header guard
        and the name of the free function.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTML5EntityParser.cpp: Removed.
        * html/HTML5EntityParser.h: Removed.
        * html/HTMLEntityParser.cpp: Copied from WebCore/html/HTML5EntityParser.cpp.
        (WebCore::consumeHTMLEntity):
        * html/HTMLEntityParser.h: Copied from WebCore/html/HTML5EntityParser.h.
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::processEntity):
        (WebCore::HTMLTokenizer::nextToken):

2010-06-22  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Add a new class that stores information about WebSocket handshake response.

        In the future, instances of the new class will be passed to the Web Inspector
        so that it will be able to display information about WebSocket handshake
        response.

        WebSocket: Add WebSocketHandshakeResponse
        https://bugs.webkit.org/show_bug.cgi?id=38728

        Test: websocket/tests/handshake-fail-by-no-cr.html

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * websockets/WebSocketHandshake.cpp:
        (WebCore::trimConsoleMessage):
        (WebCore::WebSocketHandshake::readServerHandshake):
        (WebCore::WebSocketHandshake::serverHandshakeResponse):
        (WebCore::WebSocketHandshake::readStatusLine): Moved from extractResponseCode.
        Add more error checks and make error messages more descriptive.
        (WebCore::WebSocketHandshake::readHTTPHeaders):
        (WebCore::WebSocketHandshake::processHeaders):
        * websockets/WebSocketHandshake.h:
        * websockets/WebSocketHandshakeResponse.cpp: Added.
        (WebCore::WebSocketHandshakeResponse::ChallengeResponse::ChallengeResponse):
        (WebCore::WebSocketHandshakeResponse::ChallengeResponse::set):
        (WebCore::WebSocketHandshakeResponse::WebSocketHandshakeResponse):
        (WebCore::WebSocketHandshakeResponse::~WebSocketHandshakeResponse):
        (WebCore::WebSocketHandshakeResponse::statusCode):
        (WebCore::WebSocketHandshakeResponse::setStatusCode):
        (WebCore::WebSocketHandshakeResponse::statusText):
        (WebCore::WebSocketHandshakeResponse::setStatusText):
        (WebCore::WebSocketHandshakeResponse::headerFields):
        (WebCore::WebSocketHandshakeResponse::addHeaderField):
        (WebCore::WebSocketHandshakeResponse::clearHeaderFields):
        (WebCore::WebSocketHandshakeResponse::challengeResponse):
        (WebCore::WebSocketHandshakeResponse::setChallengeResponse):
        * websockets/WebSocketHandshakeResponse.h: Added.

2010-06-23  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Shinichiro Hamaji.

        Implement page format data programming interface.
        The final goal is to implement CSS Paged Media Module Level 3 (http://dev.w3.org/csswg/css3-page/).
        To begin with, this change adds methods to know:
        - if page box is visible,
        - the page area rectangle, and
        - preferred page size.

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

        Test: printing/page-format-data.html

        * WebCore.base.exp:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseSizeParameter):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::applyPageSizeProperty):
        (WebCore::CSSStyleSelector::pageSizeFromName):
        (WebCore::CSSStyleSelector::mmLength):
        (WebCore::CSSStyleSelector::inchLength):
        * css/CSSStyleSelector.h:
        * css/html.css:
        (@page):
        * dom/Document.cpp:
        (WebCore::Document::isPageBoxVisible):
        (WebCore::Document::pageAreaRectInPixels):
        (WebCore::Document::preferredPageSizeInPixels):
        * dom/Document.h:
        * page/PrintContext.cpp:
        (WebCore::PrintContext::isPageBoxVisible):
        (WebCore::PrintContext::pageAreaRectInPixels):
        (WebCore::PrintContext::preferredPageSizeInPixels):
        * page/PrintContext.h:
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::pageSize):
        (WebCore::InheritedFlags::setPageSize):
        * rendering/style/StyleRareNonInheritedData.h:

2010-06-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Rename lexer and m_lexer to tokenizer and m_tokenizer, respectively
        https://bugs.webkit.org/show_bug.cgi?id=41046

        This is a follow up to the recent HTML5Lexer => HTMLTokenizer rename.

        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
        (WebCore::HTML5DocumentParser::begin):
        (WebCore::HTML5DocumentParser::pumpLexer):
        (WebCore::HTML5DocumentParser::willPumpLexer):
        (WebCore::HTML5DocumentParser::didPumpLexer):
        (WebCore::HTML5DocumentParser::lineNumber):
        (WebCore::HTML5DocumentParser::columnNumber):
        * html/HTML5DocumentParser.h:
        * html/HTML5PreloadScanner.cpp:
        (WebCore::HTML5PreloadScanner::scan):
        (WebCore::HTML5PreloadScanner::processToken):
        * html/HTML5PreloadScanner.h:
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
        (WebCore::HTML5TreeBuilder::handleScriptStartTag):
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
        * html/HTML5TreeBuilder.h:
        * html/HTMLTokenizer.h:
        * html/LegacyHTMLDocumentParser.h:

2010-06-23  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Eric Seidel.

        Reproducible crash in com.apple.WebCore 0x01ed3784 WebCore::RenderLineBoxList::appendLineBox(WebCore::InlineFlowBox*) + 36
        https://bugs.webkit.org/show_bug.cgi?id=40953

        REGRESSION (r58209-58231): Memory corruption with invalid SVG
        https://bugs.webkit.org/show_bug.cgi?id=40173

        Fix several crashes, all related to <foreignObject> and/or invalid SVG documents.
        - Only allow <svg> nodes, as direct children of a <foreignObject>, not any other "partial" SVG content.
        - Assure to create RenderSVGRoot objects for <svg> nodes in <foreignObject>, treat them as "outermost SVG elements".
        - Never allow any partial SVG content to appear in any document. Only <svg> elements are allowed.

        Tests: svg/custom/bug45331.svg
               svg/foreignObject/disallowed-svg-nodes-as-direct-children.svg
               svg/foreignObject/no-crash-with-svg-content-in-html-document.svg
               svg/foreignObject/svg-document-as-direct-child.svg
               svg/foreignObject/svg-document-in-html-document.svg
               svg/foreignObject/text-tref-02-b.svg

        * dom/Element.cpp: Added childShouldCreateRenderer, with ENABLE(SVG) guards.
        (WebCore::Element::childShouldCreateRenderer): Only create a renderer for a SVG child, if we're a SVG element, or if the child is a <svg> element.
        * dom/Element.h: Added childShouldCreateRenderer, with ENABLE(SVG) guards.
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::childShouldCreateRenderer): Disallow arbitary SVG content, only <svg> elements are allowed as direct children of a <foreignObject>
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::isOutermostSVG): Be sure to create RenderSVGRoot objects for <svg> elements inside <foreignObject>

2010-06-22  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Rename HTML5Lexer to HTMLTokenizer
        https://bugs.webkit.org/show_bug.cgi?id=41045

        This might be slightly confusing given that the old class was called
        HTMLTokenizer, but it matches the terminology in the HTML5 spec.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
        (WebCore::HTML5DocumentParser::pumpLexer):
        * html/HTML5DocumentParser.h:
        * html/HTML5Lexer.cpp: Removed.
        * html/HTML5Lexer.h: Removed.
        * html/HTML5PreloadScanner.cpp:
        (WebCore::HTML5PreloadScanner::processToken):
        * html/HTML5PreloadScanner.h:
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
        (WebCore::HTML5TreeBuilder::handleScriptStartTag):
        (WebCore::HTML5TreeBuilder::adjustedLexerState):
        * html/HTML5TreeBuilder.h:
        * html/HTMLTokenizer.cpp: Copied from WebCore/html/HTML5Lexer.cpp.
        (WebCore::HTMLNames::isEndTagBufferingState):
        (WebCore::HTMLTokenizer::HTMLTokenizer):
        (WebCore::HTMLTokenizer::~HTMLTokenizer):
        (WebCore::HTMLTokenizer::reset):
        (WebCore::HTMLTokenizer::processEntity):
        (WebCore::HTMLTokenizer::nextToken):
        (WebCore::HTMLTokenizer::temporaryBufferIs):
        (WebCore::HTMLTokenizer::addToPossibleEndTag):
        (WebCore::HTMLTokenizer::isAppropriateEndTag):
        (WebCore::HTMLTokenizer::emitCharacter):
        (WebCore::HTMLTokenizer::emitCodePoint):
        (WebCore::HTMLTokenizer::emitParseError):
        (WebCore::HTMLTokenizer::emitCurrentToken):
        (WebCore::HTMLTokenizer::shouldEmitBufferedCharacterToken):
        * html/HTMLTokenizer.h: Copied from WebCore/html/HTML5Lexer.h.

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

        Unreviewed Qt/Symbian build fix.

        Fix "make clean" to not try to execute clean commands for
        the extra targets we use to simulate "make install".

        * WebCore.pro: Use no_clean in CONFIG of extra compilers.

2010-06-22  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Run clean-header-guards to fix some header guards
        https://bugs.webkit.org/show_bug.cgi?id=41044

        No functional changes, thus no tests.

        This entire change was generated by running
        clean-header-guards, and then reverting changes
        to files which shouldn't be changed.  Those which
        are left all should be updated.

        Some of these changes are just fixing 755 permissions
        to be 644, since it seems various files have the wrong
        execute bit which don't need it.  clean-header-guards
        made those (welcome) permission fixes unintentionally.

        * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
        * bindings/v8/custom/V8HTMLImageElementConstructor.h:
        * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
        * dom/Touch.h:
        * dom/TouchList.h:
        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserScope.h:
        * html/HTML5DocumentParser.h:
        * html/LegacyHTMLTreeConstructor.h:
        * loader/CrossOriginPreflightResultCache.h:
        * page/OriginAccessEntry.h:
        * page/win/FrameWin.h:
        * platform/ThreadTimers.h:
        * platform/chromium/KeyboardCodes.h:
        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
        * platform/graphics/chromium/FontUtilsChromiumWin.h:
        * platform/graphics/filters/FEBlend.h:
        * platform/graphics/filters/FEColorMatrix.h:
        * platform/graphics/filters/FEComponentTransfer.h:
        * platform/graphics/filters/FEComposite.h:
        * platform/graphics/gstreamer/DataSourceGStreamer.h:
        * platform/graphics/gstreamer/VideoSinkGStreamer.h:
         - I checked, this crazy define was not referenced
           anywhere else.  It's safe to change the name. :)
        * platform/graphics/haiku/FontPlatformData.h:
        * platform/graphics/qt/FontCustomPlatformData.h:
        * platform/graphics/skia/SkiaFontWin.h:
        * platform/graphics/win/GraphicsLayerCACF.h:
        * platform/graphics/win/QTMovieWinTimer.h:
        * platform/graphics/win/RefCountedGDIHandle.h:
        * platform/graphics/win/WebLayer.h:
        * platform/graphics/win/WebTiledLayer.h:
        * platform/graphics/wince/FontPlatformData.h:
        * platform/graphics/wx/FontPlatformData.h:
        * platform/network/CredentialStorage.h:
        * platform/network/cf/FormDataStreamCFNet.h:
        * platform/network/curl/FormDataStreamCurl.h:
        * platform/network/qt/DnsPrefetchHelper.h:
        * platform/network/qt/QNetworkReplyHandler.h:
        * platform/win/PlatformScrollBar.h:
        * plugins/PluginDatabase.h:
        * plugins/PluginPackage.h:
        * plugins/PluginStream.h:
        * plugins/qt/PluginContainerQt.h:
        * plugins/symbian/npinterface.h:
        * rendering/RenderSelectionInfo.h:
        * rendering/SVGRenderSupport.h:
        * storage/IDBObjectStoreImpl.h:
        * svg/animation/SMILTimeContainer.h:
        * wml/WMLErrorHandling.h:

2010-06-22  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Rename HTMLDocumentParser to LegacyHTMLDocumentParser
        https://bugs.webkit.org/show_bug.cgi?id=41043

        As requested by Darin Adler.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::checkLoaded):
        * dom/Document.cpp:
        (WebCore::Document::write):
        * dom/DocumentFragment.cpp:
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::asHTMLDocumentParser):
        * dom/XMLDocumentParserLibxml2.cpp:
        * dom/XMLDocumentParserQt.cpp:
        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::columnNumber):
        * html/HTML5TreeBuilder.cpp:
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::createParser):
        * html/HTMLDocumentParser.cpp: Removed.
        * html/HTMLDocumentParser.h: Removed.
        * html/HTMLFormControlElement.cpp:
        * html/HTMLParserScheduler.cpp:
        (WebCore::parserChunkSize):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createParser):
        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
        * html/HTMLViewSourceDocument.h:
        * html/LegacyHTMLDocumentParser.cpp: Copied from WebCore/html/HTMLDocumentParser.cpp.
        (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
        (WebCore::LegacyHTMLDocumentParser::reset):
        (WebCore::LegacyHTMLDocumentParser::begin):
        (WebCore::LegacyHTMLDocumentParser::setForceSynchronous):
        (WebCore::LegacyHTMLDocumentParser::processListing):
        (WebCore::LegacyHTMLDocumentParser::parseNonHTMLText):
        (WebCore::LegacyHTMLDocumentParser::scriptHandler):
        (WebCore::LegacyHTMLDocumentParser::scriptExecution):
        (WebCore::LegacyHTMLDocumentParser::parseComment):
        (WebCore::LegacyHTMLDocumentParser::parseServer):
        (WebCore::LegacyHTMLDocumentParser::parseProcessingInstruction):
        (WebCore::LegacyHTMLDocumentParser::parseText):
        (WebCore::LegacyHTMLDocumentParser::parseEntity):
        (WebCore::LegacyHTMLDocumentParser::parseDoctype):
        (WebCore::LegacyHTMLDocumentParser::parseTag):
        (WebCore::LegacyHTMLDocumentParser::continueProcessing):
        (WebCore::LegacyHTMLDocumentParser::advance):
        (WebCore::LegacyHTMLDocumentParser::willWriteHTML):
        (WebCore::LegacyHTMLDocumentParser::didWriteHTML):
        (WebCore::LegacyHTMLDocumentParser::write):
        (WebCore::LegacyHTMLDocumentParser::stopParsing):
        (WebCore::LegacyHTMLDocumentParser::processingData):
        (WebCore::LegacyHTMLDocumentParser::timerFired):
        (WebCore::LegacyHTMLDocumentParser::end):
        (WebCore::LegacyHTMLDocumentParser::finish):
        (WebCore::LegacyHTMLDocumentParser::finishWasCalled):
        (WebCore::LegacyHTMLDocumentParser::processToken):
        (WebCore::LegacyHTMLDocumentParser::processDoctypeToken):
        (WebCore::LegacyHTMLDocumentParser::~LegacyHTMLDocumentParser):
        (WebCore::LegacyHTMLDocumentParser::enlargeBuffer):
        (WebCore::LegacyHTMLDocumentParser::enlargeScriptBuffer):
        (WebCore::LegacyHTMLDocumentParser::executeScriptsWaitingForStylesheets):
        (WebCore::LegacyHTMLDocumentParser::notifyFinished):
        (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsIfReady):
        (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsTimerFired):
        (WebCore::LegacyHTMLDocumentParser::continueExecutingExternalScripts):
        (WebCore::LegacyHTMLDocumentParser::isWaitingForScripts):
        (WebCore::LegacyHTMLDocumentParser::setSrc):
        (WebCore::parseLegacyHTMLDocumentFragment):
        * html/LegacyHTMLDocumentParser.h: Copied from WebCore/html/HTMLDocumentParser.h.
        (WebCore::LegacyHTMLDocumentParser::asHTMLDocumentParser):
        * html/LegacyHTMLTreeConstructor.cpp:
        (WebCore::LegacyHTMLTreeConstructor::reportErrorToConsole):
        * html/LegacyHTMLTreeConstructor.h:
        * loader/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
        (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
        (WebCore::FTPDirectoryDocumentParser::finish):
        * page/XSSAuditor.h:

2010-06-22  Shinichiro Hamaji  <hamaji@chromium.org>

        Unreviewed attempt to fix the windows build.

        Split out HTML5DocumentParser yield/resume logic into a separate class
        https://bugs.webkit.org/show_bug.cgi?id=41018

        * WebCore.vcproj/WebCore.vcproj:

2010-06-22  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Split out HTML5DocumentParser yield/resume logic into a separate class
        https://bugs.webkit.org/show_bug.cgi?id=41018

        The HTML5DocumentParser is just the coordinator, and shouldn't have
        any real parsing logic of his own.  Continuing along that path, I'm
        moving the when-to-yield/resume logic out into a separate class.

        I could have create a new HTMLParserSchedulerHost virtual interface
        to allow the HTMLParserScheduler to talk back to the
        HTML5DocumentParser, but instead I just exposed the one method it
        needs (resumeParsing()) as a public method.  Since no code besides
        HTMLDocument (and DocumentFrament) ever should know about the
        HTML5DocumentParser DocumentParser subclass, no class should ever
        see the resumeParsing() method anyway.

        Most of this change is just moving code from HTML5DocumentParser
        to the new HTMLParserScheduler.

        Some of this change is wrapping previous direct access to
        m_continueNextChunkTimer.isActive() with isScheduledForResume().

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
        (WebCore::HTML5DocumentParser::stopParsing):
        (WebCore::HTML5DocumentParser::processingData):
        (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
        (WebCore::HTML5DocumentParser::isScheduledForResume):
        (WebCore::HTML5DocumentParser::resumeParsing):
        (WebCore::HTML5DocumentParser::pumpLexer):
        (WebCore::HTML5DocumentParser::end):
        (WebCore::HTML5DocumentParser::attemptToEnd):
        (WebCore::HTML5DocumentParser::endIfDelayed):
        * html/HTML5DocumentParser.h:
        (WebCore::HTML5DocumentParser::document):
         - Exposed for HTMLParserScheduler.
        * html/HTMLParserScheduler.cpp: Added.
        (WebCore::parserTimeLimit): Moved from HTML5DocumentParser.
        (WebCore::parserChunkSize): ditto.
        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
        (WebCore::HTMLParserScheduler::~HTMLParserScheduler):
        (WebCore::isLayoutTimerActive):
        (WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
         - Moved from HTML5DocumentParser.
        * html/HTMLParserScheduler.h: Added.
        (WebCore::HTMLParserScheduler::PumpSession::PumpSession):
         - Moved from HTML5DocumentParser.
        (WebCore::HTMLParserScheduler::shouldContinueParsing):
        (WebCore::HTMLParserScheduler::isScheduledForResume):

2010-06-22  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: move nodeByPath from InjectedScript to InspectorBackend.

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

        * inspector/InjectedScriptHost.cpp:
        * inspector/InjectedScriptHost.h:
        * inspector/InjectedScriptHost.idl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::pushNodeByPathToFrontend):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
        (WebCore::InspectorDOMAgent::nodeForPath):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::didPushNodeByPathToFrontend):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/DOMAgent.js:
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.setDocument):
        * inspector/front-end/InjectedScript.js:
        * inspector/front-end/InjectedScriptAccess.js:

2010-06-22  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        REGRESSION: (r47291): Upload progress events are not fired for simple cross-site XHR.
        https://bugs.webkit.org/show_bug.cgi?id=39029

        Specifically, WebKit should fire upload events if one or more event listeners are
        registered on the XMLHttpRequestUpload object when send is called in an async manner.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::createRequest): Allow upload events to be fired when there are
        handlers for them in the cross-origin simple request case.

2010-06-22  Kent Tamura  <tkent@chromium.org>

        Reviewed by Adam Barth.

        Fix uninitialized SubframeLoader::m_containsPlugins
        https://bugs.webkit.org/show_bug.cgi?id=41035

        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::SubframeLoader):
         Initialize m_containsPlugins with false.

2010-06-22  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Adam Barth.

        Add BlobBuilder.idl to expose BlobBuilder interface
        https://bugs.webkit.org/show_bug.cgi?id=40593

        (Resubmitting with the correct file set.)

        BlobBuilder is defined in FileAPI's FileWriter spec.
        (http://dev.w3.org/2009/dap/file-system/file-writer.html)

        Also removes the ENABLE_FILE_WRITER ifdef guard for BlobBuilder.

        Tests: http/tests/local/blob/send-data-blob.html
               http/tests/local/blob/send-hybrid-blob.html
               http/tests/local/blob/send-sliced-data-blob.html

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/BlobBuilder.cpp:
        (WebCore::BlobBuilder::append):
        * html/BlobBuilder.h:
        * html/BlobBuilder.idl: Added.
        * page/DOMWindow.idl:

2010-06-22  Kent Tamura  <tkent@chromium.org>

        Unreviewed, build fix for r61648.

        * platform/graphics/GraphicsContext3D.h:

2010-06-22  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Kent Tamura.

        Define GraphicsContext3D::platformLayer() for all remaining (non PLATFORM(MAC))
        ports to get RenderLayerBacking.cpp compiling again.
        https://bugs.webkit.org/show_bug.cgi?id=41026

        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::platformLayer):

2010-06-22  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Rolling out http://trac.webkit.org/changeset/61638
        made a few tests crash.

        Make PendingScript hold a CachedResourceClient open for its lifetime
        https://bugs.webkit.org/show_bug.cgi?id=40968

        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::watchForLoad):
        (WebCore::HTML5DocumentParser::notifyFinished):
        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
        (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
        (WebCore::HTML5ScriptRunner::isPendingScriptReady):
        (WebCore::HTML5ScriptRunner::executePendingScript):
        (WebCore::HTML5ScriptRunner::hasScriptsWaitingForLoad):
        (WebCore::HTML5ScriptRunner::watchForLoad):
        (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
        (WebCore::HTML5ScriptRunner::requestScript):
        * html/HTML5ScriptRunner.h:
        (WebCore::HTML5ScriptRunner::PendingScript::):
        (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
        (WebCore::HTML5ScriptRunner::PendingScript::watchingForLoad):
        * html/HTML5ScriptRunnerHost.h:

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

        Reviewed by Darin Adler.

        Fix for Crash when the renderer for the button in <input type="number"> goes away during event handling
        https://bugs.webkit.org/show_bug.cgi?id=41013

        Test: fast/forms/input-number-crash.html

        * rendering/TextControlInnerElements.cpp: (WebCore::SpinButtonElement::defaultEventHandler):
        Nil check the RenderBox since its possible the renderer has gone away during event handling.

2010-06-22  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Pull script line number from DocumentParser instead of pushing it to ScriptController
        https://bugs.webkit.org/show_bug.cgi?id=40649

        This approach is cleaner and improves WebCore/benchmarks/parser/html-parser.html by ~2%.

        Tests: fast/js/script-line-number.html

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::eventHandlerLineNumber):
        * bindings/js/ScriptController.h:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::eventHandlerLineNumber):
        (WebCore::ScriptController::eventHandlerColumnNumber):
        * bindings/v8/ScriptController.h:
        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * bindings/v8/V8Proxy.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::startElementNs):
        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::pumpLexer):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::processToken):

2010-06-22  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Make PendingScript hold a CachedResourceClient open for its lifetime
        https://bugs.webkit.org/show_bug.cgi?id=40968

        This replaces the mechanism introduced in r61374 with a simpler
        approach from preventing unexpected purges; always keep a client open.
        This will approach will allow deferred scripts to add a client after
        the resource may have already been loaded without having to worry about
        the buffer being purged in the meantime.

        No new tests because making a CachedResource purge itself is not
        testable from a LayoutTest.

        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::watchForLoad):
        (WebCore::HTML5DocumentParser::notifyFinished):
        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
        (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
        (WebCore::HTML5ScriptRunner::isPendingScriptReady):
        (WebCore::HTML5ScriptRunner::executePendingScript):
        (WebCore::HTML5ScriptRunner::watchForLoad):
        (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
        (WebCore::HTML5ScriptRunner::requestScript):
        * html/HTML5ScriptRunner.h:
        (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
        (WebCore::HTML5ScriptRunner::PendingScript::~PendingScript):
        (WebCore::HTML5ScriptRunner::PendingScript::setCachedScript):
        (WebCore::HTML5ScriptRunner::PendingScript::cachedScript):
        (WebCore::HTML5ScriptRunner::PendingScript::notifyFinished):
        * html/HTML5ScriptRunnerHost.h:

2010-06-22  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fragment parsing needs to go through the HTML5 Parser code path
        https://bugs.webkit.org/show_bug.cgi?id=40645

        Added a new HTML5DocumentParser::parseHTMLDocumentFragment
        codepath which optionally calls through to the old fragment
        parsing path, now renamed parseLegacyHTMLDocumentFragment.

        * dom/Element.cpp:
        (WebCore::Element::createContextualFragment):
         - Use document()->createDocumentFragment() instead
           of DocumentFragment::create() to match other callers
           (and not depend on DocumentFragment.h).
         - Update call to parseHTMLDocumentFragment to use the new
           HTML5 parser codepath.
        * dom/MappedAttributeEntry.h:
         - Add a FIXME about this horrible enum placement.
           Sadly this will cause a world-rebuild for everyone.
        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
        (WebCore::HTML5DocumentParser::runScriptsForPausedTreeConstructor):
         - The main pumpLexer function has gotten to large.  Move the script
           running logic into this new function.
         - Handle the case where we have no m_scriptRunner (fragment case).
        (WebCore::HTML5DocumentParser::pumpLexer):
         - Use new runScriptsForPausedTreeConstructor().
        (WebCore::HTML5DocumentParser::executingScript):
        (WebCore::HTML5DocumentParser::inScriptExecution):
         - New function to handle the case where m_scriptRunner is null.
        (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
         - Use inScriptExecution() instead of m_scriptRunner->inScriptExecution().
        (WebCore::HTML5DocumentParser::executeScript): ditto.
        (WebCore::HTML5DocumentParser::notifyFinished): ditto.
        (WebCore::HTML5DocumentParser::executeScriptsWaitingForStylesheets): ditto.
        (WebCore::shouldUseLegacyParser):
         - Helper function to check the html5ParserEnabled() setting.
        (WebCore::HTML5DocumentParser::parseHTMLDocumentFragment):
         - Run HTML5DocumentParser in fragment mode, or optionally run
           the legacy parser if !html5ParserEnabled().
        * html/HTML5DocumentParser.h:
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
         - Implement the FragmentScriptingNotAllowed hack for platform/Pasteboard.
        * html/HTML5TreeBuilder.h:
        * html/HTMLDocumentParser.cpp:
        (WebCore::parseLegacyHTMLDocumentFragment):
         - Renamed from parseHTMLDocumentFragment
        * html/HTMLDocumentParser.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::insertAdjacentHTML):
         - Call HTML5DocumentParser::parseHTMLDocumentFragment.
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::documentFragment): ditto.
        * xml/XSLTProcessor.cpp:
        (WebCore::createFragmentFromSource): ditto.

2010-06-22  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=40643
        
        Final phase of moving ownership of WebGLLayer to GraphicsContext3D.
        As it turns out, I still have to have a separate CGLContextObj for
        rendering because Core Animation composites in a separate thread,
        so we need to disconnect WebGL rendering from CA compositing. But
        this change is still worthwhile because it reduces dependencies
        and makes it easier to port WebGL to other platforms.
        
        No new tests since this is just restructuring and the current tests
        are all still valid and do a sufficient test of WebGL functionality.

        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::platformLayer):
        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::setContentsToWebGL):
        (WebCore::GraphicsLayer::setWebGLNeedsDisplay):
        * platform/graphics/mac/GraphicsContext3DMac.mm: Add creation of WebGLLayer
        (WebCore::GraphicsContext3D::GraphicsContext3D):
        * platform/graphics/mac/GraphicsLayerCA.h:
        (WebCore::GraphicsLayerCA::):
        * platform/graphics/mac/GraphicsLayerCA.mm: Handle setting of WebGLLayer as content the same as for MediaLayer. Also changed WebGL related names for clarity
        (WebCore::GraphicsLayerCA::GraphicsLayerCA):
        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
        (WebCore::GraphicsLayerCA::updateContentsWebGLLayer):
        (WebCore::GraphicsLayerCA::setContentsToWebGL):
        (WebCore::GraphicsLayerCA::setWebGLNeedsDisplay):
        * platform/graphics/mac/WebGLLayer.h:
        * platform/graphics/mac/WebGLLayer.mm: Got rid of storage for context and texture, now just store GraphicsContext3D and get them from there when needed
        (-[WebGLLayer copyCGLPixelFormatForDisplayMask:]):
        (-[WebGLLayer copyCGLContextForPixelFormat:]):
        (-[WebGLLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
        (-[WebGLLayer copyImageSnapshotWithColorSpace:]):
        * rendering/RenderLayerBacking.cpp: Changed init of WebGL contentsLayer to pass WebGLLayer rather than GraphicsContext3D
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
        (WebCore::RenderLayerBacking::rendererContentChanged):

2010-06-22  Darin Adler  <darin@apple.com>

        Reviewed by Dave Hyatt.

        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::parseMappedAttribute): Removed incorrect FIXME comments.

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

        Reviewed by Anders Carlsson.

        <rdar://problem/8119403> REGRESSION (r61548): PLT is almost 1.5% slower, Google page cycler slower
        https://bugs.webkit.org/show_bug.cgi?id=41012

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Removed a redundant statement that was
        left over in the original patch and resulted in double the calls to RenderText::width() here.
        (WebCore::RenderBlock::findNextLineBreak): Changed the order of evaluating conditions for a
        potential speedup.

2010-06-22  Darin Adler  <darin@apple.com>

        Reviewed by Alexey Proskuryakov.

        Alexey asked me to take out the autorelease pools because he believes
        that there is no code that should be running using Objective-C
        autorelease. Most likely, the code that is triggering these stderr
        messages is incorrect, and that bug should be fixed instead.

        * workers/WorkerRunLoop.cpp:
        (WebCore::WorkerRunLoop::run): Roll out use of AutodrainedPool.

2010-06-22  Darin Adler  <darin@apple.com>

        Reviewed by Brady Eidson.

        Fix autorelease problem seen when running worker regression tests.
        We were seeing logs to stderr saying autorelease was used without
        an autorelease pool being set up.

        * workers/WorkerRunLoop.cpp:
        (WebCore::WorkerRunLoop::run): Use an AutodrainedPool as the file
        thread, icon database, and database thread do. No effect on platforms
        other than Mac.

2010-06-22  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: If an element that is a continuation is removed, its parent tree is not notified appropriately that their children have changed
        https://bugs.webkit.org/show_bug.cgi?id=41000

        Test: accessibility/removed-continuation-element-causes-crash.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::updateChildrenIfNecessary):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::childrenChanged):
        (WebCore::AccessibilityRenderObject::addChildren):
        * accessibility/AccessibilityRenderObject.h:

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

        Reviewed by Adam Barth.

        Override setFailed() in each image decoder to clean up any temporary
        objects.
        https://bugs.webkit.org/show_bug.cgi?id=35411
        
        In a few cases, we need to be careful to avoid deleting objects until
        after they're no longer needed.  These cases usually mean some jumping
        through hoops, to the detriment of code simplicity.

        No layout tests because this does not change the visible output of
        decoding in any way.

        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageDecoder::setData):
        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::setFailed):
        (WebCore::BMPImageDecoder::decode):
        * platform/image-decoders/bmp/BMPImageDecoder.h:
        * platform/image-decoders/bmp/BMPImageReader.cpp:
        (WebCore::BMPImageReader::decodeBMP):
        (WebCore::BMPImageReader::readInfoHeaderSize):
        (WebCore::BMPImageReader::processInfoHeader):
        (WebCore::BMPImageReader::readInfoHeader):
        (WebCore::BMPImageReader::processBitmasks):
        (WebCore::BMPImageReader::processColorTable):
        (WebCore::BMPImageReader::processRLEData):
        (WebCore::BMPImageReader::processNonRLEData):
        * platform/image-decoders/bmp/BMPImageReader.h:
        (WebCore::BMPImageReader::):
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::setFailed):
        (WebCore::GIFImageDecoder::decode):
        * platform/image-decoders/gif/GIFImageDecoder.h:
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::setFailed):
        (WebCore::ICOImageDecoder::decode):
        * platform/image-decoders/ico/ICOImageDecoder.h:
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageReader::decode):
        (WebCore::JPEGImageDecoder::setFailed):
        (WebCore::JPEGImageDecoder::decode):
        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageReader::decode):
        (WebCore::PNGImageDecoder::PNGImageDecoder):
        (WebCore::PNGImageDecoder::setFailed):
        (WebCore::PNGImageDecoder::headerAvailable):
        (WebCore::PNGImageDecoder::decode):
        * platform/image-decoders/png/PNGImageDecoder.h:

2010-06-04  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Remove side effects of form submission and prepare FormDataBuilder for splitting up.
        https://bugs.webkit.org/show_bug.cgi?id=40184

        Refactoring, covered by existing tests.

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::prepareFormSubmission):
            * Changed to use new accessors on FormDataBuilder;
            * Simplified the logic around action URL;
            * Removed form submission side effect of element's enctype property being updated when
                submitting a mailto form;
            * Removed unnecessary updating of action URL for mailto forms.
        (WebCore::HTMLFormElement::submit): Moved action URL check into prepareFormSubmission.
        (WebCore::HTMLFormElement::parseMappedAttribute): Updated to use new methods on FormDataBuilder.
        * html/HTMLFormElement.h: Removed decls for isMailtoForm and dataEncoding methods;
            moved m_target and m_url to FormDataBuilder.
        * platform/network/FormData.cpp:
        (WebCore::FormData::appendDOMFormData): Removed unnecessary instantiation of FormDataBuilder.
        * platform/network/FormDataBuilder.cpp:
        (WebCore::FormDataBuilder::parseAction): Moved from HTMLFormControl.
        * platform/network/FormDataBuilder.h:
        (WebCore::FormDataBuilder::action): Ditto.
        (WebCore::FormDataBuilder::target): Ditto.
        (WebCore::FormDataBuilder::setTarget): Ditto.

2010-06-22  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Fix WebSocketHandshakeRequest so that it fits the new handshake protocol.

        The new WebSocket specification (draft 76 and later) allows a browser to
        send header fields in arbitrary order. Thus we can use a HTTPHeaderMap to
        store header fields instead of Vector of pairs of a field name and
        a field value.

        This patch also does refactoring of WebSocketHandshakeRequest class
        to make it simpler and easier to use.

        Fix WebSocketHandshakeRequest so that it fits the new handshake protocol
        https://bugs.webkit.org/show_bug.cgi?id=39864

        No new tests, because there is no functional change.

        * websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::clientHandshakeRequest):
        * websockets/WebSocketHandshakeRequest.cpp:
        (WebCore::WebSocketHandshakeRequest::Key3::Key3):
        (WebCore::WebSocketHandshakeRequest::Key3::set):
        (WebCore::WebSocketHandshakeRequest::WebSocketHandshakeRequest):
        (WebCore::WebSocketHandshakeRequest::requestMethod):
        (WebCore::WebSocketHandshakeRequest::url):
        (WebCore::WebSocketHandshakeRequest::addHeaderField):
        (WebCore::WebSocketHandshakeRequest::headerFields):
        (WebCore::WebSocketHandshakeRequest::key3):
        (WebCore::WebSocketHandshakeRequest::setKey3):
        * websockets/WebSocketHandshakeRequest.h:

2010-06-20  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        <meter> should be yellow when  min < value < low < optimum
        https://bugs.webkit.org/show_bug.cgi?id=40824
        
        Fixed a wrong conditional on HTMLMeterElement::gaugeRegion().
        
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::gaugeRegion):

        Tests: fast/dom/HTMLMeterElement/meter-appearances-capacity.html
               fast/dom/HTMLMeterElement/meter-optimums.html

2010-06-22  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Follow the HTML5 spec more closely w.r.t. when to save the insertion point
        https://bugs.webkit.org/show_bug.cgi?id=40976

        The spec always increments the nesting level and saves the insertion
        point at the same time.  In this patch, we now do those operations
        packaged as a RAII.

        As a side effect, the test case below no longer ASSERTs.  (The output
        is wrong, but we'll get to that next.)

        Test: fast/tokenizer/write-on-load.html

        * html/HTML5ScriptRunner.cpp:
        (WebCore::NestScript::NestScript):
        (WebCore::NestScript::~NestScript):
        (WebCore::HTML5ScriptRunner::executePendingScript):
        (WebCore::HTML5ScriptRunner::executeScript):
        (WebCore::HTML5ScriptRunner::requestScript):
        (WebCore::HTML5ScriptRunner::runScript):
        * html/HTMLInputStream.h:

2010-06-22  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Expose HTMLInputStream to ScriptRunner so that ScriptRunner can save the insertion point itself
        https://bugs.webkit.org/show_bug.cgi?id=40975

        This saves us having to call back into the HTML5DocumentParser each
        time we need to save the insertion point.  This prepares us for another
        place we need to save the insertion point.

        * html/HTML5DocumentParser.cpp:
        * html/HTML5DocumentParser.h:
        (WebCore::HTML5DocumentParser::inputStream):
        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::executeScript):
        (WebCore::HTML5ScriptRunner::requestScript):
        * html/HTML5ScriptRunnerHost.h:

2010-06-22  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Move HTMLInputStream to its own file
        https://bugs.webkit.org/show_bug.cgi?id=40974

        No new tests, just code motion.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTML5DocumentParser.h:

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

        Reviewed by Eric Seidel.

        Save the insertion point before beforeload events
        https://bugs.webkit.org/show_bug.cgi?id=40973

        We need to save the insertion point before dispatching the beforeload
        event in case someone decides to document.write during beforeload.
        Prior to this patch, such writes would pump the lexer too much and
        tokenize the rest of the document before executing the script.

        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::dispatchBeforeLoad):
        * html/HTML5DocumentParser.h:
        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::requestScript):
        * html/HTML5ScriptRunnerHost.h:

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

        Reviewed by Eric Seidel.

        document.write from BeforeLoad should not assert
        https://bugs.webkit.org/show_bug.cgi?id=40971

        We're setting the parse blocking script too early.  It's not actually
        blocking parsing yet.

        Test: fast/tokenizer/write-before-load.html

        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::requestScript):

2010-06-21  Chris Fleizach  <cfleizach@apple.com>

        No review. QT build fix again.

        AX: VoiceOver does not announce WAI-ARIA state change of aria-expanded
        https://bugs.webkit.org/show_bug.cgi?id=40927

        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::postNotification):

2010-06-21  Chris Fleizach  <cfleizach@apple.com>

        No review. QT build fix.

        AX: VoiceOver does not announce WAI-ARIA state change of aria-expanded
        https://bugs.webkit.org/show_bug.cgi?id=40927

        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::postNotification):

2010-06-21  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: VoiceOver does not announce WAI-ARIA state change of aria-expanded
        https://bugs.webkit.org/show_bug.cgi?id=40927

        Test: platform/mac/accessibility/aria-expanded-notifications.html

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::handleAriaExpandedChange):
        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::handleAriaExpandedChange):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::handleAriaExpandedChanged):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::handleAriaExpandedChanged):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::postPlatformNotification):
        * dom/Element.cpp:
        (WebCore::Element::updateAfterAttributeChanged):

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

        Unreviewed, rolling out r61585.
        http://trac.webkit.org/changeset/61585
        https://bugs.webkit.org/show_bug.cgi?id=40950

        It broke builds (Requested by kinuko on #webkit).

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/BlobBuilder.cpp:
        (WebCore::BlobBuilder::appendString):
        (WebCore::BlobBuilder::appendBlob):
        * html/BlobBuilder.h:
        * page/DOMWindow.idl:

2010-06-21  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Adam Barth.

        Add BlobBuilder.idl to expose BlobBuilder interface
        https://bugs.webkit.org/show_bug.cgi?id=40593

        BlobBuilder is defined in FileAPI's FileWriter spec.
        (http://dev.w3.org/2009/dap/file-system/file-writer.html)

        Also removes the ENABLE_FILE_WRITER ifdef guard for BlobBuilder.

        Tests: http/tests/local/blob/send-data-blob.html
               http/tests/local/blob/send-hybrid-blob.html
               http/tests/local/blob/send-sliced-data-blob.html

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/BlobBuilder.cpp:
        (WebCore::BlobBuilder::append):
        * html/BlobBuilder.h:
        * html/BlobBuilder.idl: Added.
        * page/DOMWindow.idl:

2010-06-21  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        FrameLoader cleanup: Split high level subframe and plugin
        loading functions into a separate class.
        https://bugs.webkit.org/show_bug.cgi?id=40453

        Refactor only, no new tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.base.exp:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMImplementation.cpp:
        * history/PageCache.cpp:
        * html/HTMLFrameElementBase.cpp:
        * html/HTMLMediaElement.cpp:
        * loader/FrameLoader.cpp:
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::subframeLoader):
        * loader/PluginDocument.cpp:
        * loader/SubframeLoader.cpp: Added.
        (WebCore::SubframeLoader::SubframeLoader):
        (WebCore::toPlugInElement):
        (WebCore::SubframeLoader::clear):
        (WebCore::SubframeLoader::requestFrame):
        (WebCore::SubframeLoader::requestObject):
        (WebCore::FrameLoader::loadMediaPlayerProxyPlugin):
        (WebCore::SubframeLoader::createJavaAppletWidget):
        (WebCore::SubframeLoader::loadSubframe):
        (WebCore::SubframeLoader::allowPlugins):
        (WebCore::SubframeLoader::shouldUsePlugin):
        (WebCore::SubframeLoader::loadPlugin):
        (WebCore::SubframeLoader::completeURL):
        * loader/SubframeLoader.h: Added.
        (WebCore::SubframeLoader::containsPlugins):
        * page/Page.cpp:
        * page/XSSAuditor.h:
        * platform/graphics/wince/MediaPlayerProxy.cpp:
        * plugins/MimeType.cpp:
        * rendering/RenderApplet.cpp:
        * rendering/RenderEmbeddedObject.cpp:

2010-06-21  Nate Chapin  <japhet@chromium.org>

        Unreviewed, build fix.

        Bad merge, left a reference to m_committedFirstRealDocumentLoad in
        http://trac.webkit.org/changeset/61568.

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

2010-06-21  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Remove a couple of FrameLoader's unused boolean members
        (m_receivedData, m_cancellingWithLoadInProcess) and merge
        several more into a single state machine called FrameLoaderStateMachine
        (m_firstLayoutDone, m_creatingInitialEmptyDocument,
        m_isDisplayingInitialEmptyDocument, m_committedFirstRealDocumentLoad).

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

        Refactor only, so no new tests.

        * WebCore.base.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::createDocument):
        (WebCore::DocumentWriter::begin):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::init):
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::didOpenURL):
        (WebCore::FrameLoader::didExplicitOpen):
        (WebCore::FrameLoader::clear):
        (WebCore::FrameLoader::didBeginDocument):
        (WebCore::FrameLoader::finishedParsing):
        (WebCore::FrameLoader::provisionalLoadStarted):
        (WebCore::FrameLoader::logCanCachePageDecision):
        (WebCore::FrameLoader::logCanCacheFrameDecision):
        (WebCore::FrameLoader::frameHasLoaded):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::finishedLoadingDocument):
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
        (WebCore::FrameLoader::didFirstLayout):
        (WebCore::FrameLoader::frameLoadCompleted):
        (WebCore::FrameLoader::dispatchDidCommitLoad):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::stateMachine):
        * loader/FrameLoaderStateMachine.cpp: Added.
        * loader/FrameLoaderStateMachine.h: Added.
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::restoreScrollPositionAndViewState):
        (WebCore::HistoryController::saveDocumentState):
        * loader/ProgressTracker.cpp:
        (WebCore::ProgressTracker::incrementProgress):
        * loader/RedirectScheduler.cpp:
        (WebCore::RedirectScheduler::scheduleLocationChange):
        (WebCore::RedirectScheduler::scheduleFormSubmission):

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

        [wx] Build fix. Fix header includes for ENABLE(DATABASE)

        * bindings/js/JSExceptionBase.cpp:

2010-06-21  Anders Carlsson  <andersca@apple.com>

        Fix clang++ build.

        * loader/FormSubmission.h:

2010-06-21  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        Add a missing include in AsyncImageResizer.h

        * html/AsyncImageResizer.h: Added the IntSize include.

2010-06-21  Adam Roben  <aroben@apple.com>

        Call NotifyAddrChange again each time we are notified of a change

        NotifyAddrChange only notifies you of a single change. If you want to
        listen for subsequent changes, you have to call it again.

        Fixes <http://webkit.org/b/33004> NetworkStateNotifier ignores all
        state changes after the first.

        No test possible, as we don't have a way to modify the system's
        network adapters when running tests.

        Reviewed by Anders Carlsson.

        * platform/network/win/NetworkStateNotifierWin.cpp:
        (WebCore::NetworkStateNotifier::addrChangeCallback): Call
        registerForAddressChange as soon as we're notified of an address
        change, so we'll also get notified of the *next* address change. I
        added the call here instead of in addressChanged (which is called
        later on the main thread) to minimize the time between the callback
        and registering again (so that we won't miss changes that happen in
        rapid succession).

2010-06-21  Dan Bernstein  <mitz@apple.com>

        Release build fix

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::tryHyphenating):

2010-06-21  Dan Bernstein  <mitz@apple.com>

        Windows build fix

        * WebCore.vcproj/WebCore.vcproj: Fixed a typo.

2010-06-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        CSS3: Implement the 'hyphens' and 'hyphenate-character' properties
        https://bugs.webkit.org/show_bug.cgi?id=10228

        Tests: fast/text/hyphenate-character.html
               fast/text/hyphens.html

        Added -webkit-hyphens and -webkit-hyphenate-character as specified in
        <http://www.w3.org/TR/2010/WD-css3-gcpm-20100608/#hyphenation>.

        * Android.mk: Added Hyphenation.cpp.
        * CMakeLists.txt: Ditto.
        * GNUmakefile.am: Added Hyphenation.{cpp,h}.
        * WebCore.base.exp: Exported wkGetHyphenationLocationBeforeIndex().
        * WebCore.gypi: Added Hyphenation.{cpp,h}.
        * WebCore.pro: Added Hyphenation.{cpp,h}.
        * WebCore.vcproj/WebCore.vcproj: Added Hyphenation.{cpp,h}.
        * WebCore.xcodeproj/project.pbxproj: Added Hyphenation.{cpp,h}.
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added the -webkit-hyphenate-character
        and -webkit-hyphens cases.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Validate values for the new properties.
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added. Maps from a Hyphens value to an identifier.
        (WebCore::CSSPrimitiveValue::operator Hyphens): Added. Maps from an identifier to a Hyphens value.
        * css/CSSPropertyNames.in: Added -webkit-hyphenate-character and -webkit-hyphens.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Apply the new properties to the RenderStyle.
        * css/CSSValueKeywords.in:
        * platform/mac/WebCoreSystemInterface.h: Added wkGetHyphenationLocationBeforeIndex.
        * platform/mac/WebCoreSystemInterface.mm: Ditto.
        * platform/text/CharacterNames.h: Added the hyphen character.
        * platform/text/Hyphenation.cpp: Added.
        (WebCore::lastHyphenLocation): Added this default implementation for platforms that do not implement
        hyphenation yet. It calls notImplemented() and returns 0.
        * platform/text/Hyphenation.h: Added.
        * platform/text/cf/HyphenationCF.cpp: Added.
        (WebCore::lastHyphenLocation): Returns the last hyphenation location occurring in the given string before
        the given index. Uses the current search locale (which is based on the top language preference of the user)
        for hyphenation.
        * platform/text/mac/HyphenationMac.mm: Added.
        (WebCore::lastHyphenLocation): Returns the last hyphenation location occurring in the given string before
        the given index. Returns 0 if the current search locale is not "en", because the platform only knows how to
        hyphenate English.
        * rendering/BidiRun.h:
        (WebCore::BidiRun::BidiRun): Added a boolean member, m_hasHyphen, and initialized it to false in the constructor.
        * rendering/InlineBox.h:
        (WebCore::InlineBox::InlineBox): Renamed m_hasEllipsisBox to m_hasEllipsisBoxOrHyphen, because this bit is now
        shared by two subclass: RootInlineBox uses it for hasEllipsisBox(), while InlineTextBox uses it for hasHyphen().
        * rendering/InlineTextBox.cpp:
        (WebCore::adjustCharactersAndLengthForHyphen): Added this helper function to get the hyphen string from the style
        and return a UChar* and length for the concatenation of the given text with the hyphen string.
        (WebCore::InlineTextBox::selectionRect): If the selected range touches the end and the box has a hyphen,
        compute the width of the text with the hyphen string concatenated to it.
        (WebCore::InlineTextBox::paint): If the box has a hyphen, draw the text with the hyphen string concatenated to it.
        (WebCore::InlineTextBox::paintSelection): Similarly concatenate the hyphen string.
        * rendering/InlineTextBox.h:
        (WebCore::InlineTextBox::hasHyphen): Added this accessor.
        (WebCore::InlineTextBox::setHasHyphen): Ditto.
        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::constructLine): Copy the m_hasHyphen flag from the run to its text box.
        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Add the width of the hyphen string when computing the
        width of a box that has a hyphen.
        (WebCore::RenderBlock::layoutInlineChildren): If the line was hyphenated, set the m_hasHyphen flag on the
        logically last run.
        (WebCore::tryHyphenating): Added this helper function which checks if a piece of text that does not fit on the
        line could be hyphenated such that the part before the hyphen, including the hyphen, would fit. Given the amount
        of space remaining on the line, it finds the longest prefix that can fit in the remaining space (which leaving room for
        the hyphen), and then checks for a hyphenation location within that prefix.
        (WebCore::RenderBlock::findNextLineBreak): In the 'hyphens: none' case, prevent line breaks at soft hyphens.
        In the 'hyphens: auto' case, try hyphenating when a word will not fit in the remaining space on the line.
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::detachEllipsisBox): Changed to use hasEllipsisBox() and setHasEllipsisBox().
        (WebCore::RootInlineBox::clearTruncation): Ditto.
        (WebCore::RootInlineBox::placeEllipsis): Ditto.
        (WebCore::RootInlineBox::paintEllipsisBox): Ditto.
        (WebCore::RootInlineBox::nodeAtPoint): Ditto.
        (WebCore::RootInlineBox::ellipsisBox): Ditto.
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::hasEllipsisBox): Added this accessor.
        (WebCore::RootInlineBox::setHasEllipsisBox): Ditto.
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff): Return a layout hint if the hyphens setting or hyphenate-character differs.
        (WebCore::RenderStyle::hyphenString): Added. For hyphenate-character: auto, returns the hyphen character.
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::hyphens): Added this accessor.
        (WebCore::InheritedFlags::hyphenateCharacter): Ditto.
        (WebCore::InheritedFlags::setHyphens): Ditto.
        (WebCore::InheritedFlags::setHyphenateCharacter): Ditto.
        (WebCore::InheritedFlags::initialHyphens): Added. Returns HyphensManual.
        (WebCore::InheritedFlags::initialHyphenateCharacter): Added. Returns the null string, corresponding to
        a value of 'auto'.
        * rendering/style/RenderStyleConstants.h:
        Added a Hyphens enum.
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize and copy the new members.
        (WebCore::StyleRareInheritedData::operator==): Compare the new members.
        * rendering/style/StyleRareInheritedData.h: Added two new members: hyphens and hyphenateCharacter.

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

        Reviewed by Darin Adler.

        Plumb FormSubmission through to ScheduledFormSubmission.
        https://bugs.webkit.org/show_bug.cgi?id=40137

        No behavior change, covered by existing tests.

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::prepareFormSubmission): Moved creation of action URL
            instance here from FrameLoader::submit, because it makes more sense here,
            also added a FIXME to investigate existing code later.
        * loader/FormSubmission.cpp:
        (WebCore::FormSubmission::FormSubmission): Changed action to be a KURL, not a String.
        (WebCore::FormSubmission::create): Ditto.
        (WebCore::FormSubmission::populateFrameLoadRequest): Added, moving the logic from
            FrameLoader::submit closer to the data.
        * loader/FormSubmission.h:
        (WebCore::FormSubmission::action): Changed type to KURL.
        (WebCore::FormSubmission::clearTarget): Added.
        (WebCore::FormSubmission::referrer): Added.
        (WebCore::FormSubmission::setReferrer): Added.
        (WebCore::FormSubmission::origin): Added.
        (WebCore::FormSubmission::setOrigin): Added.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::submitForm): Cleaned up to make it more about decision-making,
            not data manipulation.
        * loader/RedirectScheduler.cpp:
        (WebCore::ScheduledFormSubmission::ScheduledFormSubmission): Changed to accept FormSubmission as argument.
        (WebCore::ScheduledFormSubmission::fire): Changed to use FormSubmission.
        (WebCore::RedirectScheduler::scheduleFormSubmission): Removed assert that no longer makes sense,
            changed to use FormSubmission.
        * loader/RedirectScheduler.h: Updated ScheduledFormSubmission decl to hold FormSubmission ref.

2010-06-21  Satish Sampath  <satish@chromium.org>

        Reviewed by Steve Block.

        Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
        https://bugs.webkit.org/show_bug.cgi?id=40878

        No new tests are needed, because there is no new functionality.

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * WebCore.pri:

2010-06-21  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        Delete DOM storage databases when they are empty.
        https://bugs.webkit.org/show_bug.cgi?id=40767

        Even if a page clears its local storage, the database file for it stays around,
        and there is currently no mechanism that deletes them.

        After doing the "final sync" of a storage area, the StorageAreaSyncMaster should
        see if the database is empty, and in that case delete it.

        Tests:
         manual-tests/localstorage-empty-database.html

        * manual-tests/localstorage-empty-database.html:
        Added link to clear local storage for testing that the file is removed.
        * storage/LocalStorageTask.cpp:
        (WebCore::LocalStorageTask::LocalStorageTask):
        Added local storage task type DeleteEmptyDatabase.
        (WebCore::LocalStorageTask::performTask):
        Ditto.
        * storage/LocalStorageTask.h:
        (WebCore::LocalStorageTask::):
        Ditto.
        (WebCore::LocalStorageTask::createDeleteEmptyDatabase):
        Ditto.
        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::scheduleFinalSync):
        When scheduling final sync, also schedule DeleteEmptyDatabase.
        (WebCore::StorageAreaSync::sync):
        Return early if final sync has nothing to sync.
        (WebCore::StorageAreaSync::deleteEmptyDatabase):
        Added function to check if a database is empty and in that case delete it.
        * storage/StorageAreaSync.h:
        Ditto.
        * storage/StorageSyncManager.cpp:
        (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
        Added function for scheduling DeleteEmptyDatabase task.
        * storage/StorageSyncManager.h:
        Ditto.

2010-06-21  Balazs Kelemen  <kb@inf.u-szeged.hu>

        Reviewed by Simon Hausmann.

        [Qt] Avoid unnecessary image conversion in RGBA32Buffer::zeroFill()
        https://bugs.webkit.org/show_bug.cgi?id=40910

        * platform/image-decoders/qt/RGBA32BufferQt.cpp:
        (WebCore::RGBA32Buffer::zeroFill):

2010-06-21  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Decode images directly to QPixmap
        https://bugs.webkit.org/show_bug.cgi?id=40797

        Decode images to QPixmap directly instead of QImage when possible.
        RGBA32Buffer transforms the pixmap back to image if
        necessary.

        This improve the performance with certain graphic system, and
        can reduce memory usage.

        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::setData):
        (WebCore::ImageDecoderQt::internalHandleCurrentImage):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::RGBA32Buffer::getAddr):
        * platform/image-decoders/qt/RGBA32BufferQt.cpp:
        (WebCore::RGBA32Buffer::clear):
        (WebCore::RGBA32Buffer::zeroFill):
        (WebCore::RGBA32Buffer::copyBitmapData):
        (WebCore::RGBA32Buffer::setSize):
        (WebCore::RGBA32Buffer::asNewNativeImage):
        (WebCore::RGBA32Buffer::setPixmap):

2010-06-20  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Adding the SQLException class which will be used to report sync DB errors.
        https://bugs.webkit.org/show_bug.cgi?id=40607

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::setDOMException):
        * bindings/js/JSExceptionBase.cpp:
        (WebCore::toExceptionBase):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setDOMException):
        * bindings/v8/V8Proxy.h:
        * dom/ExceptionCode.cpp:
        (WebCore::):
        (WebCore::getExceptionCodeDescription):
        * dom/ExceptionCode.h:
        (WebCore::):
        * page/DOMWindow.idl:
        * storage/SQLException.h: Added.
        (WebCore::SQLException::create):
        (WebCore::SQLException::):
        (WebCore::SQLException::SQLException):
        * storage/SQLException.idl: Added.

2010-06-20  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: don't add ScriptDebugServer as v8 listener if browser exposes
        v8 debugging protocol.
        https://bugs.webkit.org/show_bug.cgi?id=40844

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::ScriptDebugServer):
        (WebCore::ScriptDebugServer::addListener):
        (WebCore::ScriptDebugServer::setEnabled):
        (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
        * bindings/v8/ScriptDebugServer.h:

2010-06-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed build fix.

        [EFL] Build break for r61527
        https://bugs.webkit.org/post_bug.cgi 

        * CMakeLists.txt: Add loader/FormSubmission.cpp

2010-06-20  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Remove bogus const qualifiers.

        * platform/mac/PasteboardHelper.h:

2010-06-20  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kent Tamura.

        Buildfix for NotificationCenter.h.
        https://bugs.webkit.org/show_bug.cgi?id=40890

        ScriptExecutionContext::completeURL is used in header,
        but ScriptExecutionContext.h wasn't included.

        * notifications/NotificationCenter.h:

2010-06-20  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Recognize async attribute on HTML script tags.
        https://bugs.webkit.org/show_bug.cgi?id=39026

        This does not implement async behavior, it only parses the async
        attribute for HTML script tags. SVG script tags continue to not
        support the async attribute.

        Tests: fast/dom/HTMLScriptElement/script-async-attr.html
               svg/dom/SVGScriptElement/script-async-attr.svg

        * dom/ScriptElement.cpp:
        (WebCore::ScriptElementData::isAsynchronous):
        (WebCore::ScriptElementData::isDeferred):
        * dom/ScriptElement.h:
        * html/HTMLAttributeNames.in:
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::async):
        (WebCore::HTMLScriptElement::setAsync):
        (WebCore::HTMLScriptElement::defer):
        (WebCore::HTMLScriptElement::asyncAttributeValue):
        (WebCore::HTMLScriptElement::deferAttributeValue):
        * html/HTMLScriptElement.h:
        * html/HTMLScriptElement.idl:
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::asyncAttributeValue):
        (WebCore::SVGScriptElement::deferAttributeValue):
        * svg/SVGScriptElement.h:

2010-06-20  Nikita Vasilyev  <me@elv1s.ru>

        Reviewed by Joseph Pecoraro.

        Web Inspector: Auto-completion for CSS property names in Styles pane
        https://bugs.webkit.org/show_bug.cgi?id=17374

        Added autocompletion for CSS properties. A suggestion for a property
        shows when you type. You can also cycle through known property names
        using the Up and Down arrow keys.

        * WebCore.gypi:
        * inspector/front-end/CSSCompletions.js: Added.
        (WebInspector.CSSCompletions):
        (WebInspector.CSSCompletions.startsWith):
        (WebInspector.CSSCompletions.firstStartsWith):
        (WebInspector.CSSCompletions._firstIndexOfPrefix):
        (WebInspector.CSSCompletions.next):
        (WebInspector.CSSCompletions.previous):
        (WebInspector.CSSCompletions._closest):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/utilities.js:
        (Text.prototype.select):
        ():

2010-06-14  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Introduce FormSubmission, the structure representing a form submission.
        https://bugs.webkit.org/show_bug.cgi?id=40084

        No change in functionality, covered by existing tests.

        * GNUmakefile.am: Added FormSubmission.h/cpp.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::prepareFormSubmission): Renamed prepareFormData to prepareFormSubmission,
            added code for populating a FormSubmission instance, moved the loop of accumulating text input
            values into this functions (it belongs here logically).
        (WebCore::HTMLFormElement::submit): Modified to use prepareFormSubmission.
        * html/HTMLFormElement.h:
        * loader/FormSubmission.cpp: Added.
        * loader/FormSubmission.h: Added.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::submitForm): Modified to use FormSubmission. Stopped plumbing further to keep
            the patch size down.
        * loader/FrameLoader.h: Modified submitForm signature.

2010-06-20  Joseph Pecoraro  <joepeck@webkit.org>

        Unreviewed rollout r61506, because it made 1 test crash.

        Causes crash. Will approach the solution in a different way.

2010-06-20  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Should Autocomplete Style Properties
        https://bugs.webkit.org/show_bug.cgi?id=38448

        This Autocompletes style properties when in the console.

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

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

        Reviewed by Simon Hausmann.

        [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved

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

        setNPWindowIfNeeded() is called on paint() in PluginViewQt, which doesn't
        work for DRT. So call it if we are in DRT mode and the window geometry
        has changed.

        Unskips plugins/reentrant-update-widget-positions.html

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

2010-06-19  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Persist V8's ScriptData to the memory cache.
        https://bugs.webkit.org/show_bug.cgi?id=38661

        This stores V8's ScriptData in the memory cache and also causes the
        network platform layer to be notified of the available cacheable
        metadata.

        Chromium's morejs benchmark showed a ~7% improvement when this was
        originally submitted (before it had to be rolled back).

        Test: fast/js/parser-high-byte-character.html

        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        (WebCore::ScriptSourceCode::cachedScript):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::precompileScript):
        (WebCore::V8Proxy::evaluate):
        * bindings/v8/V8Proxy.h:

2010-06-19  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Port SocketStream
        https://bugs.webkit.org/show_bug.cgi?id=39671

        Port SocketStream with BREW MP's ISocket interface.

        * platform/network/brew/SocketStreamError.h: Added.
        (WebCore::SocketStreamError::SocketStreamError):
        * platform/network/brew/SocketStreamHandle.h: Added.
        (WebCore::SocketStreamHandle::create):
        * platform/network/brew/SocketStreamHandleBrew.cpp: Added.
        (WebCore::socketStreamConnectCallback):
        (WebCore::getHostByNameCallback):
        (WebCore::socketReadableCallback):
        (WebCore::networkManager):
        (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
        (WebCore::SocketStreamHandlePrivate::~SocketStreamHandlePrivate):
        (WebCore::SocketStreamHandlePrivate::socketConnected):
        (WebCore::SocketStreamHandlePrivate::socketReadyRead):
        (WebCore::SocketStreamHandlePrivate::connect):
        (WebCore::SocketStreamHandlePrivate::send):
        (WebCore::SocketStreamHandlePrivate::close):
        (WebCore::SocketStreamHandlePrivate::socketClosed):
        (WebCore::SocketStreamHandlePrivate::socketError):
        (WebCore::SocketStreamHandle::SocketStreamHandle):
        (WebCore::SocketStreamHandle::~SocketStreamHandle):
        (WebCore::SocketStreamHandle::platformSend):
        (WebCore::SocketStreamHandle::platformClose):
        (WebCore::SocketStreamHandle::didReceiveAuthenticationChallenge):
        (WebCore::SocketStreamHandle::receivedCredential):
        (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential):
        (WebCore::SocketStreamHandle::receivedCancellation):
        * platform/network/brew/SocketStreamHandlePrivate.h: Added.

2010-06-19  Nikita Vasilyev  <me@elv1s.ru>

        Reviewed by Pavel Feldman.

        Web Inspector: Prevent from copying "filename.css" in Styles pane
        https://bugs.webkit.org/show_bug.cgi?id=40420

        * inspector/front-end/Section.js:
        (WebInspector.Section.prototype.set subtitle):
        (WebInspector.Section.prototype.get subtitleAsText):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection):
        * inspector/front-end/inspector.css:
        (.styles-section .subtitle::before, .styles-section .subtitle a::before):

2010-06-19  Alex Milowski  <alex@milowski.com>

        Reviewed by Darin Adler.

        A fix for a change in https://bugs.webkit.org/show_bug.cgi?id=39941 
        that caused a compile error in MathML.
        https://bugs.webkit.org/show_bug.cgi?id=40827

        * mathml/MathMLElement.cpp:
        (WebCore::MathMLElement::MathMLElement):

2010-06-19  Kartikaya Gupta  <kagupta@rim.com>

        Reviewed by Nikolas Zimmermann.

        CPP bindings missing some APIs
        https://bugs.webkit.org/show_bug.cgi?id=40570

        Add missing C++ DOM API bindings. Specifically:
        - NodeFilter callback support
        - Missing custom method implementations in HTMLCollection and HTMLOptionsCollection
        - Missing EventTarget static type-determination methods
        - Fix CPP binding generator to not generate d-ptrs for classes that extend EventTarget and just use the parent's d-ptr instead
        - Switch binding generator to use DOMWindow instead of AbstractView so that necessary W3C-defined methods (e.g. getComputedStyle) are accessible.

        * bindings/cpp/WebDOMDOMWindowCustom.cpp: Added.
        (WebDOMDOMWindow::addEventListener):
        (WebDOMDOMWindow::removeEventListener):
        * bindings/cpp/WebDOMEventTarget.cpp:
        (toWebKit):
        * bindings/cpp/WebDOMEventTarget.h:
        * bindings/cpp/WebDOMHTMLCollectionCustom.cpp: Added.
        (WebDOMHTMLCollection::item):
        (WebDOMHTMLCollection::namedItem):
        * bindings/cpp/WebDOMHTMLOptionsCollectionCustom.cpp: Added.
        (WebDOMHTMLOptionsCollection::length):
        (WebDOMHTMLOptionsCollection::setLength):
        * bindings/cpp/WebDOMNodeFilterCustom.cpp: Added.
        (WebDOMNodeFilter::acceptNode):
        (toWebKit):
        * bindings/cpp/WebNativeNodeFilterCondition.cpp: Added.
        (WebNativeNodeFilterCondition::WebNativeNodeFilterCondition):
        (WebNativeNodeFilterCondition::~WebNativeNodeFilterCondition):
        (WebNativeNodeFilterCondition::acceptNode):
        * bindings/cpp/WebNativeNodeFilterCondition.h: Added.
        (WebNativeNodeFilterCondition::create):
        * bindings/scripts/CodeGeneratorCPP.pm:
        * dom/NodeFilter.idl:
        * page/DOMWindow.idl:

2010-06-19  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Dimitri Glazkov.

        [chromium] Adding a conditional gyp dependency for the WebCore target to 
        the gles2_c_lib which is required by the gpu compositor. The dependency will
        only kick in if the accelerated_compositing path is enabled.
        https://bugs.webkit.org/show_bug.cgi?id=40801

        * WebCore.gyp/WebCore.gyp:

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

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Platform plugin's multi-select does not take OptGroup into account
        https://bugs.webkit.org/show_bug.cgi?id=40718

        In multi-select elements, optgroup elements are counted in the index calculation,
        but in single-select they are not. Keep the same logic even when NO_LISTBOX_RENDERING
        is enabled.
        Added tests to the existing manual test, as testing this requires a special build, in which
        NO_LISTBOX_RENDERING is enabled.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::listBoxSelectItem):
        * manual-tests/no-listbox-rendering.html:
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::listBoxSelectItem):

2010-06-19  Thomas Van Lenten  <thomasvl@chromium.org>

        Reviewed by David Levin.

        Warnings from -Wextra in a Chromium Mac build
        1. checks of unsigned >= 0
        2. enumeral and non-enumeral type in conditional expression
        3. copy ctors that don't call the super copy ctor or ctor
        No functionality change so no new tests.

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

        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::ChromiumDataObject::ChromiumDataObject):
        * platform/chromium/ThemeChromiumMac.mm:
        (WebCore::updateStates):
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::updateActiveState):

2010-06-19  Ben Murdoch  <benm@google.com>

        Reviewed by Pavel Feldman.

        Fix build break with inspector disabled.
        https://bugs.webkit.org/show_bug.cgi?id=40790

        Replace a #include with a forward declaration.

        Fixing a build break so no new tests required.

        * inspector/InspectorController.h: Forward declare InspectorValue
           rather than #including its header which has its content guarded
           out.

2010-06-19  Zhe Su  <suzhe@chromium.org>

        Reviewed by Darin Fisher.

        [chromium]Refactor input method related APIs.
        https://bugs.webkit.org/show_bug.cgi?id=40608

        No new tests are needed, because there is no new functionality.

        * page/FocusController.cpp:
        (WebCore::FocusController::setFocusedNode):

2010-06-19  George Wright  <gwright@rim.com>

        Reviewed by George Staikos.

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

        Make setWapInputFormat() public again as CSSStyleSelector.cpp calls this when WCSS is enabled.

        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::data):

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

        Reviewed by Adam Barth.

        [Qt] Support evaluateScriptInIsolatedWorld()

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

        getOwnPropertyNames() crashes if PropertyNameArray is size 0. This change allows
        http/tests/world-reuse.html and didClearWindowObject.html to fail instead of crash.

        * WebCore.pro: Add qwebscriptworld.*
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertValueToQVariant):

2010-06-19  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Some very minor cleanups for HTML5 Parser
        https://bugs.webkit.org/show_bug.cgi?id=40638

        No new tests because no new functionality.

        * html/HTML5DocumentParser.cpp:
        (WebCore::): Make ctor explicit.
        * html/HTML5DocumentParser.h:
        (WebCore::HTML5DocumentParser::InsertionPointRecord::InsertionPointRecord): Make ctor explicit.
        * html/HTML5Lexer.cpp:
        (WebCore::HTMLNames::isEndTagBufferingState): Use switch to generate an efficient table with single branch.
        * html/HTML5Token.h:
        (WebCore::HTML5Token::forceQuirks): Add const.
        * html/HTML5TreeBuilder.h:
        (WebCore::HTML5TreeBuilder::isPaused): Add const.

2010-06-18  Aaron Boodman  <aa@chromium.org>

        Remove WebKit::WebDocument::isXHTMLDocument.
        https://bugs.webkit.org/show_bug.cgi?id=40815

        * dom/Document.h: remove isXHTML() getter.

2010-06-19  Aaron Boodman  <aa@chromium.org>

        Unreviewed, rolling out r61466.
        http://trac.webkit.org/changeset/61466
        https://bugs.webkit.org/show_bug.cgi?id=40816

        Landed wrong change

        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::initContextIfNeeded):
        * bindings/v8/V8DOMWindowShell.h:

2010-06-18  Aaron Boodman  <aa@chromium.org>

        WebKit API: Undo static hooks into V8 when WebKit is shut down.
        https://bugs.webkit.org/show_bug.cgi?id=40816

        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::initContextIfNeeded):
        (WebCore::V8DOMWindowShell::initializeV8IfNeeded):
        (WebCore::V8DOMWindowShell::uninitializeV8IfNeeded):
        * bindings/v8/V8DOMWindowShell.h:

2010-06-18  Jessie Berlin  <jberlin@webkit.org>

        Reviewed by Darin Adler.

        Bug 19509 - Database Tables in the Inspector should be sortable
        https://bugs.webkit.org/show_bug.cgi?id=19509

        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel.prototype.dataGridForResult):
        Make each column in the DataGrid sortable.
        (WebInspector.StoragePanel.prototype._sortDataGrid.comparator):
        Make sure to sort numeric columns by their numeric values, instead of lexicographically.
        (WebInspector.StoragePanel.prototype._sortDataGrid):
        Sort the entries in the DataGrid based on the selected column.

2010-06-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Oliver Hunt.

        More clang++ warning fixes.

        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
        * platform/graphics/mac/FontPlatformData.h:
        * platform/graphics/mac/WebLayer.mm:
        (-[CALayer _descriptionWithPrefix:]):

2010-06-18  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        * WebCore.gyp/WebCore.gyp: Modified inclusion rule in to actually add WebSystemInterface.mm.

2010-06-18  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        * WebCore.gyp/WebCore.gyp: Renamed WebSystemInterface.m to WebSystemInterface.mm.

2010-06-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Make WebCoreSystemInterface.h a C++ only header
        https://bugs.webkit.org/show_bug.cgi?id=40867

        * platform/mac/WebCoreSystemInterface.h:

2010-06-18  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Adam Barth.

        Convert column span from an unsigned short type to an unsigned int
        type. Fixes a divide-by-zero crash arising from using a zero colspan
        value coming from a narrow cast of an int to an unsigned short.
        https://bugs.webkit.org/show_bug.cgi?id=40812

        Test: fast/table/zero-colspan-crash.html

        * rendering/RenderTable.h: Change span from unsigned short to unsigned int.
        * rendering/RenderTableSection.cpp: Fix a compiler warning with comparing
          unsigned int with signed int. Value of an unsigned int here cannot be
          greater than maximum positive value of a signed int.
        (WebCore::RenderTableSection::addCell):

2010-06-18  Ananth Jasty  <ext-ananth.jasty@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Text spacing miscalculation when using wordSpacing.
        https://bugs.webkit.org/show_bug.cgi?id=40483

        Removed wordSpacing compensation in FontQt whitespace width
        calculation. The QFontMetrics::width() overload that takes
        a character does not take QFont's word spacing into account.

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

2010-06-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Get rid of PluginDataMac.mm and use the plug-in strategy instead
        https://bugs.webkit.org/show_bug.cgi?id=40860

        * WebCore.xcodeproj/project.pbxproj:
        * page/mac/WebCoreViewFactory.h:
        * plugins/PluginData.cpp:
        (WebCore::PluginData::refresh):
        (WebCore::PluginData::initPlugins):
        * plugins/PluginStrategy.h:
        * plugins/mac/PluginDataMac.mm: Removed.

2010-06-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Fix some (not all) clang++ warnings.

        * dom/Position.h:
        (WebCore::lastOffsetInNode):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::deleteInsignificantText):
        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::resourceForRequest):
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::offsetForPosition):
        (WebCore::ComplexTextController::collectComplexTextRuns):
        * platform/network/CredentialStorage.cpp:
        (WebCore::protectionSpaceMapKeyFromURL):
        * rendering/style/StyleRareNonInheritedData.h:

2010-06-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Add stubbed out WebPlatformStrategies class to WebKit.
        https://bugs.webkit.org/show_bug.cgi?id=40851

        * WebCore.base.exp:
        * platform/PlatformStrategies.cpp:
        * platform/PlatformStrategies.h:
        (WebCore::PlatformStrategies::~PlatformStrategies):

2010-06-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Fix build errors when building with clang++.

        * loader/archive/cf/LegacyWebArchiveMac.mm:
        Move the const qualifier to the right place.

        * page/EditorClient.h:
        * platform/Pasteboard.h:
        Use @class when forward declaring Objective-C classes in Objective-C.

2010-06-18  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=40852
        <rdar://problem/8105498> Limit simultaneous DNS prefetch request number (40852)

        No change in functionality, so no tests.

        We still queue up to 64 names, but only make up to 8 requests at once. If there are names
        remaining in queue, we retry after a short timeout (which is easier than posting
        notifications from client callback).

        * platform/network/cf/DNSCFNet.cpp:
        (WebCore::DNSResolveQueue::add):
        (WebCore::DNSResolveQueue::fired):

2010-06-18  Zhenyao Mo  <zmo@google.com>

        Reviewed by Simon Fraser.

        WebGL demos show bad flicker
        https://bugs.webkit.org/show_bug.cgi?id=38560

        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::prepareTexture): Move ensureContext() out of if-block so it's always executed.

2010-06-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add PlatformStrategies and PluginStrategy classes.
        https://bugs.webkit.org/show_bug.cgi?id=40850

        * WebCore.xcodeproj/project.pbxproj:
        * platform/PlatformStrategies.cpp: Added.
        (WebCore::PlatformStrategies::~PlatformStrategies):
        (WebCore::platformStrategies):
        (WebCore::setPlatformStrategies):
        * platform/PlatformStrategies.h: Added.
        (WebCore::PlatformStrategies::pluginStrategy):
        (WebCore::PlatformStrategies::PlatformStrategies):
        * plugins/PluginData.cpp:
        * plugins/PluginStrategy.h: Added.
        (WebCore::PluginStrategy::~PluginStrategy):

2010-06-18  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed.

        Fix the GTK+ build after r61413 and 61379.

        * bindings/scripts/CodeGeneratorGObject.pm:
        Produce a g_value_set that uses getterExpressionPrefix instead of the raw getter.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_get_property): Update expected test results.

2010-06-18  Leandro Pereira  <leandro@profusion.mobi>

        [EFL] Unreviewed build fix.

        * CMakeLists.txt: Add inspector/ScriptBreakpoint.cpp.

2010-06-18  Andy Estes  <aestes@apple.com>

        Rubber-stamped by Sam Weinig.

        Update copyright header.

        * html/HTMLLinkElement.h:

2010-06-17  Andy Estes  <aestes@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/8091385> Prevent a crash in WebCore when removing a stylesheet link element in
        in a listener to its beforeload event.
        https://bugs.webkit.org/show_bug.cgi?id=40742
        
        Postpone loading of link elements until after they have been inserted into the DOM and
        attached. This prevents DOM mutations triggered by beforeload handlers from firing in the
        midst of DOM insertion, which can lead to assertion failures and crashes.

        Test: fast/dom/beforeload/remove-link-in-beforeload-listener.html

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::HTMLLinkElement): Initialize m_shouldProcessAfterAttach to false.
        (WebCore::HTMLLinkElement::processCallback): Add a static callback function which calls
        HTMLLinkElement::process().
        (WebCore::HTMLLinkElement::insertedIntoDocument): Instead of calling process() directly, set
        m_shouldProcessAfterAttach to true to indicate that process() should be called after attach().
        (WebCore::HTMLLinkElement::removedFromDocument): Set m_shouldProcessAfterAttach to false.
        (WebCore::HTMLLinkElement::attach): If m_shouldProcessAfterAttach is true, register
        HTMLLinkElement::processCallback() as a post-attach callback.
        * html/HTMLLinkElement.h: Add m_shouldProcessAfterAttach.
        (WebCore::HTMLLinkElement::canLazyAttach): Override canLazyAttach() to return false to
        indicate that a full attach should be performed.  This ensures the post-attach callbacks are
        fired.

2010-06-18  Chris Fleizach  <cfleizach@apple.com>

        Unreviewed. Windows build fix.

        AX: presentational role needs to be inherited by required elements
        https://bugs.webkit.org/show_bug.cgi?id=40132

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):

2010-06-18  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by David Kilzer.

        AX: presentational role needs to be inherited by required elements
        https://bugs.webkit.org/show_bug.cgi?id=40132

        Test: platform/mac/accessibility/inherited-presentational-lists.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
        * accessibility/AccessibilityRenderObject.h:
        (WebCore::AccessibilityRenderObject::node):

2010-06-18  Darin Adler  <darin@apple.com>

        Fix GTK build after reflection change.

        * bindings/scripts/CodeGeneratorGObject.pm: Changed code
        that emits setters to convey the correct type of the attribute.
        The GObject code generator takes a different approach to attributes
        than the others, so it's hacked a bit to make it more like them.
        We should find a way to share more code between the different generators.

        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        Updated to expect correct results.

2010-06-18  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed: Qt build fix.

        * inspector/InspectorController.cpp:

2010-06-18  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Ojan Vafai.

        https://bugs.webkit.org/show_bug.cgi?id=39798
        No selection change notification for editing operation that doesn't change the selection's DOM position
        
        Some editing operations change the selection visually without affecting its position within 
        the DOM.  This was previously known to occur for certain typing commands, but it can also 
        occur for some Pastes and changes to block style.

        * editing/Editor.cpp:
        (WebCore::Editor::appliedEditing):
        (WebCore::Editor::unappliedEditing):
        (WebCore::Editor::reappliedEditing):
        (WebCore::Editor::changeSelectionAfterCommand):
        * editing/Editor.h:

2010-06-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed build fix.

        [EFL] Build break on Debug build.
        https://bugs.webkit.org/show_bug.cgi?id=40810

        * CMakeLists.txt: Add CSSPreloadScanner.cpp

2010-06-18  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: persist breakpoints in inspector settings.
        https://bugs.webkit.org/show_bug.cgi?id=14190

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::setSessionSettings):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::setBreakpoint):
        (WebCore::InspectorController::removeBreakpoint):
        (WebCore::InspectorController::didParseSource):
        (WebCore::InspectorController::breakpointsSettingKey):
        (WebCore::InspectorController::loadBreakpoints):
        (WebCore::InspectorController::saveBreakpoints):
        * inspector/InspectorController.h:
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorValue::parseJSON):
        * inspector/InspectorValues.h:
        * inspector/ScriptBreakpoint.cpp: Added.
        (WebCore::ScriptBreakpoint::sourceBreakpointsFromInspectorObject):
        (WebCore::ScriptBreakpoint::inspectorObjectFromSourceBreakpoints):
        * inspector/ScriptBreakpoint.h:
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.addBreakpoint):
        (WebInspector.BreakpointManager.prototype.restoredBreakpoint):
        (WebInspector.BreakpointManager.prototype.breakpointsForSourceID):
        (WebInspector.BreakpointManager.prototype.breakpointsForURL):
        (WebInspector.BreakpointManager.prototype._addBreakpoint):
        * inspector/front-end/inspector.js:
        (WebInspector.restoredBreakpoint):

2010-06-18  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Implement additional DOM attribute reflection for bindings
        https://bugs.webkit.org/show_bug.cgi?id=39936

        - Added support for [Reflect] for long, unsigned long, and boolean
          attributes.
        - Fixed code that set attributes like this: <video controls="controls">
          to instead set them like this: <video controls>.
        - Added lots more uses of [Reflect].
        - Removed now-unneeded [ConvertFromString].
        - Made [Reflect] imply [ConvertNullToNullString] so we can get rid
          of most uses of the latter.
        - Made [Reflect] automatically lowercase the name of the reflected
          content attribute to minimize the need to specify a custom content
          attribute name.

        One thing this patch does *not* do is remove the unneeded functions
        in the various DOM classes that are no longer used by the bindings.
        We should do that in a followup.

        * bindings/scripts/CodeGenerator.pm: Added new functions so code
        can be shared across bindings, GetterExpressionPrefix and
        SetterExpressionPrefix. We can do a lot more refactoring like
        this in the future.

        * bindings/scripts/CodeGeneratorCPP.pm: Removed unneeded
        ConvertFromString handling, changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        to better handle reflected DOM attributes.

        * bindings/scripts/CodeGeneratorGObject.pm: Removed unneeded
        ConvertFromString handling, changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        to better handle reflected DOM attributes. Fixed a few things
        in the output so the .cpp file will have more WebKit style.
        The .h file should be GTK style, but the .cpp file can be the
        standard WebKit style eventually.

        * bindings/scripts/CodeGeneratorJS.pm: Changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        and removed a now-unneeded IsSVGAnimatedType special case since
        the new functions take care of it. Made reflected attributes
        automatically convert null to the null string without a
        separate ConvertNullToNullString attribute.

        * bindings/scripts/CodeGeneratorObjC.pm: Changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        and removed a now-unneeded IsSVGAnimatedType special case since
        the new functions take care of it. Redid the special cases for
        ownerDocument and for operator to fit better with the new code
        paths. Removed unneeded ConvertFromString handling.

        * bindings/scripts/CodeGeneratorV8.pm: Changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        and removed a now-unneeded IsSVGAnimatedType special case since
        the new functions take care of it. Made reflected attributes
        automatically convert null to the null string without a
        separate ConvertNullToNullString attribute.

        * bindings/scripts/test/TestObj.idl: Added some test cases for
        content attribute reflection and for exceptions in string-typed
        attributes.

        * bindings/scripts/test/CPP/WebKitDOMTestObj.cpp: Updated.
        * bindings/scripts/test/CPP/WebKitDOMTestObj.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.

        * dom/Element.cpp:
        (WebCore::Element::getIntegralAttribute): Added.
        (WebCore::Element::setIntegralAttribute): Added.
        (WebCore::Element::getUnsignedIntegralAttribute): Added.
        (WebCore::Element::setUnsignedIntegralAttribute): Added.
        * dom/Element.h: Added new attribute get/set functions for bindings.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::isURLAttribute): Added. Returns true for
        srcAttr.
        * html/HTMLMediaElement.h: Added isURLAttribute.

        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::isURLAttribute): Changed to call
        HTMLMediaElement::isURLAttribute before checking for posterAttr.

        * html/HTMLAnchorElement.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLBRElement.idl:
        * html/HTMLBaseElement.idl:
        * html/HTMLBaseFontElement.idl:
        * html/HTMLBlockquoteElement.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLDListElement.idl:
        * html/HTMLDirectoryElement.idl:
        * html/HTMLDivElement.idl:
        * html/HTMLElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFontElement.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLFrameSetElement.idl:
        * html/HTMLHRElement.idl:
        * html/HTMLHeadElement.idl:
        * html/HTMLHeadingElement.idl:
        * html/HTMLHtmlElement.idl:
        * html/HTMLIFrameElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLIsIndexElement.idl:
        * html/HTMLLIElement.idl:
        * html/HTMLLabelElement.idl:
        * html/HTMLLegendElement.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLMapElement.idl:
        * html/HTMLMediaElement.idl:
        * html/HTMLMenuElement.idl:
        * html/HTMLMetaElement.idl:
        * html/HTMLModElement.idl:
        * html/HTMLOListElement.idl:
        * html/HTMLObjectElement.idl:
        * html/HTMLOptGroupElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLParagraphElement.idl:
        * html/HTMLParamElement.idl:
        * html/HTMLPreElement.idl:
        * html/HTMLQuoteElement.idl:
        * html/HTMLScriptElement.idl:
        * html/HTMLStyleElement.idl:
        * html/HTMLTableCaptionElement.idl:
        * html/HTMLTableCellElement.idl:
        * html/HTMLTableColElement.idl:
        * html/HTMLTableElement.idl:
        * html/HTMLTableRowElement.idl:
        * html/HTMLTableSectionElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/HTMLUListElement.idl:
        * html/HTMLVideoElement.idl:
        * svg/SVGElement.idl:
        Added more uses of [Reflect]. Got rid of uses of [ConvertNullToNullString] that
        are now unneeded since [Reflect] now implies that. Changed formatting to be
        simpler and consistent without all the lining up and multiple lines.

2010-06-17  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Remove some unnecessary checks that cause compiler warnings.
        https://bugs.webkit.org/show_bug.cgi?id=40772

        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
        (WebCore::V8SQLResultSetRowList::itemCallback):
        * bindings/v8/npruntime.cpp:

2010-06-18  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Implement 'takeHeapSnapshot' in InspectorController.

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

        * bindings/js/ScriptProfiler.h:
        (WebCore::ScriptProfiler::takeHeapSnapshot):
        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::takeHeapSnapshot):
        * bindings/v8/ScriptProfiler.h:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::takeHeapSnapshot):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::takeHeapSnapshot):
        * inspector/InspectorController.h:

2010-06-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        REGRESSION (r61379?): Assertion failure in Element::getURLAttribute() when accessing the src attribute of a script element
        https://bugs.webkit.org/show_bug.cgi?id=40831

        Test: fast/dom/HTMLScriptElement/isURLAttribute.html

        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::isURLAttribute): Check for the 'src' attribute.

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

        Unreviewed, rolling out r61405.
        http://trac.webkit.org/changeset/61405
        https://bugs.webkit.org/show_bug.cgi?id=40838

        broke chromium mac compile (Requested by tonyg-cr1 on
        #webkit).

        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::evaluate):
        * bindings/v8/V8Proxy.h:

2010-06-18  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Fix WebGLRenderingContext helper functions find{Texture/Renderbuffer/Buffer}
        https://bugs.webkit.org/show_bug.cgi?id=40176

        * html/canvas/WebGLBuffer.cpp: Remove constructor with existing name.
        * html/canvas/WebGLBuffer.h: Ditto.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getVertexAttrib): Use findBuffer instead of creating a new WebGLBuffer.
        (WebCore::WebGLRenderingContext::findTexture): Deal with name == 0 case and return raw pointer.
        (WebCore::WebGLRenderingContext::findRenderbuffer): Ditto.
        (WebCore::WebGLRenderingContext::findBuffer): Find WebGLBuffer object using given name.
        * html/canvas/WebGLRenderingContext.h: Add findBuffer function declaration, change return type to raw pointer.

2010-06-18  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by David Levin.

        Persist V8's ScriptData to the memory cache.
        https://bugs.webkit.org/show_bug.cgi?id=38661

        This stores V8's ScriptData in the memory cache and also causes the
        network platform layer to be notified of the available cacheable
        metadata.

        Chromium's morejs benchmark showed a ~7% improvement when this was
        originally submitted (before it had to be rolled back).

        Test: fast/js/parser-high-byte-character.html

        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        (WebCore::ScriptSourceCode::cachedScript):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::precompileScript):
        (WebCore::V8Proxy::evaluate):
        * bindings/v8/V8Proxy.h:

2010-06-18  Anton Muhin  <antonm@chromium.org>

        Reviewed by Dimitri Glazkov.

        [v8] Finish migration to new named property query API
        https://bugs.webkit.org/show_bug.cgi?id=40771
        Remove definition which allowed gradual transition to new API.
        See https://bugs.webkit.org/show_bug.cgi?id=40303 for first phase.

        * config.h:

2010-06-17  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: bring XHR console records back.
        - adds "Enable XHR Monitor" / "Disable XHR Monitor" actions to the console's context menu
        - make the chosen option persist in the settings.

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

        * English.lproj/localizedStrings.js:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::disableSearchingForNode):
        (WebCore::InspectorBackend::enableMonitoringXHR):
        (WebCore::InspectorBackend::disableMonitoringXHR):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::setMonitoringXHR):
        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
        (WebCore::InspectorController::identifierForInitialRequest):
        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorController::ensureSettingsLoaded):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::monitoringXHRWasEnabled):
        (WebCore::InspectorFrontend::monitoringXHRWasDisabled):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
        (WebInspector.ConsoleView.prototype._registerShortcuts):
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor.):
        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub):
        (.WebInspector.InspectorBackendStub.prototype.enableMonitoringXHR):
        (.WebInspector.InspectorBackendStub.prototype.disableMonitoringXHR):
        * inspector/front-end/inspector.js:
        (WebInspector.monitoringXHRWasEnabled):
        (WebInspector.monitoringXHRWasDisabled):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::didFinishLoading):

2010-06-18  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Modernize SVG Text code, following the HTML design
        https://bugs.webkit.org/show_bug.cgi?id=40663

        SVG Text does not support subpixel positioning
        https://bugs.webkit.org/show_bug.cgi?id=12172

        RenderSVGText can't do partial repaints
        https://bugs.webkit.org/show_bug.cgi?id=15386

        HTML and SVG need to share more text painting code
        https://bugs.webkit.org/show_bug.cgi?id=15644

        Rewrite SVG Text rendering, only keeping the layout of the actual characters/chunks as it was.
        We're now drawing SVG Text very similar to HTML Text, utilizing the SVGInlineFlowBox/SVGInlineTextBox structure,
        instead of painting all text content of a <text> element from the SVGRootInlineBox, as it was the last years.

        Rough overview of the changes:
        - Partial repainting support for text selections (startPos/endPos are respected), no more redrawing of the whole <text> content while selecting
        - Subpixel positioning (near pixel-perfect rendering for all W3C tests that contain text, finally!)
          -> much better textPath results, characters now align as expected, as all rounding hacks are disabled for SVG text runs, and subpixel precision is used while painting
        - No more custom handling of selection, the standard methods offsetFromPosition() / selectionRectForText() are used instead.
        - Selection works as expected on stretched/squeezed text (lengthAdjust="spacingAndGlyphs"), takes 'includePartialGlyphs' into account - just like HTML text
        - Correct text decoration drawing (proper with and positions and rendering-order, underline/overline before text, strike-through afterwards)
        - Proper sizing of all InlineBoxes, starting from the SVGRootInlineBox, down to every single flow & text box
          -> correct DRT results, no more weird negative offsets of text runs, etc. Looks exactly like the HTML text test results.
        - Rewritten SVGTextContentElement API to take per-character / per-chunk transformations into account.
        - Speeeeeed! Drawing is much faster now.

        Add 24 new testcases covering basic selection features and the SVGTextContentElement API. Each test draws a half-opaque red rectangle, calculated using
        SVGTextContentElement API to highlight the area that is supposed to be selected. Then eventSender API is utilized to move the mouse to the calculated
        start origin, holding it down and moving it to the end position.

        A detailed list of tests that show progression, can be found in the corresponding LayoutTests/ChangeLog.
        Note that this requires a rebaselining of all SVG tests containing text elements.

        Tests: svg/hixie/text/001.xml (moved from svg/hixie/text/001-broken.xml)
               svg/text/lengthAdjust-text-metrics.html
               svg/text/select-textLength-spacing-squeeze-1.svg
               svg/text/select-textLength-spacing-squeeze-2.svg
               svg/text/select-textLength-spacing-squeeze-3.svg
               svg/text/select-textLength-spacing-squeeze-4.svg
               svg/text/select-textLength-spacing-stretch-1.svg
               svg/text/select-textLength-spacing-stretch-2.svg
               svg/text/select-textLength-spacing-stretch-3.svg
               svg/text/select-textLength-spacing-stretch-4.svg
               svg/text/select-textLength-spacingAndGlyphs-squeeze-1.svg
               svg/text/select-textLength-spacingAndGlyphs-squeeze-2.svg
               svg/text/select-textLength-spacingAndGlyphs-squeeze-3.svg
               svg/text/select-textLength-spacingAndGlyphs-squeeze-4.svg
               svg/text/select-textLength-spacingAndGlyphs-stretch-1.svg
               svg/text/select-textLength-spacingAndGlyphs-stretch-2.svg
               svg/text/select-textLength-spacingAndGlyphs-stretch-3.svg
               svg/text/select-textLength-spacingAndGlyphs-stretch-4.svg
               svg/text/select-x-list-1.svg
               svg/text/select-x-list-2.svg
               svg/text/select-x-list-3.svg
               svg/text/select-x-list-4.svg
               svg/text/select-x-list-with-tspans-1.svg
               svg/text/select-x-list-with-tspans-2.svg
               svg/text/select-x-list-with-tspans-3.svg
               svg/text/select-x-list-with-tspans-4.svg

        * rendering/InlineBox.h: Remove not needed isInlineBox() method.
        (WebCore::InlineBox::isInlineTextBox): Constify this method.
        (WebCore::InlineBox::isSVGInlineTextBox): Added, with ENABLE(SVG) guards, just like the existing isSVGRootInlineBox().
        (WebCore::InlineBox::isSVGRootInlineBox): Constify this method.
        (WebCore::InlineBox::calculateBoundaries): Added, with ENABLE(SVG) guards, used to calculate the whole boundaries of a InlineText/FlowBox, only used in SVG text.
        * rendering/InlineFlowBox.h: Devirtualize placeBoxesHorizontally(), SVG no more overrides it.
        * rendering/InlineTextBox.h: Virtualize selectionStartEnd() - SVGInlineTextBox needs to change start/endPositions based on the current text chunk part that it's rendering.
                                     SVGTextChunkLayoutInfo.h contains a detailed documentation what a SVGTextChunk/SVGTextChunkPart is, and why they are necessary.
        (WebCore::InlineTextBox::isInlineTextBox): Constify this method.
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::forceLayoutInlineChildren): Add helper method, used only by RenderSVGText, to use a simplified layout strategy, which is a big speed win.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Remove all isSVGText() special cases, as this function is not called anymore for SVG text.
        (WebCore::RenderBlock::layoutInlineChildren): Don't call computeHorizontalPositionsForLine() for SVG text. computePerCharacterLayoutInformation() overrides it anyway.
        * rendering/RenderSVGInline.cpp: Remove custom absoluteRects/absoluteQuads code, all shared with RenderInline now.
        (WebCore::RenderSVGInline::clippedOverflowRectForRepaint): Added, forward to SVGRenderBase, just like all other non-text SVG renderers do.
        (WebCore::RenderSVGInline::computeRectForRepaint): Ditto.
        (WebCore::RenderSVGInline::mapLocalToContainer): Ditto
        * rendering/RenderSVGInline.h: 
        * rendering/RenderSVGInlineText.cpp: Remove destroy() hack, which called setNeedsLayoutAndPrefWidthsRecalc/repaint on destruction.
                                             As repaint rects work properly now, this hack is no longer necessary, it was only hiding the real problem.
        (WebCore::RenderSVGInlineText::styleDidChange): Don't skip RenderText::styleDidChange() anymore, which automatically schedules layout changes for us.
        (WebCore::RenderSVGInlineText::localCaretRect): Remove outdated comment, localCaretRect() is not yet needed in SVG text code.
        * rendering/RenderSVGInlineText.h: Remove custom absoluteRects/absoluteQuads/selectionRectForRepaint/positionForPoint/destroy/computeRectForRepaint* code, all shared with RenderText now.
        * rendering/RenderSVGText.cpp: 
        (WebCore::RenderSVGText::mapLocalToContainer): Take x/y translation into account, but do NOT include in localToParentTransform(), as that would affect rendering.
        (WebCore::RenderSVGText::layout): Use super-simplified layout strategy, removing a lot of uncessary stuff done by RenderBlock, that SVG does not need.
        (WebCore::RenderSVGText::absoluteRects): Remove dead-code, retreving the RenderSVGRoot* object, not necessary since a longer time.
        (WebCore::RenderSVGText::absoluteQuads): Ditto.
        (WebCore::RenderSVGText::paint): Early exit if we're not in PaintPhaseForeground/PaintPhaseSelfOutline. We're not interessted in other phases.
        (WebCore::RenderSVGText::strokeBoundingBox): Fix stroke width calculation, no need to special case SVGFonts.
        * rendering/RenderSVGText.h: Remove updateFirstLineBlock/updateFirstLetter overrides, the new RenderSVGText::layout() code, doesn't use these methods at all.
                                     We asked RenderBlock to layout before, which was calling updateFirstLetter & co, this is gone now, as it was all not needed.
        (WebCore::RenderSVGText::objectBoundingBox): Directly return the frameRect here, inlined for speed.
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::verticallyAlignBoxes): Early-exit if we're a SVGRootInlineBox. SVG handles this on its own.
        * rendering/RootInlineBox.h: Devirtualize verticallyAlignBoxes(), SVG no longer overrides it. Remove virtual computePerCharacterLayoutInformation() method, only lives in SVGRootInlineBox now.
        * rendering/SVGCharacterData.h: Remove no longer needed SVGTextDecorationInfo.
        * rendering/SVGCharacterLayoutInfo.cpp: Don't pass a reference to a Vector<SVGChar> to SVGCharacterLayoutInfo, let it create it.
        (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo):
        * rendering/SVGCharacterLayoutInfo.h:
        * rendering/SVGInlineFlowBox.cpp: 
        (WebCore::SVGInlineFlowBox::paint): Ask children to paint.
        (WebCore::SVGInlineFlowBox::calculateBoundaries): Calculate boundaries by uniting all direct children boundaries.
        * rendering/SVGInlineFlowBox.h: Remove placeBoxesHorizontally, which does not get called anymore, and does not need to be overriden.
        * rendering/SVGInlineTextBox.cpp: 
        (WebCore::SVGInlineTextBox::SVGInlineTextBox): Don't use abbrevations for variable names, initialize new member variables.
        (WebCore::SVGInlineTextBox::measureCharacter): New helper function extracted from buildLayoutInformation, replacing calculateGlyphWidth/Height.
        (WebCore::SVGInlineTextBox::offsetForPosition): Implement this method by utilizing Font::offsetForPosition(), but respecting the text chunk parts.
        (WebCore::SVGInlineTextBox::positionForOffset): No change here, still not used.
        (WebCore::SVGInlineTextBox::selectionRect): Rewritten, utilizing Font::selectionRectForText(), taking text chunk parts into account, and the supplied startPos/endPos.
        (WebCore::SVGInlineTextBox::paint): Rewritten, to handle paint servers much more elegant, than the old solution. See code for details, too much to explain here.
        (WebCore::SVGInlineTextBox::acquirePaintingResource): Helper function, used from paint().
        (WebCore::SVGInlineTextBox::releasePaintingResource): Ditto.
        (WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting): Ditto.
        (WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting): Ditto.
        (WebCore::SVGInlineTextBox::constructTextRun): Helper function centralizing the creation of a TextRun object, used to draw/measure SVG text.
        (WebCore::SVGInlineTextBox::mapStartEndPositionsIntoChunkPartCoordinates): Important helper function, mapping a startPos/endPos from InlineTextBox
                                                                                   coordinate space to the SVGInlineTextBox, respecting the current text chunk part.
        (WebCore::SVGInlineTextBox::selectionStartEnd): Call InlineTextBox::selectionStartEnd(), and apply post fixes when m_currentChunkPart is set. (called when painting a selected chunk part)
        (WebCore::positionOffsetForDecoration): Refactored from old paintDecoration() code.
        (WebCore::thicknessForDecoration): Ditto.
        (WebCore::findRenderObjectDefininingTextDecoration): Ditto.
        (WebCore::SVGInlineTextBox::paintDecoration): Ditto. (Can not share the code with HTML, as we need floating point precision, and directly call fillRect, instead of drawHighlightForText.)
        (WebCore::SVGInlineTextBox::paintDecorationWithStyle): Ditto.
        (WebCore::SVGInlineTextBox::paintSelection): New method, painting text selections with floating-point precision.
        (WebCore::SVGInlineTextBox::paintText): New method, painting text with floating-point precision, correctly handling selected text, removing the need for special SVG text sub-paint phases.
                                                (GlyphFill/StrokeSelectionPhase, GlyphFill/StrokePhase)
        (WebCore::SVGInlineTextBox::buildLayoutInformation): Use new measureCharacter() helper function, renamed some variables, to avoid abbrevations.
        (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): Rewritten to use new measureCharacter() helper function.
        (WebCore::SVGInlineTextBox::calculateBoundaries): Rewritten to take text chunk parts into account, serves as central method used to layout InlineBoxes (see SVGRootInlineBox.)
        * rendering/SVGInlineTextBox.h:
        (WebCore::SVGInlineTextBox::isSVGInlineTextBox): Added.
        (WebCore::SVGInlineTextBox::setHeight): Rename variable, to avoid abbrevations.
        (WebCore::SVGInlineTextBox::chunkTransformation): New helper function, returning the transformation, that gets applied to the complete text chunk, if any.
        (WebCore::SVGInlineTextBox::setChunkTransformation): New helper function used by SVGRrootInlineBox, to set the chunk transformation, during text chunk part propagation phase.
        (WebCore::SVGInlineTextBox::addChunkPartInformation): Ditto.
        (WebCore::SVGInlineTextBox::svgTextChunkParts): Ditto.
        * rendering/SVGRootInlineBox.cpp: Virtually rewritten, to be designed more like HTMLs RootInlineBox, diving into children for painting.
        (WebCore::SVGRootInlineBox::paint): Ask children to paint, nothing more. No more traversing through the SVGTextChunks, figuring out which part to render, this is done in layout phase now.
        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Completly redesigned, see SVGTextChunkLayoutInfo.h for a high-level overview.
        (WebCore::SVGRootInlineBox::buildLayoutInformation): Just small cleanups, nothing changed here.
        (WebCore::SVGRootInlineBox::layoutChildBoxes): New helper function, extracted from old layoutInlineBoxes().
        (WebCore::SVGRootInlineBox::layoutRootBox): Ditto.
        (WebCore::SVGRootInlineBox::propagateTextChunkPartInformation): Key-concept of the new design, builds "text chunk parts" and propagates that knownledge to all child SVGInlineTextBoxes.
        * rendering/SVGRootInlineBox.h:
        (WebCore::SVGRootInlineBox::isSVGRootInlineBox): Constified method.
        (WebCore::SVGRootInlineBox::setHeight): Change variable name, to avoid abbrevations.
        * rendering/SVGTextChunkLayoutInfo.cpp: Remove if 0, enable compilation.
        * rendering/SVGTextChunkLayoutInfo.h: Add large comment explaining text chunk parts, the key concept of the new design. Remove SVGTextChunkWalker & friends, no longer used.
        (WebCore::SVGTextChunkPart::SVGTextChunkPart):
        (WebCore::SVGTextChunkPart::isValid):
        (WebCore::SVGTextChunk::SVGTextChunk):
        (WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo):
        (WebCore::SVGTextChunkLayoutInfo::textChunks):
        * rendering/SVGTextLayoutUtilities.cpp:
        (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
        (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
        (WebCore::svgTextRunForInlineTextBox): Disable rounding hacks, explain parameters with comments, why they have which values.
        * rendering/SVGTextLayoutUtilities.h: Remove SVGTextPaintSubphase and SVGTextPaintInfo.
        * rendering/SVGTextQuery.cpp: Remove if 0, enable compilation.
        * rendering/SVGTextQuery.h: Ditto.
        * svg/SVGStyledElement.cpp: Very important change! Do not treat CSS attributes as recognized attributes, that would lead to setNeedsLayout() calls, reducing performance!
                                    This hack existed, as we were not dealing with text updates correctly, now that RenderSVGInlineText::styleDidChange is fixed, it's no longer necessary.
        (WebCore::SVGStyledElement::isKnownAttribute):
        * svg/SVGTextContentElement.cpp: Completely remove the SVGTextContentElement API, that manually traversed all text chunks, instead use the new SVGTextQuery API.
        (WebCore::SVGTextContentElement::getNumberOfChars):
        (WebCore::SVGTextContentElement::getComputedTextLength):
        (WebCore::SVGTextContentElement::getSubStringLength):
        (WebCore::SVGTextContentElement::getStartPositionOfChar):
        (WebCore::SVGTextContentElement::getEndPositionOfChar):
        (WebCore::SVGTextContentElement::getExtentOfChar):
        (WebCore::SVGTextContentElement::getRotationOfChar):
        (WebCore::SVGTextContentElement::getCharNumAtPosition):
        * svg/SVGTextElement.cpp: Very important change! Do not calls setNeedsLayout() on RenderSVGText, if childrenChanged() has been called.
        * svg/SVGTextElement.h: Completly remove childrenChanged() - no longer necessary, updates work as expected without it now.

2010-06-18  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by David Levin.

        Fix compilation when filters are disabled. Revision r60689
        changed the signature of SVGRenderBase::prepareToRenderSVGContent()
        but didn't change the unsused parameters when filters are disabled.
        https://bugs.webkit.org/show_bug.cgi?id=40625

        No new tests. Compilation fix.

        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::prepareToRenderSVGContent):

2010-06-18  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        noAccess url schemes block access to inline stylesheets
        https://bugs.webkit.org/show_bug.cgi?id=32309

        Instead of using baseURL() to grab the security context we should just
        use finalURL directly.  When I wrote the original patch that added this
        security check, finalURL didn't exist yet.

        If finalURL is an empty URL, that means we generated the style sheet
        from text that didn't have a URL.  It would be slightly safer to store
        a bit on CSSStyleSheet indicating whether it came from an inline style
        sheet, but I think this check is fairly accurate.

        Test: http/tests/security/data-url-inline.css.html

        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::cssRules):

2010-06-18  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Remove unneeded custom code for WebSocket.send
        https://bugs.webkit.org/show_bug.cgi?id=38180

        We don't appear to require a custom binding here.  The old function was
        wacky in two ways:

        1) It required all of its arguments.

        2) If the toString of its argument threw, it would catch the exception
           and re-throw a different exception.

        I've kept the first behavior but changed the second (and documented it
        with a test).

        Test: websocket/tests/send-throw.html

        * bindings/js/JSWebSocketCustom.cpp:
        * bindings/v8/custom/V8WebSocketCustom.cpp:
        * websockets/WebSocket.idl:

2010-06-15  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Move isAvailable()/setIsAvailable() from Database/DatabaseSync to AbstractDatabase.
        https://bugs.webkit.org/show_bug.cgi?id=39041

        * WebCore.base.exp
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore::RuntimeEnabledFeatures::openDatabaseEnabled):
        (WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::openDatabase):
        * storage/AbstractDatabase.cpp:
        (WebCore::AbstractDatabase::isAvailable):
        (WebCore::AbstractDatabase::setIsAvailable):
        * storage/AbstractDatabase.h:
        * storage/Database.cpp:
        * storage/Database.h:
        * storage/DatabaseSync.cpp:
        * storage/DatabaseSync.h:
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::openDatabase):
        (WebCore::WorkerContext::openDatabaseSync):
        * workers/WorkerContext.h:

2010-06-18  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Fix the namespace indent for HTML5Lexer.  This patch changes
        white-space only.

        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::):
        (WebCore::HTML5Lexer::lineNumber):
        (WebCore::HTML5Lexer::columnNumber):
        (WebCore::HTML5Lexer::state):
        (WebCore::HTML5Lexer::setState):
        (WebCore::HTML5Lexer::skipLeadingNewLineForListing):
        (WebCore::HTML5Lexer::InputStreamPreprocessor::InputStreamPreprocessor):
        (WebCore::HTML5Lexer::InputStreamPreprocessor::nextInputCharacter):
        (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
        (WebCore::HTML5Lexer::InputStreamPreprocessor::advance):

2010-06-18  Fumitoshi Ukai  <ukai@chromium.org>

        Unreviewed test breakage fix.

        WebSocket: resume should not process buffer if already processing.
        https://bugs.webkit.org/show_bug.cgi?id=39340

        MessageLoop runs in main thread, so we don't need to use timer in worker thread.
        Also, we should not use Timer in worker thread.

        * websockets/ThreadableWebSocketChannelClientWrapper.h:
        (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):

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

        Unreviewed, rolling out r61379.
        http://trac.webkit.org/changeset/61379
        https://bugs.webkit.org/show_bug.cgi?id=40813

        Broke multiple tests on all platforms (Requested by tkent on
        #webkit).

        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorCPP.pm:
        * bindings/scripts/CodeGeneratorGObject.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        (WebDOMTestObj::attrWithException):
        (WebDOMTestObj::setAttrWithException):
        (WebDOMTestObj::attrWithSetterException):
        (WebDOMTestObj::attrWithGetterException):
        (WebDOMTestObj::setAttrWithGetterException):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        (webkit_dom_test_callback_callback_with_class1param):
        (webkit_dom_test_callback_callback_with_class2param):
        (webkit_dom_test_callback_callback_with_non_bool_return_type):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_void_method):
        (webkit_dom_test_obj_void_method_with_args):
        (webkit_dom_test_obj_int_method):
        (webkit_dom_test_obj_int_method_with_args):
        (webkit_dom_test_obj_obj_method):
        (webkit_dom_test_obj_obj_method_with_args):
        (webkit_dom_test_obj_method_that_requires_all_args):
        (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
        (webkit_dom_test_obj_serialized_value):
        (webkit_dom_test_obj_method_with_exception):
        (webkit_dom_test_obj_with_dynamic_frame):
        (webkit_dom_test_obj_with_dynamic_frame_and_arg):
        (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
        (webkit_dom_test_obj_with_script_state_void):
        (webkit_dom_test_obj_with_script_state_obj):
        (webkit_dom_test_obj_with_script_state_void_exception):
        (webkit_dom_test_obj_with_script_state_obj_exception):
        (webkit_dom_test_obj_with_script_execution_context):
        (webkit_dom_test_obj_method_with_optional_arg):
        (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
        (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
        (webkit_dom_test_obj_get_read_only_int_attr):
        (webkit_dom_test_obj_get_read_only_string_attr):
        (webkit_dom_test_obj_get_read_only_test_obj_attr):
        (webkit_dom_test_obj_get_int_attr):
        (webkit_dom_test_obj_set_int_attr):
        (webkit_dom_test_obj_get_long_long_attr):
        (webkit_dom_test_obj_set_long_long_attr):
        (webkit_dom_test_obj_get_unsigned_long_long_attr):
        (webkit_dom_test_obj_set_unsigned_long_long_attr):
        (webkit_dom_test_obj_get_string_attr):
        (webkit_dom_test_obj_set_string_attr):
        (webkit_dom_test_obj_get_test_obj_attr):
        (webkit_dom_test_obj_set_test_obj_attr):
        (webkit_dom_test_obj_get_attr_with_exception):
        (webkit_dom_test_obj_set_attr_with_exception):
        (webkit_dom_test_obj_get_attr_with_setter_exception):
        (webkit_dom_test_obj_set_attr_with_setter_exception):
        (webkit_dom_test_obj_get_attr_with_getter_exception):
        (webkit_dom_test_obj_set_attr_with_getter_exception):
        (webkit_dom_test_obj_get_script_string_attr):
        (webkit_dom_test_obj_get_conditional_attr1):
        (webkit_dom_test_obj_set_conditional_attr1):
        (webkit_dom_test_obj_get_conditional_attr2):
        (webkit_dom_test_obj_set_conditional_attr2):
        (webkit_dom_test_obj_get_conditional_attr3):
        (webkit_dom_test_obj_set_conditional_attr3):
        (webkit_dom_test_obj_get_description):
        (webkit_dom_test_obj_get_id):
        (webkit_dom_test_obj_set_id):
        (webkit_dom_test_obj_get_hash):
        (webkit_dom_test_obj_set_property):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::):
        (WebCore::jsTestObjAttrWithException):
        (WebCore::jsTestObjAttrWithSetterException):
        (WebCore::jsTestObjAttrWithGetterException):
        (WebCore::setJSTestObjAttrWithException):
        (WebCore::setJSTestObjAttrWithGetterException):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj attrWithException]):
        (-[DOMTestObj setAttrWithException:]):
        (-[DOMTestObj attrWithSetterException]):
        (-[DOMTestObj attrWithGetterException]):
        (-[DOMTestObj setAttrWithGetterException:]):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::attrWithExceptionAttrGetter):
        (WebCore::TestObjInternal::attrWithExceptionAttrSetter):
        (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
        (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter):
        (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
        (WebCore::TestObjInternal::overloadedMethodCallback):
        (WebCore::):
        * dom/Element.cpp:
        * dom/Element.h:
        * html/HTMLAnchorElement.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLBRElement.idl:
        * html/HTMLBaseElement.idl:
        * html/HTMLBaseFontElement.idl:
        * html/HTMLBlockquoteElement.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLDListElement.idl:
        * html/HTMLDirectoryElement.idl:
        * html/HTMLDivElement.idl:
        * html/HTMLElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFontElement.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLFrameSetElement.idl:
        * html/HTMLHRElement.idl:
        * html/HTMLHeadElement.idl:
        * html/HTMLHeadingElement.idl:
        * html/HTMLHtmlElement.idl:
        * html/HTMLIFrameElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLIsIndexElement.idl:
        * html/HTMLLIElement.idl:
        * html/HTMLLabelElement.idl:
        * html/HTMLLegendElement.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLMapElement.idl:
        * html/HTMLMediaElement.idl:
        * html/HTMLMenuElement.idl:
        * html/HTMLMetaElement.idl:
        * html/HTMLModElement.idl:
        * html/HTMLOListElement.idl:
        * html/HTMLObjectElement.idl:
        * html/HTMLOptGroupElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLParagraphElement.idl:
        * html/HTMLParamElement.idl:
        * html/HTMLPreElement.idl:
        * html/HTMLQuoteElement.idl:
        * html/HTMLScriptElement.idl:
        * html/HTMLStyleElement.idl:
        * html/HTMLTableCaptionElement.idl:
        * html/HTMLTableCellElement.idl:
        * html/HTMLTableColElement.idl:
        * html/HTMLTableElement.idl:
        * html/HTMLTableRowElement.idl:
        * html/HTMLTableSectionElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/HTMLUListElement.idl:
        * html/HTMLVideoElement.idl:
        * svg/SVGElement.idl:

2010-06-17  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Dave Hyatt.

        CSS3 "Property is declared twice in rule" test fails
        https://bugs.webkit.org/show_bug.cgi?id=36282

        Filter out duplicate properties in style declaration.

        Test: fast/css/duplicate-property-in-rule.html

        * css/CSSMutableStyleDeclaration.cpp: Filter out duplicate properties
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Discard negative padding values
        * css/CSSStyleSelector.cpp: Remove negative padding check
        (WebCore::CSSStyleSelector::applyProperty):

2010-06-17  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Implement additional DOM attribute reflection for bindings
        https://bugs.webkit.org/show_bug.cgi?id=39936

        - Added support for [Reflect] for long, unsigned long, and boolean
          attributes.
        - Fixed code that set attributes like this: <video controls="controls">
          to instead set them like this: <video controls>.
        - Added lots more uses of [Reflect].
        - Removed now-unneeded [ConvertFromString].
        - Made [Reflect] imply [ConvertNullToNullString] so we can get rid
          of most uses of the latter.
        - Made [Reflect] automatically lowercase the name of the reflected
          content attribute to minimize the need to specify a custom content
          attribute name.

        One thing this patch does *not* do is remove the unneeded functions
        in the various DOM classes that are no longer used by the bindings.
        We should do that in a followup.

        * bindings/scripts/CodeGenerator.pm: Added new functions so code
        can be shared across bindings, GetterExpressionPrefix and
        SetterExpressionPrefix. We can do a lot more refactoring like
        this in the future.

        * bindings/scripts/CodeGeneratorCPP.pm: Removed unneeded
        ConvertFromString handling, changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        to better handle reflected DOM attributes.

        * bindings/scripts/CodeGeneratorGObject.pm: Removed unneeded
        ConvertFromString handling, changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        to better handle reflected DOM attributes. Fixed a few things
        in the output so the .cpp file will have more WebKit style.
        The .h file should be GTK style, but the .cpp file can be the
        standard WebKit style eventually.

        * bindings/scripts/CodeGeneratorJS.pm: Changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        and removed a now-unneeded IsSVGAnimatedType special case since
        the new functions take care of it. Made reflected attributes
        automatically convert null to the null string without a
        separate ConvertNullToNullString attribute.

        * bindings/scripts/CodeGeneratorObjC.pm: Changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        and removed a now-unneeded IsSVGAnimatedType special case since
        the new functions take care of it. Redid the special cases for
        ownerDocument and for operator to fit better with the new code
        paths. Removed unneeded ConvertFromString handling.

        * bindings/scripts/CodeGeneratorV8.pm: Changed to use the new
        GetterExpressionPrefix and SetterExpressionPrefix functions
        and removed a now-unneeded IsSVGAnimatedType special case since
        the new functions take care of it. Made reflected attributes
        automatically convert null to the null string without a
        separate ConvertNullToNullString attribute.

        * bindings/scripts/test/TestObj.idl: Added some test cases for
        content attribute reflection and for exceptions in string-typed
        attributes.

        * bindings/scripts/test/CPP/WebKitDOMTestObj.cpp: Updated.
        * bindings/scripts/test/CPP/WebKitDOMTestObj.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.

        * dom/Element.cpp:
        (WebCore::Element::getIntegralAttribute): Added.
        (WebCore::Element::setIntegralAttribute): Added.
        (WebCore::Element::getUnsignedIntegralAttribute): Added.
        (WebCore::Element::setUnsignedIntegralAttribute): Added.
        * dom/Element.h: Added new attribute get/set functions for bindings.

        * html/HTMLAnchorElement.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLBRElement.idl:
        * html/HTMLBaseElement.idl:
        * html/HTMLBaseFontElement.idl:
        * html/HTMLBlockquoteElement.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLDListElement.idl:
        * html/HTMLDirectoryElement.idl:
        * html/HTMLDivElement.idl:
        * html/HTMLElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFontElement.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLFrameSetElement.idl:
        * html/HTMLHRElement.idl:
        * html/HTMLHeadElement.idl:
        * html/HTMLHeadingElement.idl:
        * html/HTMLHtmlElement.idl:
        * html/HTMLIFrameElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLIsIndexElement.idl:
        * html/HTMLLIElement.idl:
        * html/HTMLLabelElement.idl:
        * html/HTMLLegendElement.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLMapElement.idl:
        * html/HTMLMediaElement.idl:
        * html/HTMLMenuElement.idl:
        * html/HTMLMetaElement.idl:
        * html/HTMLModElement.idl:
        * html/HTMLOListElement.idl:
        * html/HTMLObjectElement.idl:
        * html/HTMLOptGroupElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLParagraphElement.idl:
        * html/HTMLParamElement.idl:
        * html/HTMLPreElement.idl:
        * html/HTMLQuoteElement.idl:
        * html/HTMLScriptElement.idl:
        * html/HTMLStyleElement.idl:
        * html/HTMLTableCaptionElement.idl:
        * html/HTMLTableCellElement.idl:
        * html/HTMLTableColElement.idl:
        * html/HTMLTableElement.idl:
        * html/HTMLTableRowElement.idl:
        * html/HTMLTableSectionElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/HTMLUListElement.idl:
        * html/HTMLVideoElement.idl:
        * svg/SVGElement.idl:
        Added more uses of [Reflect]. Got rid of uses of [ConvertNullToNullString] that
        are now unneeded since [Reflect] now implies that. Changed formatting to be
        simpler and consistent without all the lining up and multiple lines.

2010-06-17  MORITA Hajime  <morrita@google.com>

        Unreviewd, fixed a build break.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId):

2010-06-16  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        <meter> should allow styling for each gauge-level and component
        https://bugs.webkit.org/show_bug.cgi?id=40280

        - Introduced following new pseudo classes for <meter> element.
        
          - -webkit-meter-horizontal-bar
          - -webkit-meter-vertical-bar
          - -webkit-meter-horizontal-optimum-value
          - -webkit-meter-vertical-optimum-value
          - -webkit-meter-horizontal-suboptimal-value
          - -webkit-meter-vertical-suboptimal-value
          - -webkit-meter-horizontal-even-less-good-value
          - -webkit-meter-vertical-even-less-good-value
        
        - Introduced 2 shadow nodes for RenderMeter to handle CSS styling. 
          one for bar part and another for value part.
        - Removed RenderTheme::paintMeter() implementation because it can be
          handled by styled painting without RenderTheme.
        - Pulled RenderIndicator up to super class from RenderProgress,
          then make RenderMeter a subclass of it.
        - Moved shadow related methods from RenderProgress to ShadowBlockElement
          to share it with RenderMeter.
        - Added rules for html.css for new pseudo classes.
        
        Tests: fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html
               fast/dom/HTMLMeterElement/meter-styles.html

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId):
        (WebCore::nameToPseudoTypeMap):
        (WebCore::CSSSelector::extractPseudoType):
        * css/CSSSelector.h:
        (WebCore::CSSSelector::):
        * css/html.css:
        (meter::-webkit-meter-horizontal-bar):
        (meter::-webkit-meter-vertical-bar):
        (meter::-webkit-meter-horizontal-optimum-value):
        (meter::-webkit-meter-horizontal-suboptimal-value):
        (meter::-webkit-meter-horizontal-even-less-good-value):
        (meter::-webkit-meter-vertical-optimum-value):
        (meter::-webkit-meter-vertical-suboptimal-value):
        (meter::-webkit-meter-vertical-even-less-good-value):
        * rendering/RenderIndicator.cpp: Added.
        (WebCore::RenderIndicator::RenderIndicator):
        (WebCore::RenderIndicator::~RenderIndicator):
        (WebCore::RenderIndicator::layout):
        (WebCore::RenderIndicator::styleDidChange):
        (WebCore::RenderIndicator::updateFromElement):
        (WebCore::RenderIndicator::hasParts):
        (WebCore::RenderIndicator::requestLayoutForParts):
        * rendering/RenderIndicator.h: Added.
        (WebCore::RenderIndicator::requiresForcedStyleRecalcPropagation):
        * rendering/RenderMeter.cpp:
        (WebCore::RenderMeter::RenderMeter):
        (WebCore::RenderMeter::~RenderMeter):
        (WebCore::RenderMeter::layoutParts): Added.
        (WebCore::RenderMeter::shouldHaveParts): Added.
        (WebCore::RenderMeter::valueRatio): Added.
        (WebCore::RenderMeter::barPartRect): Added.
        (WebCore::RenderMeter::valuePartRect): Added.
        (WebCore::RenderMeter::isHorizontal): Added.
        (WebCore::RenderMeter::valuePseudoId): Added.
        (WebCore::RenderMeter::barPseudoId): Added.
        (WebCore::RenderMeter::updatePartsState): Added.
        * rendering/RenderMeter.h:
        * rendering/RenderProgress.cpp:
        (WebCore::RenderProgress::RenderProgress):
        (WebCore::RenderProgress::updateFromElement):
        (WebCore::RenderProgress::paint):
        (WebCore::RenderProgress::layoutParts): Added.
        (WebCore::RenderProgress::shouldHaveParts): Added.
        (WebCore::RenderProgress::updatePartsState):
        (WebCore::RenderProgress::valuePartRect):
        * rendering/RenderProgress.h:
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::isControlStyled):
        (WebCore::RenderTheme::paintMeter):
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::supportsMeter): Added.
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::supportsMeter): Added.
        * rendering/ShadowElement.cpp:
        (WebCore::ShadowBlockElement::layoutAsPart): Added.
        (WebCore::ShadowBlockElement::updateStyleForPart): Added.
        (WebCore::ShadowBlockElement::createForPart): Added.
        (WebCore::ShadowBlockElement::createStyleForPart): Added.
        (WebCore::ShadowBlockElement::partShouldHaveStyle): Added.
        * rendering/ShadowElement.h:
        * rendering/style/RenderStyleConstants.h:
        (WebCore::):

2010-06-17  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket: resume should not process buffer if already processing.
        https://bugs.webkit.org/show_bug.cgi?id=39340

        Test: websocket/tests/alert-in-event-handler.html

        While running an event handler of WebSocket object, it may be suspended
        and resumed in various reason. e.g. alert() will suspend/resume
        ActiveDOM objects. In chromium, sending IPC message would also
        suspend/resume ActiveDOM objects.
        If resume process pending buffer in this case, another event might
        be fired while running the initial event handler.
        Thus, resume should not process pending buffer immediately.
        Pending buffer would be processed after the current task has been
        finished.

        * websockets/ThreadableWebSocketChannelClientWrapper.h:
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::WebSocketChannel):
        (WebCore::WebSocketChannel::resume):
         Just set one shot timer for resumeTimerFired() if not yet set.
        (WebCore::WebSocketChannel::resumeTimerFired):
         Process pending event after resume was called.
        * websockets/WebSocketChannel.h:

2010-06-17  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        REGRESSION(HTML5 parser): editing/selection/leave-requested-block.html can fail or crash
        https://bugs.webkit.org/show_bug.cgi?id=40764

        HTML5ScriptRunner was careful to only call CachedResource::addClient
        for cases where the resource was not already loaded.  This was to
        avoid getting synchronous notifyFinished callbacks from inside
        addClient.  (The old HTMLDocumentParser also has hacks to work around
        addClient's synchronous notifyFinished behavior for already-loaded
        resources as well.)

        It turns out that CachedResource will mark itself as purgeable if it
        has no clients, thus it could have its data cleared (but itself not
        deleted) in the case where we yield back to the runloop to wait for
        CSS to load before executing the loaded script.

        The fix is to act more like the old parser and always call addClient
        on every CachedScript we load.  But unlike the old parser, we're
        careful not to re-enter from addClient -> notifyFinished
        using guards in HTML5DocumentParser::watchForLoad.

        I do not know how to make a CachedResource purge itself
        from a LayoutTest, so this is not currently testable.
        If anyone knows how I'm happy to make a test.

        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::watchForLoad):
         - It is now expected to call watchForLoad with a loaded script.
        (WebCore::HTML5DocumentParser::notifyFinished):
         - Now that watchForLoad is called with loaded scripts, notifyFinished
           may be be called from addClient, thus we may be in the middle of
           script execution when it's called.  It's OK.  We pass the call
           along to HTML5ScriptRunner::executeScriptsWaitingForLoad
           and it knows how to ignore the call in that case.
        * html/HTML5DocumentParser.h:
         - Document these member variables more.
        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
        (WebCore::HTML5ScriptRunner::executePendingScript):
        (WebCore::HTML5ScriptRunner::hasScriptsWaitingForLoad):
        (WebCore::HTML5ScriptRunner::watchForLoad):
         - Set the pending script to RegisteringForWatch state before
           watching and WatchingForLoad after.
        (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
         - Set the pending script to NotWatchingForLoad.
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
         - Assert that callers checked hasScriptsWaitingForLoad()
        (WebCore::HTML5ScriptRunner::requestScript):
        * html/HTML5ScriptRunner.h:
        (WebCore::HTML5ScriptRunner::PendingScript::):
        (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
        (WebCore::HTML5ScriptRunner::PendingScript::watchingForLoad):
        * html/HTML5ScriptRunnerHost.h:
         - Document the new expectations of watchForLoad

2010-06-17  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Prevent HTML5PreloadScanner from loading resources in <noscript> tags.
        https://bugs.webkit.org/show_bug.cgi?id=40779

        No new tests. Will create a layout test in a subsequent patch.

        * html/HTML5PreloadScanner.cpp:
        (WebCore::HTML5PreloadScanner::processToken):
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::adjustedLexerState):
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
        (WebCore::HTML5TreeBuilder::isScriptingFlagEnabled):
        * html/HTML5TreeBuilder.h:

2010-06-17  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTML5PreloadScanner parses <script> in DataState
        https://bugs.webkit.org/show_bug.cgi?id=40804

        The ScriptDataState is handled separately from the rest of the lexer
        state changes because it's more complicted in the tree builder.  The
        easiest thing is to just handle it separately in the preloader too.

        * html/HTML5PreloadScanner.cpp:
        (WebCore::HTML5PreloadScanner::processToken):

2010-06-17  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add CSS scanning to HTML5PreloadScanner
        https://bugs.webkit.org/show_bug.cgi?id=40802

        This patch just cribs the CSS preload scanning algorithm from the old
        preload scanner.  We also invented a way of testing the preload
        scanner.

        Tests: fast/preloader/image.html
               fast/preloader/link.html
               fast/preloader/script.html
               fast/preloader/style.html

        * Android.mk:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/CSSPreloadScanner.cpp: Added.
        (WebCore::isWhitespace):
        (WebCore::CSSPreloadScanner::CSSPreloadScanner):
        (WebCore::CSSPreloadScanner::reset):
        (WebCore::CSSPreloadScanner::scan):
        (WebCore::CSSPreloadScanner::tokenize):
        (WebCore::CSSPreloadScanner::emitRule):
        * html/CSSPreloadScanner.h: Added.
        (WebCore::CSSPreloadScanner::):
        * html/HTML5PreloadScanner.cpp:
        (WebCore::HTML5PreloadScanner::HTML5PreloadScanner):
        (WebCore::HTML5PreloadScanner::processToken):
        (WebCore::HTML5PreloadScanner::scanningBody):
        * html/HTML5PreloadScanner.h:

2010-06-17  Abhishek Arya  <inferno@chromium.org>

        Reviewed by David Kilzer.

        (Landed by Dirk Pranke).

        Check for a null frame before setting drag selection.
        https://bugs.webkit.org/show_bug.cgi?id=38893
        Same Layout test as https://bugs.webkit.org/show_bug.cgi?id=37168.

        Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html  

        Note that you need to run the test manually 20-30 times for the crash
        to reproduce.

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

2010-06-17  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Get rid of the the unused imageSize of ImageDecoderQt::internalHandleCurrentImage()
        https://bugs.webkit.org/show_bug.cgi?id=40620

        Remove an unused variable.

        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::internalHandleCurrentImage):

2010-06-17  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium API] Implement WebSandboxSupport on OS X and add stubs to allow
        OOP loading of fonts.

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

        * platform/chromium/ChromiumBridge.h: Add prototype for loadFont()

2010-06-17  Nicolas Weber  <thakis@chromium.org>

        Reviewed by Eric Seidel.

        Fix various warnings that are reported when building with clang
        https://bugs.webkit.org/show_bug.cgi?id=40503

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::labelElementContainer):
        * accessibility/AccessibilityTableCell.cpp:
        (WebCore::AccessibilityTableCell::parentTable):
        * bindings/v8/NPV8Object.cpp:
        (WebCore::npObjectTypeInfo):
        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
        (WebCore::):
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore::):
        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
        (WebCore::):
        * css/CSSStyleSheet.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::getNamedElements):
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorObject::getObject):
        (WebCore::InspectorObject::getArray):
        * page/animation/AnimationBase.h:
        * platform/graphics/BitmapImage.h:
        (WTF::):
        * platform/graphics/mac/FontPlatformData.h:
        * rendering/RenderBlock.h:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::ellipsisBox):
        * storage/StorageNamespaceImpl.cpp:
        (WebCore::StorageNamespaceImpl::storageArea):

2010-06-17  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Pavel Feldman.

        Add ENABLE(INSPECTOR) guard for m_sessionSettings
        https://bugs.webkit.org/show_bug.cgi?id=40611

        Build fix.

        * inspector/InspectorController.h:

2010-06-17  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add FIXME to explain HTMLDocumentParser's forceSynchronous bool
        https://bugs.webkit.org/show_bug.cgi?id=40609

        No functional change, just adding comment.

        * dom/Document.cpp:
        (WebCore::Document::write):

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

        Reviewed by Kenneth Rohde Christiansen.

        WebCore EventHandler needs to take account of onLoad events 
        fired before layout() complete

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

        WebCore 'cheats' by firing onLoad events before the frame's layout
        has been performed. This can result in event listeners performing
        operations that depend on the document's final layout, such as
        scrolling operations.

        When scrolling a frameview in eventhandler ensure the layout is complete.

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

2010-06-16  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add the error codes defined in the async DB spec to SQLError.idl and SQLError.h.
        https://bugs.webkit.org/show_bug.cgi?id=40748

        Test: storage/sql-error-codes.html

        * storage/SQLError.h:
        (WebCore::SQLError::):
        * storage/SQLError.idl:
        * storage/SQLStatement.cpp:
        (WebCore::SQLStatement::execute):
        (WebCore::SQLStatement::setDatabaseDeletedError):
        (WebCore::SQLStatement::setVersionMismatchedError):
        (WebCore::SQLStatement::setFailureDueToQuota):
        (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::openTransactionAndPreflight):
        (WebCore::SQLTransaction::deliverTransactionCallback):
        (WebCore::SQLTransaction::handleCurrentStatementError):
        (WebCore::SQLTransaction::deliverStatementCallback):
        (WebCore::SQLTransaction::postflightAndCommit):

2010-06-17  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Jian Li.

        Fix CRLF ending conversion in StringBlobItem.
        https://bugs.webkit.org/show_bug.cgi?id=40736
        Also: fix referencing uninitialized member bug and slice length bug
        in hybrid blob case.

        Tests will be added when we add BlobBuilder jsc bindings.

        * platform/BlobItem.cpp:
        (WebCore::StringBlobItem::convertToCString):
        (WebCore::DataRangeBlobItem::DataRangeBlobItem):

2010-06-17  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, rolling out r61340.
        http://trac.webkit.org/changeset/61340
        https://bugs.webkit.org/show_bug.cgi?id=36282

        Broke several editing tests.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2010-06-17  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Add optional contentType parameter to Blob.slice per latest File API spec.
        https://bugs.webkit.org/show_bug.cgi?id=40647

        Tested by http/tests/local/resources/send-sliced-dragged-file.html.

        * html/Blob.cpp:
        (WebCore::Blob::slice):
        * html/Blob.h:
        * html/Blob.idl:

2010-06-17  Jesus Sanchez-Palencia  <jesus@webkit.org>, Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] QtWebKit does not support viewport meta tag
        https://bugs.webkit.org/show_bug.cgi?id=39902

        Add windowRect() to page client.

        * platform/qt/QWebPageClient.h:

2010-06-17  Stephen White  <senorblanco@chromium.org>

        Reviewed by David Levin.

        Fix for slow multiple animated resize issue.
        https://bugs.webkit.org/show_bug.cgi?id=38233

        The timer-based resize quality approach implemented in
        http://trac.webkit.org/changeset/34210 is a good idea, but doesn't
        scale to multiple images with animated resizes.  This fix unifies all
        outstanding resize timers into a single timer, and removes the "use
        last quality" check (which doesn't work when images are overlapping). 
        It also refactors the copy of this code implemented in
        RenderBoxModelObject in http://trac.webkit.org/changeset/53949.

        This improves Safari performance for the following IE9 platform demos on my C2D MacPro (10.5):
        http://ie.microsoft.com/testdrive/Performance/01FlyingImages/Default.html (4->60fps)
        http://ie.microsoft.com/testdrive/Performance/10FlickrExplorer/Default.html (3->16fps)
        http://ie.microsoft.com/testdrive/Performance/11BrowserFlip/Default.html (9->60fps)

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::ImageQualityController::ImageQualityController):
        Unify all timers into a single timer, rename RenderBoxModelScaleObserver
        to ImageQualityController, and remove the resize quality "stickness",
        since it doesn't work with multiple outstanding resizes.
        (WebCore::ImageQualityController::objectDestroyed):
        gImages global is now m_lastPaintTimeMap member.
        (WebCore::ImageQualityController::highQualityRepaintTimerFired):
        Function made non-static; repaint all pending resizes (not just one).
        (WebCore::ImageQualityController::restartTimer):
        Added function to restart timer at 1.05x threshold.
        (WebCore::imageQualityController):
        Static function to return singleton.
        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
        Use m_lastPaintTimeMap, not gImages global.  Implement new timer
        algorithm.  Remove resize "stickiness".
        (WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
        Implement shouldPaintAtLowQuality, which pulls out "this" and passes
        the call to the ImageQualityController.
        (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
        Call ImageQualityController singleton's objectDestroyed() instead of
        old static function.
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        Modify shouldPaintAtLowQuality() call to match new class name and
        function signature.
        * rendering/RenderBoxModelObject.h:
        Expose shouldPaintAtLowQuality as a member function.
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::~RenderImage):
        No need to call objectDestroyed() here anymore, since the
        RenderBoxModelObject destructor will do this for us.
        (WebCore::RenderImage::paintIntoRect):
        Rip out RenderImageScaleObserver, and call
        RenderBoxModelObject::shouldPaintAtLowQuality() instead.

2010-06-17  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Dave Hyatt.

        CSS3 "Property is declared twice in rule" test fails
        https://bugs.webkit.org/show_bug.cgi?id=36282

        Filter out duplicate properties in style declaration.

        Test: fast/css/duplicate-property-in-rule.html

        * css/CSSMutableStyleDeclaration.cpp: Filter out duplicate properties
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Discard negative padding values
        * css/CSSStyleSelector.cpp: Remove negative padding check
        (WebCore::CSSStyleSelector::applyProperty):

2010-06-17  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Clean up error conditions for Typed Arrays
        https://bugs.webkit.org/show_bug.cgi?id=40755

        * bindings/js/JSArrayBufferCustom.cpp:
        (WebCore::JSArrayBufferConstructor::constructJSArrayBuffer):
         - Fixed handling of NaN/+inf/-inf lengths. Throw RangeError for too-large or negative lengths.
        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::constructArrayBufferView):
         - Changed all error code paths to throw exceptions. Clarified exception types.
        * bindings/js/JSFloat32ArrayCustom.cpp:
        (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
        * bindings/js/JSInt16ArrayCustom.cpp:
        (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
        * bindings/js/JSInt32ArrayCustom.cpp:
        (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
        * bindings/js/JSInt8ArrayCustom.cpp:
        (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
        * bindings/js/JSUint16ArrayCustom.cpp:
        (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
        * bindings/js/JSUint32ArrayCustom.cpp:
        (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
        * bindings/js/JSUint8ArrayCustom.cpp:
        (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
        (WebCore::V8ArrayBuffer::constructorCallback):
         - Fixed handling of NaN/+inf/-inf lengths. Throw RangeError for too-large or negative lengths.
           Clarified exception types.
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::constructWebGLArray):
         - Clarified exception types and throwing of exceptions along all error code paths.
        * html/canvas/TypedArrayBase.h:
        (WebCore::TypedArrayBase::create):
         - Added necessary null checks during allocation.

2010-06-17  Shu Chang  <chang.shu@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Fix the link error on symbian with ENABLE_JIT=0.
        1. Add "#if ENABLE(JIT)" in the header file;
        2. Put feature enable/disable logic to a common.pri so
        that both JavaScriptCore.pri and WebCore.pri can share.

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

        * WebCore.pri:

2010-06-17  Kenneth Russell  <kbr@google.com>

        Reviewed by Oliver Hunt.

        Differences in error reporting for overloaded methods causing fast/canvas/webgl/texImageTest.html to fail
        https://bugs.webkit.org/show_bug.cgi?id=40750

        Added V8Proxy::throwTypeError() and throwSyntaxError for parity
        with JSC::throwTypeError() and throwSyntaxError. Changed
        CodeGeneratorV8.pm to use throwTypeError for overload resolution
        failures. Revised CodeGeneratorJS.pm to use throwVMTypeError
        instead of manual call to JSValue::encode. Deleted now-unnecessary
        Chromium expectations for fast/canvas/webgl/texImageTest.html.

        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::throwTypeError):
        (WebCore::V8Proxy::throwSyntaxError):
        * bindings/v8/V8Proxy.h:

2010-06-17  Darin Fisher  <darin@chromium.org>

        Reviewed by Brady Eidson.

        If Page::goToItem is passed a HistoryItem that is the current item,
        then the page should be loaded again.

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

        * loader/HistoryController.cpp:
        (WebCore::HistoryController::recursiveGoToItem): Add a check to
        recursiveGoToItem that matches the one in FrameLoader::loadItem.

2010-06-17  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Build fix for DragDataBrew
        https://bugs.webkit.org/show_bug.cgi?id=40610

        http://trac.webkit.org/changeset/60957 was not applied to DragDataBrew.cpp.
        Add FilenameConversionPolicy argument to DragData::containsURL and DragData::asURL.

        * platform/brew/DragDataBrew.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):

2010-06-17  Zhenyao Mo  <zmo@google.com>

        Reviewed by David Levin.

        Rename internalformat to internalFormat
        https://bugs.webkit.org/show_bug.cgi?id=40149

        * html/canvas/WebGLFramebuffer.cpp: Rename internalformat to internalFormat.
        (WebCore::WebGLFramebuffer::getColorBufferFormat):
        * html/canvas/WebGLRenderbuffer.cpp: Ditto.
        (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
        * html/canvas/WebGLRenderbuffer.h: Ditto.
        (WebCore::WebGLRenderbuffer::setInternalFormat):
        (WebCore::WebGLRenderbuffer::getInternalFormat):
        * html/canvas/WebGLRenderingContext.cpp: Ditto.
        (WebCore::WebGLRenderingContext::copyTexImage2D):
        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
        (WebCore::WebGLRenderingContext::getRenderbufferParameter):
        (WebCore::WebGLRenderingContext::renderbufferStorage):
        (WebCore::WebGLRenderingContext::texImage2DBase):
        (WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid):
        * html/canvas/WebGLRenderingContext.h: Ditto.
        * html/canvas/WebGLTexture.cpp: Ditto.
        (WebCore::WebGLTexture::WebGLTexture):
        * html/canvas/WebGLTexture.h: Ditto.
        (WebCore::WebGLTexture::setInternalFormat):
        (WebCore::WebGLTexture::getInternalFormat):

2010-06-17  Zhenyao Mo  <zmo@google.com>

        Reviewed by David Levin.

        Remove input parameter validation for "level" upper limit in *tex* functions
        https://bugs.webkit.org/show_bug.cgi?id=40603

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateTexFuncParameters): Don't check for "level" upper limit.

2010-06-17  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Eric Seidel.

        Clean EFL header files in order to diminish the compilation time with
        EFL from subversion. We remove the EFL includes from header files and use
        forward declarations, including the headers in correspondent source
        files when needed. This causes only the needed source files to be
        recompiled in case a new version of EFL is installed instead of
        triggering a recompilation of almost all WebCore/WebKit.
        https://bugs.webkit.org/show_bug.cgi?id=40575

        No new functionalities, so no new tests.

        * CMakeListsEfl.txt:
        * platform/PlatformKeyboardEvent.h: forward declaration.
        * platform/PlatformMouseEvent.h: forward declaration and change method
        signature to not require enum.
        * platform/PlatformWheelEvent.h: forward declaration.
        * platform/Widget.h: forward declaration.
        * platform/efl/PlatformKeyboardEventEfl.cpp: include needed header.
        * platform/efl/PlatformMouseEventEfl.cpp:
        (WebCore::PlatformMouseEvent::setClickCount): change method signature
        as mentioned above.
        * platform/efl/PlatformWheelEventEfl.cpp: include needed header.
        * platform/efl/RenderThemeEfl.cpp: include needed header
        * platform/efl/RenderThemeEfl.h: forward declaration.
        * platform/efl/ScrollbarEfl.cpp: include needed header.
        * platform/efl/ScrollbarEfl.h: forward declaration.
        * platform/efl/WidgetEfl.cpp: include needed header.
        * platform/graphics/FloatRect.h: remove unused method.
        * platform/graphics/Icon.h: forward declaration.
        * platform/graphics/IntRect.h: remove unused method.
        * platform/graphics/efl/FloatRectEfl.cpp: Removed. This file was
        implementing an unused method.
        * platform/graphics/efl/IntRectEfl.cpp: Removed. This file was
        implementing an unused method.

2010-06-17  Alex Milowski  <alex@milowski.com>

        Reviewed by Darin Adler.

        Fixed a compile error in the paint() methods by making them use the
        new visitedDependentColor() method.
        https://bugs.webkit.org/show_bug.cgi?id=40327

        * mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::paint):
        (WebCore::RenderMathMLRoot::layout): Fixed a crash where every child 
        was assumed to be a RenderMathMLBlock instance when that isn't the 
        case.  Also, layout() needed to mark the index for layout before 
        calling layout() on the index.
        * mathml/RenderMathMLSquareRoot.cpp:
        (WebCore::RenderMathMLSquareRoot::paint):

2010-06-17  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Use adoptRef and create functions in more code paths
        https://bugs.webkit.org/show_bug.cgi?id=40760

        This helps prepare for an assertion that fires if you ref or destroy an
        object before calling adoptRef on it. That will help us catch mistakes
        that can lead to storage leaks.

        * WebCore.base.exp: Updated export now that Frame::create is not an
        inline function.

        * css/CSSInitialValue.h:
        (WebCore::CSSInitialValue::createExplicit): Use create.
        (WebCore::CSSInitialValue::createImplicit): Ditto.
        (WebCore::CSSInitialValue::create): Added.

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::createUncachedIdentifier): Added.
        (WebCore::CSSPrimitiveValue::createUncachedColor): Added.
        (WebCore::CSSPrimitiveValue::createUncached): Added.
        (WebCore::CSSPrimitiveValue::createIdentifier): Use createUncachedIdentifier
        instead of using new directly.
        (WebCore::CSSPrimitiveValue::createColor): Use createUncachedColor instead
        of using new directly.
        (WebCore::CSSPrimitiveValue::create): Use createdUncached instead of using
        new directly.
        * css/CSSPrimitiveValue.h: Declare the new functions above.

        * css/CSSStyleSelector.cpp:
        (WebCore::loadFullDefaultStyle): Deref simpleDefaultStyleSheet instead of
        explicitly deleting it.

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::SubresourceLoader): Move the call to
        addSubresourceLoader out of here.
        (WebCore::SubresourceLoader::create): Move it in here. This makes it so
        we don't ref the loader before finishing its creation and calling adoptRef.

        * page/Frame.cpp:
        (WebCore::Frame::Frame): Move the call to setMainFrame out of here.
        Also refactor the code so an assertion is easier to read.
        (WebCore::Frame::create): Move the call to setMainFrame in here.
        This makes it so we don't ref the frame before finishing its creation
        and calling adoptRef.
        * page/Frame.h: Made the create function non-inline.

        * platform/text/BidiContext.cpp:
        (WebCore::BidiContext::createUncached): Added.
        (WebCore::BidiContext::create): Call createUncached instead of callling
        new directly.
        * platform/text/BidiContext.h: Declare createUncached.

        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::buildPrimitives): Use PassRefPtr and
        RefPtr instead of OwnPtr. And use the create function instead of new.
        * rendering/RenderSVGResourceFilter.h: Ditto.
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeSVGResourceContainer): Ditto.

        * storage/StorageAreaImpl.cpp:
        (WebCore::StorageAreaImpl::StorageAreaImpl): Move the code that calls
        StorageAreaSync::create out of here.
        (WebCore::StorageAreaImpl::create): Move it in here. This makes it so we
        don't ref the storage area before finishing its creation and calling adoptRef.

        * svg/SVGPaint.cpp:
        (WebCore::SVGPaint::defaultFill): Use create instead of new.
        (WebCore::SVGPaint::defaultStroke): Ditto.

        * svg/graphics/filters/SVGFilterBuilder.h: Made the constructor private
        and added a create function since this is a reference counted object and
        should not be constructed directly.

2010-06-17  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Gustavo Noronha.

        Update CMake build system to use new script for generating source files
        with gperf (r61091).
        This updates also the build system to cope with recent changes to
        source files list.
        https://bugs.webkit.org/show_bug.cgi?id=40628

        No new tests since it's just compilation fixes.

        * CMakeLists.txt:

2010-06-17  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Fix boolean reflected attributes to use empty string consistently for the content attribute value
        https://bugs.webkit.org/show_bug.cgi?id=40758

        Test: fast/dom/boolean-attribute-reflection.html

        The HTML5 specification and other browsers are all consistent:
        When setting a boolean IDL attribute to true, the attribute value
        gets set to the empty string. The guidelines for authors allow either
        the empty string or the name of the attribute, but for implementers
        of the DOM, the reflected attribute gets empty string.

        * dom/Element.cpp:
        (WebCore::Element::setBooleanAttribute): Use emptyAtom to set the
        attribute to the empty string.

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::setAutofocus): Use the empty string,
        not "autofocus".
        (WebCore::HTMLFormControlElement::setRequired): Use the empty string,
        not "required".

2010-06-17  Pavel Feldman  <pfeldman@chromium.org>

        Unreviewed: chromium tests fix. Added InspectorBackend delegates for new inspector methods.

        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub.prototype.clearConsoleMessages):
        (.WebInspector.InspectorBackendStub.prototype.getOuterHTML):
        (.WebInspector.InspectorBackendStub.prototype.setOuterHTML):
        (.WebInspector.InspectorBackendStub.prototype.addInspectedNode):

2010-06-17  Mark Brand  <mabrand@mabrand.nl>

        Reviewed by Simon Hausmann.

        [Qt] use "win32-g++*" scope to match all MinGW makespecs

        The scope "win32-g++" comes from the name of the makespec. However, it
        is frequently used to check for MinGW. This works fine as long as
        win32-g++ is the only makespec for MinGW. Now we need the wildcard
        to cover "win32-g++-cross" as well.

        * WebCore.pro:

2010-06-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Joe Pecoraro.

        Web Inspector: move get/setOuterHTML, addInspectedNode and
        clearConsole to native InspectorDOMAgent. This is done to allow
        inspected nodes array to store nodes from different domains,
        also moves outerhtml manipulation closer to the rest of the DOM
        operations. In addition to that, we are slowly getting rid of
        InjectedScriptAccess in favor of IDL-defined InspectorBackend
        interface for clearer remote debugging API.

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

        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::inspectedNode):
        * inspector/InjectedScriptHost.h:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::changeTagName):
        (WebCore::InspectorBackend::getOuterHTML):
        (WebCore::InspectorBackend::setOuterHTML):
        (WebCore::InspectorBackend::addInspectedNode):
        (WebCore::InspectorBackend::clearConsoleMessages):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::inspectedNode):
        (WebCore::InspectorDOMAgent::changeTagName):
        (WebCore::InspectorDOMAgent::getOuterHTML):
        (WebCore::InspectorDOMAgent::setOuterHTML):
        (WebCore::InspectorDOMAgent::addInspectedNode):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::didGetOuterHTML):
        (WebCore::InspectorFrontend::didSetOuterHTML):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.requestClearMessages):
        * inspector/front-end/DOMAgent.js:
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
        (WebInspector.ElementsPanel):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
        ():
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):
        * inspector/front-end/InjectedScriptAccess.js:

2010-06-17  John Gregg  <johnnyg@google.com>

        Reviewed by David Levin.

        Move the call to the notification presenter that a Notification is being
        destroyed from the destructor (not safe) to the ActiveDOMObject::contextDestroyed
        method.

        Also fix up an incorrect reference loss in the V8 bindings code for Notifications.
        https://bugs.webkit.org/show_bug.cgi?id=40097

        No new tests; code paths are well-covered by existing tests.

        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
        (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
        (WebCore::V8NotificationCenter::createNotificationCallback):
        * notifications/Notification.cpp:
        (WebCore::Notification::~Notification):
        (WebCore::Notification::contextDestroyed):
        * notifications/Notification.h:

2010-06-17  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed rollout r61311, because it made 2 tests fail on Qt bot.

        [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved
        https://bugs.webkit.org/show_bug.cgi?id=36702

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

2010-05-28  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>

        Reviewed by Simon Hausmann, Antti Koivisto

        Make repaint throttling parameters runtime configurable.
        https://bugs.webkit.org/show_bug.cgi?id=38401

        REPAINT_THROTTLING now chooses default values for throttling parameters.
        Should be removed when applications start using runtime configuration.

        * page/FrameView.cpp:
        (WebCore::FrameView::reset):
        (WebCore::FrameView::updateDeferredRepaintDelay):
        (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelay):
        (WebCore::FrameView::setRepaintThrottlingnInitialDeferredRepaintDelayDuringLoading):
        (WebCore::FrameView::setRepaintThrottlingMaxDeferredRepaintDelayDuringLoading):
        (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelayIncrementDuringLoading):
        * page/FrameView.h:

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

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved

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

        setNPWindowIfNeeded() is called on paint() in PluginViewQt, which doesn't
        work for DRT. So call it if we are in DRT mode and the window geometry
        has changed.

        Unskips plugins/reentrant-update-widget-positions.html

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

2010-06-17  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Kenneth Christiansen.

        [Qt] Avoid unnecessary calls to save() and restore() when drawing images

        Avoid calling the expensive save() and restore() on the GraphicsContext just
        for changing the composition mode. Instead save and restore it manually
        on QPainter.

        Change fac227f609e544f8f55aca8447b4328d6534407a in Qt makes sure that the
        call to QPainter::setCompositionMode doesn't do anything if the mode hasn't
        changed.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::toQtCompositionMode):
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw):

2010-06-16  Dawit Alemayehu  <adawit@kde.org>

        Reviewed by Simon Hausmann.

        [Qt] QtWebKit crashes while initializing flash plugin 10.1.53.64.
        https://bugs.webkit.org/show_bug.cgi?id=40567

        Avoid preventable crashes by ensuring gtk_init() is called in the
        flash viewer plugins before calling NP_Initialize.

        * plugins/qt/PluginPackageQt.cpp:
        (WebCore::PluginPackage::load):

2010-06-16  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by David Levin.

        Guarantee that references are held for CachedScripts in HTMLDocumentParser.
        https://bugs.webkit.org/show_bug.cgi?id=40177

        No new tests because no new functionality.

        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::reset):
        (WebCore::HTMLDocumentParser::executeExternalScriptsIfReady):

2010-06-16  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

         [Qt] Repeat pattern should start from origin
         https://bugs.webkit.org/show_bug.cgi?id=39225

         Patterns must be painted so that the top left of the first image 
         is anchored at the origin of the coordinate space.

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

2010-06-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>

        Reviewed by Simon Hausmann.

        [Qt] WebGL viewport does not show up on N900  
        https://bugs.webkit.org/show_bug.cgi?id=38528

        With OGLES2 add default precision to the shader code.
        Use GLsizeiptr and GLintptr with OGLES2.
        Call paint() in beginPaint() so that drawTexture() is used 
        whenever possible.

        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::beginPaint):
        (WebCore::GraphicsContext3D::paint):
        (WebCore::GraphicsContext3D::shaderSource):

2010-06-16  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Simon Fraser.

        Spatial Navigation: refactor scrollInDirection to work with scrollable content
        https://bugs.webkit.org/show_bug.cgi?id=39195

        scrollInDirection now receives as parameter the node that the Spatial Navigation
        found as the more appropriated to move focus to. If it is in a scrollable container
        (e.g. <div> with clipped overflow content), it scrolls recursively starting from
        the container, not the current focused node.

        Test: fast/events/spatial-navigation/snav-only-clipped-overflow-content.html

        * page/FocusController.cpp:
        (WebCore::FocusController::advanceFocusDirectionally):
        * page/SpatialNavigation.cpp:
        (WebCore::scrollInDirection):
        * page/SpatialNavigation.h:

2010-06-16  Brady Eidson  <beidson@apple.com>

        Reviewed by Eric Carlson

        <rdar://problem/7249553> and https://bugs.webkit.org/show_bug.cgi?id=40749
        ResourceLoader::willCacheResponse() needs to null-check Frame::Settings()

        No new tests. (Discovered via crash reports, no reproducible cases noted)

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::willCacheResponse):  Null check m_frame->settings(), 
          but also add an ASSERT so debug-build developers can learn more about why
          this might be happening.

2010-06-16  Darin Adler  <darin@apple.com>

        Try to fix the MathML build.

        * mathml/MathMLMathElement.h: Added missing return type.

2010-06-16  Darin Adler  <darin@apple.com>

        Reviewed by David Levin.

        Deploy adoptRef in more places, including all HTML and MathML elements
        https://bugs.webkit.org/show_bug.cgi?id=39941

        * dom/Element.cpp:
        (WebCore::Element::dispatchAttrRemovalEvent): Use create instead of new
        in commented-out code.
        (WebCore::Element::dispatchAttrAdditionEvent): Ditto.

        * dom/Node.h: Removed now-unused CreateElementZeroRefCount and
        CreateHTMLElementZeroRefCount.

        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::insertList): Use create instead of new, fixing
        a storage leak.

        * editing/ModifySelectionListLevel.cpp:
        (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevel):
        Removed "WithType" from function name. Use create instead of new, fixing a
        storage leak.
        (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel): Use
        create instead of new, fixing a storage leak.

        * storage/IndexedDatabaseImpl.cpp:
        (WebCore::IndexedDatabaseImpl::create): Use adoptRef, fixing a storage leak.

        * editing/ModifySelectionListLevel.h: Added create functions.

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::HTMLAnchorElement):
        * html/HTMLFrameOwnerElement.cpp:
        (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::HTMLMeterElement):
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::HTMLProgressElement):
        Removed code to explicitly pass CreateHTMLElement construction type since that's
        now the type used for all HTML elements.

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
        * html/HTMLFormControlElement.h:
        Removed construction type argument, since CreateHTMLElement is now the type used
        for all HTML elements.

        * mathml/MathMLElement.cpp:
        (WebCore::MathMLElement::MathMLElement): Removed construction type of
        CreateStyledElementZeroRefCount so we'll use the default construction
        type, CreateStyledElement.
        (WebCore::MathMLElement::create): Use adoptRef.

        * mathml/MathMLElement.h: Made isMathMLElement function private and
        removed unneeded override of createRenderer, because it did the
        same thing as the base class's createRenderer function.

        * mathml/MathMLInlineContainerElement.cpp:
        (WebCore::MathMLInlineContainerElement::create): Use adoptRef.
        (WebCore::MathMLInlineContainerElement::createRenderer):
        Removed unnecessarily initialization of local variable and removed the
        case for mathTag, since that uses a different derived class.

        * mathml/MathMLInlineContainerElement.h: Made createRenderrer override
        private.

        * mathml/MathMLMathElement.cpp:
        (WebCore::MathMLMathElement::MathMLMathElement): Marked inline since
        it is called in only one place.
        (WebCore::MathMLMathElement::create): Use adoptRef.
        (WebCore::MathMLMathElement::createRenderer): Added. Creates a
        RenderMathMLMath object.

        * mathml/MathMLMathElement.h: Made constructor private and added a
        private override of createRenderer.

        * mathml/MathMLTextElement.cpp:
        (WebCore::MathMLTextElement::MathMLTextElement): Marked inline since
        it is called in only one place.
        (WebCore::MathMLTextElement::create): Use adoptRef.
        (WebCore::MathMLTextElement::createRenderer): Changed to call through
        to the base class instead of calling RenderObject::createObject directly.

        * mathml/MathMLTextElement.h: Made the constructor and createRenderer
        function private.

        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::RenderFileUploadControl):
        Removed an unneeded initializer.

        * rendering/RenderProgress.cpp: Tweaked includes.

        * rendering/ShadowElement.cpp: Added a "using namespace" directive.
        * rendering/ShadowElement.h: Tweaked formatting. Made more functions
        private.

        * editing/DeleteButton.cpp:
        (WebCore::DeleteButton::create):
        * html/HTMLAudioElement.cpp:
        (WebCore::HTMLAudioElement::create):
        (WebCore::HTMLAudioElement::createForJSConstructor):
        * html/HTMLBRElement.cpp:
        (WebCore::HTMLBRElement::create):
        * html/HTMLBaseElement.cpp:
        (WebCore::HTMLBaseElement::create):
        * html/HTMLBaseFontElement.cpp:
        (WebCore::HTMLBaseFontElement::create):
        * html/HTMLBlockquoteElement.cpp:
        (WebCore::HTMLBlockquoteElement::create):
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::create):
        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::create):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::create):
        * html/HTMLDListElement.cpp:
        (WebCore::HTMLDListElement::create):
        * html/HTMLDataGridCellElement.cpp:
        (WebCore::HTMLDataGridCellElement::create):
        * html/HTMLDataGridColElement.cpp:
        (WebCore::HTMLDataGridColElement::create):
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::create):
        * html/HTMLDataGridRowElement.cpp:
        (WebCore::HTMLDataGridRowElement::create):
        * html/HTMLDataListElement.cpp:
        (WebCore::HTMLDataListElement::create):
        * html/HTMLDivElement.cpp:
        (WebCore::HTMLDivElement::create):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::create):
        * html/HTMLElement.h:
        (WebCore::HTMLElement::HTMLElement):
        * html/HTMLFieldSetElement.cpp:
        (WebCore::HTMLFieldSetElement::create):
        * html/HTMLFontElement.cpp:
        (WebCore::HTMLFontElement::create):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::create):
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::create):
        * html/HTMLHRElement.cpp:
        (WebCore::HTMLHRElement::create):
        * html/HTMLHeadElement.cpp:
        (WebCore::HTMLHeadElement::create):
        * html/HTMLHeadingElement.cpp:
        (WebCore::HTMLHeadingElement::create):
        * html/HTMLHtmlElement.cpp:
        (WebCore::HTMLHtmlElement::create):
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::create):
        (WebCore::HTMLImageElement::createForJSConstructor):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::create):
        * html/HTMLIsIndexElement.cpp:
        (WebCore::HTMLIsIndexElement::create):
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::create):
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::create):
        * html/HTMLLabelElement.cpp:
        (WebCore::HTMLLabelElement::create):
        * html/HTMLLegendElement.cpp:
        (WebCore::HTMLLegendElement::create):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::create):
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::create):
        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::create):
        * html/HTMLMenuElement.cpp:
        (WebCore::HTMLMenuElement::create):
        * html/HTMLMetaElement.cpp:
        (WebCore::HTMLMetaElement::create):
        * html/HTMLModElement.cpp:
        (WebCore::HTMLModElement::create):
        * html/HTMLNoScriptElement.cpp:
        (WebCore::HTMLNoScriptElement::create):
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::create):
        * html/HTMLOptGroupElement.cpp:
        (WebCore::HTMLOptGroupElement::create):
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::create):
        (WebCore::HTMLOptionElement::createForJSConstructor):
        * html/HTMLParagraphElement.cpp:
        (WebCore::HTMLParagraphElement::create):
        * html/HTMLParamElement.cpp:
        (WebCore::HTMLParamElement::create):
        * html/HTMLPreElement.cpp:
        (WebCore::HTMLPreElement::create):
        * html/HTMLQuoteElement.cpp:
        (WebCore::HTMLQuoteElement::create):
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::create):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::create):
        * html/HTMLSourceElement.cpp:
        (WebCore::HTMLSourceElement::create):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::create):
        * html/HTMLTableCaptionElement.cpp:
        (WebCore::HTMLTableCaptionElement::create):
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::create):
        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::create):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::create):
        * html/HTMLTableRowElement.cpp:
        (WebCore::HTMLTableRowElement::create):
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::create):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::create):
        * html/HTMLTitleElement.cpp:
        (WebCore::HTMLTitleElement::create):
        * html/HTMLUListElement.cpp:
        (WebCore::HTMLUListElement::create):
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::create):
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocumentElement::create):
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlShadowRootElement::create):
        (WebCore::MediaControlElement::create):
        (WebCore::MediaControlTimelineContainerElement::create):
        (WebCore::MediaControlVolumeSliderContainerElement::create):
        (WebCore::MediaControlStatusDisplayElement::create):
        (WebCore::MediaControlMuteButtonElement::create):
        (WebCore::MediaControlPlayButtonElement::create):
        (WebCore::MediaControlSeekButtonElement::create):
        (WebCore::MediaControlRewindButtonElement::create):
        (WebCore::MediaControlReturnToRealtimeButtonElement::create):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
        (WebCore::MediaControlTimelineElement::create):
        (WebCore::MediaControlVolumeSliderElement::create):
        (WebCore::MediaControlFullscreenButtonElement::create):
        (WebCore::MediaControlTimeDisplayElement::create):
        * rendering/RenderSlider.cpp:
        (WebCore::SliderThumbElement::create):
        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::create):
        (WebCore::TextControlInnerTextElement::create):
        (WebCore::SearchFieldResultsButtonElement::create):
        (WebCore::SearchFieldCancelButtonElement::create):
        (WebCore::SpinButtonElement::create):
        Use adoptRef.

2010-06-16  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTML5 parser crash when setTimeout document.write after slow script
        https://bugs.webkit.org/show_bug.cgi?id=40726

        According to the HTML5 spec, we're supposed to open() a new document if
        we receive a document.write() after we've received EOF for the network.
        The old parser just dumped those bytes onto the end of the network
        stream.  After this patch, our behavior matches Minefield.

        Test: http/tests/misc/write-while-waiting.html

        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::write):
        * dom/DocumentParser.h:
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::finishWasCalled):
        * dom/XMLDocumentParser.h:
        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::finishWasCalled):
        * html/HTML5DocumentParser.h:
        (WebCore::HTML5DocumentParser::InputStream::isClosed):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::finishWasCalled):
        * html/HTMLDocumentParser.h:
        * loader/ImageDocument.cpp:
        (WebCore::ImageTokenizer::finishWasCalled):
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocumentParser::finishWasCalled):
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::finishWasCalled):
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocumentParser::finishWasCalled):
        * loader/TextDocument.cpp:
        (WebCore::TextDocumentParser::finishWasCalled):

2010-06-16  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] ClipboardGtk::setURL does not match the behavior of other platforms
        https://bugs.webkit.org/show_bug.cgi?id=40640

        Instead of writing URL labels to the text portion of the clipboard or
        drag-and-drop data, write the URL itself. Also escape the label text
        of URLs. Abstracts logic into DataObjectGtk, so ClipboardGtk and
        PasteboardGtk can share it.

        Tests for this issue will be activated when dropping support has been
        added to the GTK+ EventSender.

        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::ClipboardGtk::writeURL): Use DataObjectGtk::setURL.
        * platform/gtk/DataObjectGtk.cpp:
        (WebCore::DataObjectGtk::setURL):
        Added. Write URL to the text portion and remember to escape the
        label when creating the markup portion.
        * platform/gtk/DataObjectGtk.h: Add declaration of new method.
        * platform/gtk/PasteboardGtk.cpp: 
        (WebCore::Pasteboard::writeURL): Use DataObjectGtk::setURL.

2010-06-16  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Hit assertion in WebCore::HTML5Token::appendToSystemIdentifier
        https://bugs.webkit.org/show_bug.cgi?id=40729

        This was a copy/paste error.  Yay for ASSERTs.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-16  Stuart Morgan  <stuartmorgan@chromium.org>

        Reviewed by Anders Carlsson.

        Bring npapi.h more in line with upstream npapi-headers version:
        - Remove obsolete XP_MAC sections.
        - Remove Metrowerks defines.
        - Add OS/2 defines.
        - Add Maemo defines.
        - Add new version of the custom Carbon event definitions.
        - Sync platform define style/details

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

        * bridge/npapi.h:

2010-06-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        Allow transitions and animations of clip: rect
        https://bugs.webkit.org/show_bug.cgi?id=38130
        
        Make the CSS clip property animatable.

        Test: transitions/clip-transition.html

        * page/animation/AnimationBase.cpp:
        (WebCore::blendFunc): New blend function for LengthBox
        (WebCore::AnimationBase::ensurePropertyMap): Create a PropertyWrapper for LengthBoxes.

        * platform/LengthBox.h:
        (WebCore::LengthBox::LengthBox): New ctor that takes 4 length values.
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::setClip): New method that takes a LengthBox.

2010-06-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Fix clipping via CSS clip: with composited descendants
        https://bugs.webkit.org/show_bug.cgi?id=40579
        
        Consult the 'clip' style, as well as overflow, when creating clipping
        compositing layers.

        Tests: compositing/geometry/clip.html
               compositing/overflow/clip-descendents.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::clipBox): Utility function that returns the union of the clip and overflow
        boxes.
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Use clipBox() to
        get the correct clipping rectangle.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::enclosingNonStackingClippingLayer): Look for
        clip as well as overflow.
        (WebCore::RenderLayerCompositor::clipsCompositingDescendants): Ditto.

2010-06-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        REGRESSION: Undocked inspector toolbar is white
        https://bugs.webkit.org/show_bug.cgi?id=40644

        Make the html element 100% height so that we don't erase the background to white, after r61215.

        * inspector/front-end/inspector.css:
        (html):

2010-06-16  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Darin Adler.

        User scripts injected on start are not run on image documents.
        https://bugs.webkit.org/show_bug.cgi?id=40722
        <rdar://8087394>
        
        User scripts that are injected on start are run from FrameLoader::dispatchDocumentElementAvailable,
        but this is never called from ImageDocument, so call it when we create a document element for
        our image document.

        * loader/ImageDocument.cpp:
        (WebCore::ImageDocument::createDocumentStructure): Call FrameLoader::dispatchDocumentElementAvailable
            after creating our document element.

2010-06-16  Brady Eidson  <beidson@apple.com>

        Reviewed by NOBODY (Build fix for Mac)

        * WebCore.xcodeproj/project.pbxproj: Make paths relative to the project root.

2010-06-16  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Eric Carlson.

        https://bugs.webkit.org/show_bug.cgi?id=40643
        
        Second of three steps - rename Canvas3DLayer to WebGLLayer

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/mac/Canvas3DLayer.h: Removed.
        * platform/graphics/mac/Canvas3DLayer.mm: Removed.
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
        * platform/graphics/mac/WebGLLayer.h: Copied from WebCore/platform/graphics/mac/Canvas3DLayer.h.
        * platform/graphics/mac/WebGLLayer.mm: Copied from WebCore/platform/graphics/mac/Canvas3DLayer.mm.

2010-06-16  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=40643
        
        Rename GraphicsContext3DMac.cpp so it can interact with CALayer

        * platform/graphics/mac/GraphicsContext3DMac.cpp: Removed.
        * platform/graphics/mac/GraphicsContext3DMac.mm: Copied from WebCore/platform/graphics/mac/GraphicsContext3DMac.cpp.
        * WebCore.xcodeproj/project.pbxproj

2010-06-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Add new files, needed in SVG Text rewrite
        https://bugs.webkit.org/show_bug.cgi?id=40676

        Land SVGTextChunkLayoutInfo.cpp and SVGTextQuery.(cpp|h), both with an "#if 0" on top, as they will be needed
        in a later patch, completing the SVG Text rewrite, that will enable them.

        Doesn't affect any code for now, it should just reduce the review amount.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/SVGTextChunkLayoutInfo.cpp: Added.
        (WebCore::cummulatedWidthOrHeightOfTextChunk):
        (WebCore::cummulatedWidthOfTextChunk):
        (WebCore::cummulatedHeightOfTextChunk):
        (WebCore::calculateTextAnchorShiftForTextChunk):
        (WebCore::applyTextAnchorToTextChunk):
        (WebCore::calculateTextLengthCorrectionForTextChunk):
        (WebCore::applyTextLengthCorrectionToTextChunk):
        (WebCore::SVGTextChunkLayoutInfo::startTextChunk):
        (WebCore::SVGTextChunkLayoutInfo::closeTextChunk):
        (WebCore::SVGTextChunkLayoutInfo::buildTextChunks):
        (WebCore::SVGTextChunkLayoutInfo::recursiveBuildTextChunks):
        (WebCore::SVGTextChunkLayoutInfo::layoutTextChunks):
        * rendering/SVGTextChunkLayoutInfo.h: Add missing include, otherwhise compiling SVGTextChunkLayoutInfo.cpp will fail.
        * rendering/SVGTextQuery.cpp: Added.
        (WebCore::SVGTextQuery::Data::Data):
        (WebCore::flowBoxForRenderer):
        (WebCore::mapLengthThroughChunkTransformation):
        (WebCore::SVGTextQuery::SVGTextQuery):
        (WebCore::SVGTextQuery::collectTextBoxesInFlowBox):
        (WebCore::SVGTextQuery::executeQuery):
        (WebCore::SVGTextQuery::mapStartAndLengthIntoChunkPartCoordinates):
        (WebCore::SVGTextQuery::measureCharacterRange):
        (WebCore::NumberOfCharactersData::NumberOfCharactersData):
        (WebCore::SVGTextQuery::numberOfCharactersCallback):
        (WebCore::SVGTextQuery::numberOfCharacters):
        (WebCore::TextLengthData::TextLengthData):
        (WebCore::SVGTextQuery::textLengthCallback):
        (WebCore::SVGTextQuery::textLength):
        (WebCore::SubStringLengthData::SubStringLengthData):
        (WebCore::SVGTextQuery::subStringLengthCallback):
        (WebCore::SVGTextQuery::subStringLength):
        (WebCore::StartPositionOfCharacterData::StartPositionOfCharacterData):
        (WebCore::SVGTextQuery::startPositionOfCharacterCallback):
        (WebCore::SVGTextQuery::startPositionOfCharacter):
        (WebCore::EndPositionOfCharacterData::EndPositionOfCharacterData):
        (WebCore::SVGTextQuery::endPositionOfCharacterCallback):
        (WebCore::SVGTextQuery::endPositionOfCharacter):
        (WebCore::RotationOfCharacterData::RotationOfCharacterData):
        (WebCore::SVGTextQuery::rotationOfCharacterCallback):
        (WebCore::SVGTextQuery::rotationOfCharacter):
        (WebCore::ExtentOfCharacterData::ExtentOfCharacterData):
        (WebCore::SVGTextQuery::extentOfCharacterCallback):
        (WebCore::SVGTextQuery::extentOfCharacter):
        (WebCore::CharacterNumberAtPositionData::CharacterNumberAtPositionData):
        (WebCore::SVGTextQuery::characterNumberAtPositionCallback):
        (WebCore::SVGTextQuery::characterNumberAtPosition):
        * rendering/SVGTextQuery.h: Added.

2010-06-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Provide floating-point support for text selection framework
        https://bugs.webkit.org/show_bug.cgi?id=40665

        This is the first chunk of the SVG Text rewrite patches.
        offsetForPosition() / selectionRectForText() should accept float/FloatPoint arguments instead
        of int/IntPoint. offsetForPosition() already worked with floats internally in Qt and Mac.
        selectionRectForText() was already returning a FloatRect, but the passed in origin was an integer.
        Fixing these problems in order to support sub-pixel positioning in the upcoming SVG Text rewrite patch.

        Add a glyphScale parameter to TextRun, that will be used to support text selection
        in lengthAdjust/textLength scenarios in SVG text, soon.

        Doesn't affect any testcases so far. HTML is not affected in any way,
        as it only ever passes integers to these functions.

        * platform/graphics/Font.cpp:
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::offsetForPosition):
        * platform/graphics/Font.h:
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::selectionRectForSimpleText):
        (WebCore::Font::offsetForPositionForSimpleText):
        * platform/graphics/TextRun.h:
        (WebCore::TextRun::TextRun):
        (WebCore::TextRun::glyphScale):
        (WebCore::TextRun::setGlyphScale):
        (WebCore::TextRun::applyGlyphScaling):
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance):
        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::selectionRectForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):
        * platform/graphics/efl/FontEfl.cpp:
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):
        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):
        * platform/graphics/haiku/FontHaiku.cpp:
        (WebCore::Font::selectionRectForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::offsetForPosition):
        * platform/graphics/mac/ComplexTextController.h:
        * platform/graphics/mac/FontComplexTextMac.cpp:
        (WebCore::Font::selectionRectForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::offsetForPositionForSimpleText):
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForSimpleText):
        (WebCore::Font::selectionRectForComplexText):
        * platform/graphics/win/FontWin.cpp:
        (WebCore::Font::selectionRectForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):
        * platform/graphics/wince/FontWince.cpp:
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):
        * platform/graphics/wx/FontWx.cpp:
        (WebCore::Font::selectionRectForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):
        * svg/SVGFont.cpp:
        (WebCore::Font::selectionRectForTextUsingSVGFont):
        (WebCore::Font::offsetForPositionForTextUsingSVGFont):

2010-06-16  Anton Muhin  <antonm@chromium.org>

        Reviewed by Nate Chapin.

        [v8] Introduce single element caches for WebCore::String to v8::String conversions
        https://bugs.webkit.org/show_bug.cgi?id=40435
        Measurements show that for some web apps (GMail, Wave) and some scenarios
        (intensive reading and/or keeping a tab open for a long time),
        hit rate lies in 30--50% interval.
        Inlining fast case gives another minor performance win.

        * bindings/v8/V8Binding.cpp:
        (WebCore::getStringCache):
        (WebCore::v8ExternalStringSlow):
        * bindings/v8/V8Binding.h:
        (WebCore::v8ExternalString):

2010-06-16  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Kenneth Christiansen.

        Spatial Navigation: using offset{Left,Top} is not enough to get the proper inner frames position
        https://bugs.webkit.org/show_bug.cgi?id=39439

        As pointed out by Darin Adler in https://bugs.webkit.org/show_bug.cgi?id=18662#c20,
        "It's not correct to use the offsetLeft and offsetTop of the frame owner element's renderer because
        that's just the distance from the offsetParent, not the absolute position".

        Patch fixes that behavior by now considering the offsetTop and offsetLeft the offsetParent recursively,
        starting from the HtmlFrameOwnerElement. Previously, only calling offsetTop and offsetLeft works
        because all tests were done in htmls where the {i}frame element was a directly a child of the body,
        e.g. <html>...<body><iframe src=xxx>....<body></html>.

        Test: fast/events/spatial-navigation/snav-iframe-recursive-offset-parent.html

        * page/SpatialNavigation.cpp:
        (WebCore::renderRectRelativeToRootDocument):

2010-06-16  Dan Bernstein  <mitz@apple.com>

        Try to fix the Tiger build

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformBoundsForGlyph):

2010-06-16  Dan Bernstein  <mitz@apple.com>

        Try to fix the Tiger build

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformBoundsForGlyph):

2010-06-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Alexey Proskuryakov.

        <rdar://problem/8077119> REGRESSION (r60247): Google Reader contains the tops of pieces of unidentifiable text under feed headlines.
        https://bugs.webkit.org/show_bug.cgi?id=40386

        Test: platform/mac/fast/text/x-height.html

        The result of platformBoundsForGlyph() is in flipped coordinates, whereas the result of
        -[NSFont boundingRectForGlyph:] was not. r60247 failed to account for this.

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformInit): Measure the height of the x glyph above the baseline
        correctly.
        (WebCore::SimpleFontData::platformBoundsForGlyph): Return a rect in flipped coordinates on Tiger
        as well.

2010-06-16  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Don't crash when a document ends with an entity
        https://bugs.webkit.org/show_bug.cgi?id=40658

        When we SWITCH_TO a state, we're expecting our caller to have advanced
        the source.  Rather than have all the callers check for empty, we do
        that ourselves.

        * html/HTML5Lexer.cpp:

2010-06-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Enable HTML5 lexer
        https://bugs.webkit.org/show_bug.cgi?id=40650

        * page/Settings.cpp:
        (WebCore::Settings::Settings):

2010-06-15  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by David Harrison.

        sqlite3_prepare16_v2 is not documented as always setting "tail" during error cases.
        Explicitly initialize it to null, just to be safe.

        * platform/sql/SQLiteStatement.cpp:
        (WebCore::SQLiteStatement::prepare):

2010-06-15  Mark Rowe  <mrowe@apple.com>

        Reviewed by Brady Eidson.

        <rdar://problem/8091103> URLs not added to history when initial load happens via back/forward navigation

        Back/forward navigation currently does not create or update items in the global history. This is usually
        desirable, except for in the event where the back/forward list was created programmatically and attached
        to the WebView and the initial load in that WebView is being performed as a result of a back/forward
        navigation. In that situation it is preferable to ensure that global history item is created or updated.

        No test case is added because DumpRenderTree is not able to test the scenario where the initial
        load in a WebView occurs via a back/forward navigation.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::transitionToCommitted): If we're committing the first load in this frame as a
        back/forward navigation then we should update the history as if it were a standard load, with the
        exception of updating the back/forward list.
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::updateForStandardLoad): Add a parameter to allow callers to skip updating
        the back/forward list.
        * loader/HistoryController.h:
        (WebCore::HistoryController::):

2010-06-15  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by David Levin.

        Fix compilation errors in BlobBuilder with FILE_WRITER enabled
        https://bugs.webkit.org/show_bug.cgi?id=40606

        No functionality change so no new tests.

        * html/BlobBuilder.cpp:
        * html/BlobBuilder.h:

2010-06-15  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Move type attribute from File.idl to Blob.idl per latest File API spec.
        https://bugs.webkit.org/show_bug.cgi?id=40642

        * html/Blob.idl:
        * html/File.idl:

2010-06-15  Darin Adler  <darin@apple.com>

        Reviewed by Adam Barth.

        Move functions out of Frame class that were marked "move to Chrome"
        https://bugs.webkit.org/show_bug.cgi?id=39636

        Refactoring that does not require new tests.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didOpenURL): Call setStatus and setDefaultStatus
        on DOMWindow rather than going through Frame.
        (WebCore::FrameLoader::open): Ditto.
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Call
        shouldClose on this object instead of going through Frame.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents): Call
        shouldClose on FrameLoader instead of going through Frame.
        (WebCore::DOMWindow::focus): Moved the code from Frame::focusWindow
        in here.
        (WebCore::DOMWindow::blur): Moved the code from Frame::unfocusWindow
        in here.
        (WebCore::DOMWindow::close): Moved the code from Frame::scheduleClose
        in here.
        (WebCore::DOMWindow::setStatus): Moved the code from
        Frame::setJSStatusBarText in here.
        (WebCore::DOMWindow::setDefaultStatus): Moved the code from
        Frame::setJSDefaultStatusBarText in here.

        * page/DOMWindow.h: Added m_status and m_defaultStatus members to
        store the status messages being set by the DOM.

        * page/Frame.cpp: Removed all the functions that were marked
        "to be moved into Chrome".
        * page/Frame.h: Ditto.

2010-06-15  Simon Fraser  <simon.fraser@apple.com>

        Fix crashing tests; need to check for null documentElement().

        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):

2010-06-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        Garbage shown outside HTML if HTML is absolutely positioned
        https://bugs.webkit.org/show_bug.cgi?id=36163
        
        Add a check that the root renderer (the document element's renderer) covers
        the entire viewport before deciding that we don't need the RenderView
        to paint its background. Fixes lack of painting with positioned, floated, and
        display: table html elements.

        Test: fast/repaint/positioned-document-element.html

        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):

2010-06-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Safari 5 does not clear background with transformed html element
        https://bugs.webkit.org/show_bug.cgi?id=40498
        
        When the document element is composited, ensure that the FrameView
        paints the background, because the composited layer may be transparent,
        or might get moved via animation.

        Test: compositing/repaint/composited-document-element.html

        * rendering/RenderView.cpp:
        (WebCore::isComposited):
        (WebCore::rendererObscuresBackground):

2010-06-15  Xan Lopez  <xlopez@igalia.com>

        Try to fix GTK+ build.

        * platform/gtk/GtkVersioning.h:

2010-06-15  Darin Fisher  <darin@chromium.org>

        Reviewed by Brady Eidson.

        Introduce HistoryItem::itemSequenceNumber and use it to identify
        HistoryItems that are clones of one another.

        Changes HistoryController::recursiveGoToItem to use itemSequenceNumber
        equality instead of isTargetItem as the pre-requisite for not calling
        FrameLoader::loadItem.

        Changes FrameLoader::loadItem to require equivalent
        documentSequenceNumber before initiating a same document navigation.
        This alone would appear to fix the bug, but it does not go far enough
        since without the itemSequenceNumber equality check, we'd re-load more
        often than we should.

        Moves documentSequenceNumber assignment into createItemTree as cleanup
        and to ensure that it gets called properly whenever we create a cloned
        HistoryItem.  (createItemTree's mission is to create clones up until
        or including the target frame depending on the value of the doClip
        parameter.)

        Removes the now unused HistoryController::urlsMatchItem.

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

        Test: fast/history/history-back-within-subframe.html
              http/tests/navigation/history-back-across-form-submission-to-fragment.html

        * history/HistoryItem.cpp:
        (WebCore::generateSequenceNumber):
        (WebCore::HistoryItem::HistoryItem):
        * history/HistoryItem.h:
        (WebCore::HistoryItem::setItemSequenceNumber):
        (WebCore::HistoryItem::itemSequenceNumber):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadItem):
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::updateBackForwardListForFragmentScroll):
        (WebCore::HistoryController::createItemTree):
        (WebCore::HistoryController::recursiveGoToItem):
        (WebCore::HistoryController::pushState):
        * loader/HistoryController.h:

2010-06-15  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Does not compile with -DGSEAL_ENABLE
        https://bugs.webkit.org/show_bug.cgi?id=37851

        Fix compilation with GSEAL_ENABLE.

        * platform/gtk/GtkVersioning.h:
        * platform/gtk/PlatformScreenGtk.cpp:
        (WebCore::screenDepth):
        (WebCore::screenDepthPerComponent):
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenu::show):
        * platform/gtk/ScrollbarGtk.cpp:
        (ScrollbarGtk::detachAdjustment):
        (ScrollbarGtk::updateThumbPosition):
        (ScrollbarGtk::updateThumbProportion):
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::paint):
        (WebCore::PluginView::initXEvent):
        (WebCore::PluginView::platformGetValue):
        (WebCore::PluginView::platformStart):
        * plugins/gtk/gtk2xtbin.c:
        (gtk_xtbin_realize):
        (gtk_xtbin_new):
        (gtk_xtbin_set_position):
        (gtk_xtbin_unrealize):

2010-06-15  Xan Lopez  <xlopez@igalia.com>

        Unreviewed build fix.

        Fix the build when WebSockets are disabled.

        * bindings/js/JSWorkerContextCustom.cpp:

2010-06-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        YouTube thumbnail borders vanish during transition
        https://bugs.webkit.org/show_bug.cgi?id=40551
        
        Turn off the direct image optimization if the image has a clip style, so that is is
        correctly rendered with the clip.

        Test: compositing/images/clip-on-directly-composited-image.html

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

2010-06-15  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: make ui tests pass when ScriptDebugServer is used
        https://bugs.webkit.org/show_bug.cgi?id=40623

        * bindings/v8/JavaScriptCallFrame.cpp:
        (WebCore::JavaScriptCallFrame::functionName): return empty string for anonymous functions instead of [anonymous].
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::handleV8DebugEvent): autocontinue on syntax errors since there is no stack trace and
        not much to inspect.

2010-06-15  Adam Roben  <aroben@apple.com>

        Make WebCore's and JavaScriptCore's DerivedSources available for debugging in production builds

        Fixes <http://webkit.org/b/40626> <rdar://problem/8094205>.

        Reviewed by Sam Weinig.

        * WebCore.vcproj/WebCore.make: Copy the contents of WebCore's
        DerivedSources directory to AppleInternal/Sources/WebCore.

2010-06-15  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Bring framebuffer functions to GLES2 conformance
        https://bugs.webkit.org/show_bug.cgi?id=40175

        Test: fast/canvas/webgl/framebuffer-test.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::checkFramebufferStatus): Check input parameters and deal with default framebuffer situation.
        (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Check input parameters.
        (WebCore::WebGLRenderingContext::framebufferTexture2D): Ditto.
        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Ditto.
        (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters): Check input parameters.
        * html/canvas/WebGLRenderingContext.h: Add validateFramebufferFuncParameters.

2010-06-15  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by David Levin.

        Buildfix for ResourceHandleWin after r24202 and r55542.
        https://bugs.webkit.org/show_bug.cgi?id=32963

        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::onHandleCreated):
        (WebCore::ResourceHandle::onRequestComplete):
        (WebCore::transferJobStatusCallback):
        (WebCore::ResourceHandle::start):

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

        Reviewed by Joe Pecoraro.

        Web Inspector: Should not expose window.console._inspectorCommandLineAPI to the web.

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

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

2010-06-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] The qt_webkit_version.pri file gets overwritten on install
        https://bugs.webkit.org/show_bug.cgi?id=40487

        Don't install qt_webkit_version.pri when building WebKit inside of Qt.
        The import of WebKit into Qt will take care of providing the file
        in mkspecs/modules and it'll be installed through projects.pro.

        * WebCore.pro:

2010-06-15  Tony Chang  <tony@chromium.org>

        Reviewed by Ojan Vafai.

        resolve urls in text/html clipboard data
        https://bugs.webkit.org/show_bug.cgi?id=40044

        Allow text/html data copied from a page to contain full URLs when
        dragging or copy/pasting.

        Tests: editing/pasteboard/copy-resolves-urls.html
               http/tests/misc/copy-resolves-urls.html

        * WebCore.base.exp:
        * editing/markup.cpp:
        (WebCore::appendStartMarkup):
        (WebCore::getStartMarkup):
        (WebCore::MarkupAccumulator::appendMarkup):
        (WebCore::createMarkup):
        * editing/markup.h:
        (WebCore::):
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::writeRange):
        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeSelection):
        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::ClipboardGtk::writeRange):
        * platform/gtk/DataObjectGtk.cpp:
        (WebCore::DataObjectGtk::markup):
        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::writeSelection):
        * platform/haiku/PasteboardHaiku.cpp:
        (WebCore::Pasteboard::writeSelection):
        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::writeRange):
        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::writeSelection):

2010-06-14  Chris Fleizach  <cfleizach@apple.com>

        No review. GTK build fix.

        AX: need ListItemRole and PresentationalRole
        https://bugs.webkit.org/show_bug.cgi?id=40133

        Mostly speculative fix to make GTK unit tests work.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (atkRole):
        (webkit_accessible_get_role):

2010-06-14  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/8090895> Update http streaming MIME types

        * platform/MIMETypeRegistry.cpp:
        (WebCore::TypeExtensionPair::): Add http streaming MIME synonyms.

2010-06-14  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        audio/x-mp3 MIME type not recognized
        <rdar://problem/7875393>
        https://bugs.webkit.org/show_bug.cgi?id=40594
        
        Allow MIMETypeRegistry to have more than one MIME type for a
        media file extension, and have the QTKit media engine register
        all MIME types it can find for each file type QTKit supports.

        Test: media/media-can-play-mp3.html

        * platform/MIMETypeRegistry.cpp:
        (WebCore::mediaMIMETypeMap): Update for new HashMap format.
        (WebCore::TypeExtensionPair::): Store String+Vector<String>
        (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Only consult
        mediaMIMETypeMap(), it has the canonical answer.
        (WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): New, return
        a Vector of all MIME types for an extension.
        * platform/MIMETypeRegistry.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::addFileTypesToCache): Add all MIME types returned in the 
        getMediaMIMETypesForExtension Vector.

2010-06-14  Mark Rowe  <mrowe@apple.com>

        Reviewed by Brady Eidson.

        <rdar://problem/8071866> REGRESSION: Crash on launch on Tiger and Leopard with network home folder

        * platform/sql/SQLiteStatement.cpp:
        (WebCore::SQLiteStatement::prepare): Don't assume that tail is always non-null, since that may
        not be the case with some versions of SQLite. Instead we must null-check before dereferencing.

2010-06-14  Anders Carlsson  <andersca@apple.com>

        Fix Tiger build.

        * plugins/mac/PluginDataMac.mm:

2010-06-14  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Use an array for extensions in MimeClassInfo
        https://bugs.webkit.org/show_bug.cgi?id=40602

        Get rid of MimeClassInfo::suffixes and replace it with an array of extensions.

        * plugins/MimeType.cpp:
        (WebCore::MimeType::suffixes):
        Create a string of joined extensions.

        * plugins/MimeType.h:
        * plugins/PluginData.h:
        (WebCore::operator==):
        * plugins/chromium/PluginDataChromium.cpp:
        (WebCore::getPluginMimeTypeFromExtension):
        * plugins/gtk/PluginDataGtk.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/mac/PluginDataMac.mm:
        (WebCore::PluginData::initPlugins):
        * plugins/qt/PluginDataQt.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/win/PluginDataWin.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/wx/PluginDataWx.cpp:
        (WebCore::PluginData::initPlugins):

2010-06-14  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        Add an include to try to fix Chromium build.

        * html/HTML5DocumentParser.cpp:

2010-06-14  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Safari beach-balls loading large pages with HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=40596

        Implement parser yielding, similar to how the old
        HTMLDocumentParser yields.

        This implementation re-uses the tokenizerTimeDelay and
        tokenizerChunkSize settings even though they don't map exactly
        to the token loop that the HTML5 parser uses.

        * dom/DocumentParser.h:
         - Add a FIXME for processingData() and clarify how the
           appendData flag is used by renaming it to isFromNetwork.
        * html/HTML5DocumentParser.cpp:
        (WebCore::parserTimeLimit):
         - Defaults accessor, probably belongs on Page.
        (WebCore::parserChunkSize):
         - Defaults accessor, probably belongs on Page.
        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
        (WebCore::HTML5DocumentParser::stopParsing):
         - Stop the continue-parsing timer if active.
        (WebCore::HTML5DocumentParser::processingData):
         - Implement this poorly understood accessor to match
           the old parser's behavior.  It's unclear what this does
           and it does not affect any layout tests to my knowledge
           but likely affects the WebKit API in some way.
        (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
         - Pass SynchronousMode.
         - Do not ever pump if we've yielded to the timer.
        (WebCore::HTML5DocumentParser::PumpSession::PumpSession):
         - A struct for storing the yield counters.
        (WebCore::HTML5DocumentParser::shouldContinueParsing):
         - Mostly matches HTMLDocumentParser::shouldContinueParsing.
        (WebCore::HTML5DocumentParser::pumpLexer):
         - Respect SynchronousMode.
         - ASSERT that a timer is not scheduled if we're pumping.
        (WebCore::isLayoutTimerActive):
         - This belongs on Document.
        (WebCore::HTML5DocumentParser::continueNextChunkTimerFired):
        (WebCore::HTML5DocumentParser::write):
        (WebCore::HTML5DocumentParser::end):
         - We should never end() if a timer is still outstanding.
        (WebCore::HTML5DocumentParser::attemptToEnd):
        (WebCore::HTML5DocumentParser::endIfDelayed):
        (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
        * html/HTML5DocumentParser.h:
        (WebCore::HTML5DocumentParser::):
        * html/HTMLDocumentParser.cpp:
         - Clarify the old TimeDelay and ChunkSize constants.

2010-06-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add a preload scanner for the HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=40557

        This patch adds a simple preload scanner for the HTML5 parser.  This
        preload scanner is not as awesome as the old one because it doesn't
        scan CSS, but it's much simpler.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
            - Build file torture.
        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::write):
            - Call into the preload scanner when waiting for a script.
        * html/HTML5DocumentParser.h:
        * html/HTML5PreloadScanner.cpp: Copied from WebCore/html/PreloadScanner.cpp.
        (WebCore::HTML5PreloadScanner::HTML5PreloadScanner):
        (WebCore::HTML5PreloadScanner::scan):
            - A simple loop to pump the preload scanner's lexer.
        (WebCore::HTML5PreloadScanner::processToken):
            - Preload interesting resources.  Stolen from the old preload
              scanner.
        (WebCore::HTML5PreloadScanner::scanningBody):
        * html/HTML5PreloadScanner.h: Copied from WebCore/html/PreloadScanner.h.

2010-06-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Constify some HTML5Token methods
        https://bugs.webkit.org/show_bug.cgi?id=40592

        I keep wanting these methods to be const.  Eric wanted this in a
        separate patch.

        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::state):
        * html/HTML5Token.h:
        (WebCore::HTML5Token::attributes):
        (WebCore::HTML5Token::name):
        (WebCore::HTML5Token::characters):
        (WebCore::HTML5Token::comment):
        (WebCore::HTML5Token::publicIdentifier):
        (WebCore::HTML5Token::systemIdentifier):
        * html/HTML5TreeBuilder.cpp:
        (WebCore::convertToOldStyle):
        (WebCore::HTML5TreeBuilder::adjustedLexerState):
            - Technically, this might belong in the other patch, but I think
              it's fine here.
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
        * html/HTML5TreeBuilder.h:

2010-06-14  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, build fix.

        * WebCore.xcodeproj/project.pbxproj:

2010-06-14  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        Remove accidental specifying of the class name twice.

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::prepareFormData): Removed my ghastly typo.

2010-06-14  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Get DatabaseTracker ready for sync DBs.
        https://bugs.webkit.org/show_bug.cgi?id=39041

        * storage/AbstractDatabase.cpp:
        (WebCore::AbstractDatabase::~AbstractDatabase):
        * storage/AbstractDatabase.h:
        * storage/Database.cpp:
        (WebCore::Database::closeImmediately):
        * storage/Database.h:
        (WebCore::Database::scriptExecutionContext):
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::getMaxSizeForDatabase):
        (WebCore::DatabaseTracker::databaseChanged):
        (WebCore::DatabaseTracker::addOpenDatabase):
        (WebCore::DatabaseTracker::removeOpenDatabase):
        (WebCore::DatabaseTracker::getOpenDatabases):
        (WebCore::DatabaseTracker::deleteDatabaseFile):
        * storage/DatabaseTracker.h:
        * storage/OriginQuotaManager.cpp:
        (WebCore::OriginQuotaManager::markDatabase):
        * storage/OriginQuotaManager.h:
        * storage/chromium/DatabaseObserver.h:
        * storage/chromium/DatabaseTrackerChromium.cpp:
        (WebCore::DatabaseTracker::addOpenDatabase):
        (WebCore::TrackerRemoveOpenDatabaseTask::create):
        (WebCore::TrackerRemoveOpenDatabaseTask::TrackerRemoveOpenDatabaseTask):
        (WebCore::DatabaseTracker::removeOpenDatabase):
        (WebCore::DatabaseTracker::getOpenDatabases):
        (WebCore::DatabaseTracker::getMaxSizeForDatabase):

2010-06-14  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=40529
        eventSender.keyDown("delete") incorrectly sends a backspace on some platforms

        * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        Use virtual key code to force correct character code for clarity. Also, reworded comment,
        since saying that "backspace needs to always be 8" misleadingly implied that it could
        "sometimes" be such without this code.

2010-06-14  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Refactor form submission code in HTMLFormElement to add clarity.
        https://bugs.webkit.org/show_bug.cgi?id=39430

        Covered by existing tests in fast/forms/mailto.

        * html/HTMLFormElement.cpp:
        (WebCore::appendMailtoPostFormDataToURL): Renamed from transferMailtoPostFormDataToUrl,
            removed clearing out of the FormData and moved it to a new place (next to the call site).
        (WebCore::HTMLFormElement::prepareFormData): Renamed from createFormData, moved the logic of
            prepareing FormData here, including the use of appendMailtoPostFormDataToURL.
        (WebCore::HTMLFormElement::submit): Consolidated multiple invocations of submitForm().
        * html/HTMLFormElement.h: Renamed createFormData to prepareFormData.

2010-06-14  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: need ListItemRole and PresentationalRole
        https://bugs.webkit.org/show_bug.cgi?id=40133

        * accessibility/AccessibilityObject.cpp:
        (WebCore::createARIARoleMap):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isListItem):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):

2010-06-14  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Remove pluginIndex from MimeClassInfo
        https://bugs.webkit.org/show_bug.cgi?id=40588

        * plugins/PluginData.h:
        * plugins/gtk/PluginDataGtk.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/mac/PluginDataMac.mm:
        (WebCore::PluginData::initPlugins):
        * plugins/qt/PluginDataQt.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/win/PluginDataWin.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/wx/PluginDataWx.cpp:
        (WebCore::PluginData::initPlugins):

2010-06-14  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Jian Li.

        Implement BlobBuilder internal class for BlobBuilder support as defined in FileWriter
        https://bugs.webkit.org/show_bug.cgi?id=36903

        No new tests; they will be added when we add jsc bindings.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/BlobBuilder.cpp: Added.
        * html/BlobBuilder.h: Added.
        (WebCore::BlobBuilder::create):
        * platform/BlobItem.cpp:
        (WebCore::StringBlobItem::convertToCString): Added EndingNative support.
        * platform/BlobItem.h: Added EndingNative line-ending type.
        (WebCore::):

2010-06-14  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Stop using MimeClassInfo::pluginIndex
        https://bugs.webkit.org/show_bug.cgi?id=40582

        Add a pluginIndicies vector to PluginData and use it instead of MimeClassInfo::pluginIndex.

        * plugins/MimeType.cpp:
        (WebCore::MimeType::enabledPlugin):
        Get the plug-in index from the mimePluginIndices vector.
        
        * plugins/Plugin.cpp:
        (WebCore::Plugin::item):
        Compare the mime plugin index as well.
        
        * plugins/PluginData.cpp:
        (WebCore::PluginData::PluginData):
        Populate the m_mimePluginIndices vector.

        (WebCore::PluginData::pluginNameForMimeType):
        Get the plug-in index from the m_mimePluginIndices vector.

        * plugins/PluginData.h:
        (WebCore::operator==):
        Don't check for pluginIndex.

        (WebCore::PluginData::mimePluginIndices):
        Add getter for m_mimePluginIndices.

2010-06-14  Sam Weinig  <sam@webkit.org>

        Better build fix.

        * bindings/js/JSBindingsAllInOne.cpp:

2010-06-14  Sam Weinig  <sam@webkit.org>

        Another windows build fix.

        * bindings/js/JSBindingsAllInOne.cpp:

2010-06-14  Sam Weinig  <sam@webkit.org>

        Another build fix.

        * bindings/js/JSDOMWindowCustom.cpp:

2010-06-14  Sam Weinig  <sam@webkit.org>

        Add missing comma to fix GTK build.

        * xml/XSLTProcessor.idl:

2010-06-14  Sam Weinig  <sam@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=40581
        Auto-generate most of the JS constructors

        - Auto-generates all the JS constructors that don't have custom
          names (eg, Not Image(), Audio() or Option())
        - Fixes two typos.
            (new XSLTConstructor()).toString() [object XSLTProcessorConsructor] -> [object XSLTProcessorConstructor])
            (new EventSource()).toString() [object EventSourceContructor] -> [object EventSourceConstructor])

        * Android.jscbindings.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSArrayBufferConstructor.cpp: Removed.
        * bindings/js/JSArrayBufferConstructor.h: Removed.
        * bindings/js/JSArrayBufferCustom.cpp: Copied from WebCore/bindings/js/JSArrayBufferConstructor.cpp.
        (WebCore::JSArrayBufferConstructor::constructJSArrayBuffer):
        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::constructArrayBufferView):
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/js/JSEventSourceConstructor.cpp: Removed.
        * bindings/js/JSEventSourceConstructor.h: Removed.
        * bindings/js/JSEventSourceCustom.cpp: Copied from WebCore/bindings/js/JSEventSourceConstructor.cpp.
        (WebCore::JSEventSourceConstructor::constructJSEventSource):
        * bindings/js/JSFloat32ArrayConstructor.cpp: Removed.
        * bindings/js/JSFloat32ArrayConstructor.h: Removed.
        * bindings/js/JSFloat32ArrayCustom.cpp:
        (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
        * bindings/js/JSInt16ArrayConstructor.cpp: Removed.
        * bindings/js/JSInt16ArrayConstructor.h: Removed.
        * bindings/js/JSInt16ArrayCustom.cpp:
        (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
        * bindings/js/JSInt32ArrayConstructor.cpp: Removed.
        * bindings/js/JSInt32ArrayConstructor.h: Removed.
        * bindings/js/JSInt32ArrayCustom.cpp:
        (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
        * bindings/js/JSInt8ArrayConstructor.cpp: Removed.
        * bindings/js/JSInt8ArrayConstructor.h: Removed.
        * bindings/js/JSInt8ArrayCustom.cpp:
        (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
        * bindings/js/JSMessageChannelConstructor.cpp: Removed.
        * bindings/js/JSMessageChannelConstructor.h: Removed.
        * bindings/js/JSMessageChannelCustom.cpp:
        (WebCore::JSMessageChannelConstructor::constructJSMessageChannel):
        * bindings/js/JSSharedWorkerConstructor.cpp: Removed.
        * bindings/js/JSSharedWorkerConstructor.h: Removed.
        * bindings/js/JSSharedWorkerCustom.cpp:
        (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
        * bindings/js/JSUint16ArrayConstructor.cpp: Removed.
        * bindings/js/JSUint16ArrayConstructor.h: Removed.
        * bindings/js/JSUint16ArrayCustom.cpp:
        (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
        * bindings/js/JSUint32ArrayConstructor.cpp: Removed.
        * bindings/js/JSUint32ArrayConstructor.h: Removed.
        * bindings/js/JSUint32ArrayCustom.cpp:
        (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
        * bindings/js/JSUint8ArrayConstructor.cpp: Removed.
        * bindings/js/JSUint8ArrayConstructor.h: Removed.
        * bindings/js/JSUint8ArrayCustom.cpp:
        (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
        * bindings/js/JSWebKitCSSMatrixConstructor.cpp: Removed.
        * bindings/js/JSWebKitCSSMatrixConstructor.h: Removed.
        * bindings/js/JSWebKitCSSMatrixCustom.cpp: Copied from WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp.
        (WebCore::JSWebKitCSSMatrixConstructor::constructJSWebKitCSSMatrix):
        * bindings/js/JSWebKitPointConstructor.cpp: Removed.
        * bindings/js/JSWebKitPointConstructor.h: Removed.
        * bindings/js/JSWebKitPointCustom.cpp: Copied from WebCore/bindings/js/JSWebKitPointConstructor.cpp.
        (WebCore::JSWebKitPointConstructor::constructJSWebKitPoint):
        * bindings/js/JSWebSocketConstructor.cpp: Removed.
        * bindings/js/JSWebSocketConstructor.h: Removed.
        * bindings/js/JSWebSocketCustom.cpp:
        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
        * bindings/js/JSWorkerConstructor.cpp: Removed.
        * bindings/js/JSWorkerConstructor.h: Removed.
        * bindings/js/JSWorkerContextCustom.cpp:
        * bindings/js/JSWorkerCustom.cpp:
        (WebCore::JSWorkerConstructor::constructJSWorker):
        * bindings/js/JSXSLTProcessorConstructor.cpp: Removed.
        * bindings/js/JSXSLTProcessorConstructor.h: Removed.
        * bindings/js/JSXSLTProcessorCustom.cpp:
        (WebCore::JSXSLTProcessorConstructor::constructJSXSLTProcessor):
        * bindings/scripts/CodeGeneratorJS.pm:
        * css/WebKitCSSMatrix.idl:
        * dom/MessageChannel.idl:
        * html/canvas/ArrayBuffer.idl:
        * html/canvas/Float32Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * page/EventSource.idl:
        * page/WebKitPoint.idl:
        * websockets/WebSocket.idl:
        * workers/SharedWorker.idl:
        * workers/Worker.idl:
        * xml/XSLTProcessor.idl:

2010-05-16  Antonio Gomes  <tonikitoo@webkit.org>

        Unreviewed naming fixes of local variables used in Spatial Navigation methods.

        Summary:
            * "candidate" renamed to "node";
            * "currentFocusCandidate" renamed to "candidate"
            * "closestFocusCandidate" renamed to "closest"

        That way naming is more consistent in the various Spatial Navigation methods.

        * page/FocusController.cpp:
        (WebCore::FocusController::findFocusableNodeInDirection):
        (WebCore::FocusController::deepFindFocusableNodeInDirection):

2010-06-14  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Simon Fraser and Kenneth Christiansen.

        Spatial Navigation: make it work with focusable elements in overflow content
        https://bugs.webkit.org/show_bug.cgi?id=36463

        This patch addresses the problem with Spatial Navigation. It currently does not
        properly traverse scrollable contents, including scrollable div's. For this to work,
        a new class member called scrollableEnclosingBox was introduced to FocusCandidate class which
        keeps track of the current scrollable box Node wrapping a FocusCandidate.

        To make use of enclosingScrollableBox of FocusCandidate, the DOM traversal routine
        (FocusController::findNextFocusableInDirection) was changed as follows: when it
        encounters a scrollable Node, each focusable node which is 'inner' keeps track of
        the container reference. By the time a sibling of the scrollable Node is encountered,
        there is no need to track this reference any more and the traversal algorithm continues
        normally.

        The common case is obviously that there is no scrollable container wrapping it.

        updateFocusCandiditeIfCloser logic was also adapted to fit the need of the
        newly introduced enclosingScrollableBox class member, getting simpler and more
        easily maintainable.

        Tests: fast/events/spatial-navigation/snav-div-scrollable-but-without-focusable-content.html
               fast/events/spatial-navigation/snav-clipped-overflow-content.html

        * page/FocusController.cpp:
        (WebCore::updateFocusCandidateInSameContainer):
        (WebCore::updateFocusCandidateIfCloser):
        (WebCore::FocusController::findFocusableNodeInDirection):
        (WebCore::FocusController::deepFindFocusableNodeInDirection):
        * page/SpatialNavigation.cpp:
        (WebCore::isScrollableContainerNode):
        * page/SpatialNavigation.h:
        (WebCore::FocusCandidate::FocusCandidate):
        (WebCore::FocusCandidate::isInScrollableContainer):

2010-06-14  Jian Li  <jianli@chromium.org>

        Unreviewed. Fix build break in GTK.

        * bindings/scripts/CodeGeneratorGObject.pm:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
        * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
        * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:

2010-06-14  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: AXUnknown objects are being returned
        https://bugs.webkit.org/show_bug.cgi?id=40574

        Test: platform/mac/accessibility/no-unknown-objects-when-title-attribute-present.html

        * accessibility/mac/AccessibilityObjectMac.mm:
        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):

2010-06-14  Jian Li  <jianli@chromium.org>

        Reviewed by Darin Adler.

        Fix code generators to better support Conditional attribute and add test
        coverage for it.
        https://bugs.webkit.org/show_bug.cgi?id=39512

        * bindings/scripts/CodeGeneratorGObject.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_get_conditional_attr1):
        (webkit_dom_test_obj_set_conditional_attr1):
        (webkit_dom_test_obj_get_conditional_attr2):
        (webkit_dom_test_obj_set_conditional_attr2):
        (webkit_dom_test_obj_get_conditional_attr3):
        (webkit_dom_test_obj_set_conditional_attr3):
        (webkit_dom_test_obj_set_property):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        * bindings/scripts/test/JS/JSTestInterface.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::):
        (WebCore::jsTestObjConditionalAttr1):
        (WebCore::jsTestObjConditionalAttr2):
        (WebCore::jsTestObjConditionalAttr3):
        (WebCore::setJSTestObjConditionalAttr1):
        (WebCore::setJSTestObjConditionalAttr2):
        (WebCore::setJSTestObjConditionalAttr3):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestInterface.mm:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj conditionalAttr1]):
        (-[DOMTestObj setConditionalAttr1:]):
        (-[DOMTestObj conditionalAttr2]):
        (-[DOMTestObj setConditionalAttr2:]):
        (-[DOMTestObj conditionalAttr3]):
        (-[DOMTestObj setConditionalAttr3:]):
        * bindings/scripts/test/TestInterface.idl:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        * bindings/scripts/test/V8/V8TestInterface.h:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::conditionalAttr1AttrGetter):
        (WebCore::TestObjInternal::conditionalAttr1AttrSetter):
        (WebCore::TestObjInternal::conditionalAttr2AttrGetter):
        (WebCore::TestObjInternal::conditionalAttr2AttrSetter):
        (WebCore::TestObjInternal::conditionalAttr3AttrGetter):
        (WebCore::TestObjInternal::conditionalAttr3AttrSetter):
        (WebCore::):

2010-06-14  Chang Shu  <chang.shu@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Change the type of ShadowSize from IntSize to FloatSize in GraphicsContext.
        Using IntSize loses precision and fails the test.
        Note: This code change fixes Qt port but Mac is still failing due to
        platform issue.

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

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::applyShadow):
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setShadow):
        (WebCore::GraphicsContext::getShadow):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/GraphicsContextPrivate.h:
        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::calculateShadowBufferDimensions):
        (WebCore::drawPathShadow):
        (WebCore::drawBorderlessRectShadow):
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        (WebCore::Font::drawComplexText):
        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::Font::drawComplexText):
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/mac/FontMac.mm:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::drawTextCommon):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::drawFilledShadowPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::drawBorderlessRectShadow):
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::windowsCanHandleDrawTextShadow):
        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::drawGDIGlyphs):
        (WebCore::Font::drawGlyphs):
        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::drawText):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):

2010-06-14  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7752961> Unevenly distributed space in justified text
        https://bugs.webkit.org/show_bug.cgi?id=36105

        Test: fast/text/justify-padding-distribution.html

        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::WidthIterator): Initialize m_padPerSpace to the quotient of the total
        padding and the number of spaces rather than truncating it.
        (WebCore::WidthIterator::advance): Subtract m_padPerSpace from m_padding and add the difference
        between its old and new values, when rounded, to the advance.
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::ComplexTextController):
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
        * platform/graphics/win/UniscribeController.cpp:
        (WebCore::UniscribeController::UniscribeController):
        (WebCore::UniscribeController::shapeAndPlaceItem):
        * platform/graphics/win/UniscribeController.h:

2010-06-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Stack overflow when converting navigator object to QVariant
        https://bugs.webkit.org/show_bug.cgi?id=40572

        Protect against infinite recursion in JSValue->QVariant conversion.
        This fixes a crash when trying to convert MimeType objects (they
        recurse infinitely and on-the-fly via the enabledPlugin property.)

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

2010-06-14  Yong Li  <yoli@rim.com>

        Test cases created by: Robin Cao <robin.cao@torchmobile.com.cn>

        Reviewed by Darin Adler.

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

        Suspend Document::m_executeScriptSoonTimer objects when the page is deferred.
        There's no reason why we suspend all active DOM timers on the page but not suspend
        this one. Document::m_executeScriptSoonTimer can run JS and schedule more DOM Timers.

        It can only be tested manually.
        * manual-tests/load-deferrer-script-element.html: Added.
        * manual-tests/resources/load-deferrer-script-element.js: Added.

        * dom/Document.cpp:
        (WebCore::Document::executeScriptSoon):
        (WebCore::Document::suspendExecuteScriptSoonTimer): Added.
        (WebCore::Document::resumeExecuteScriptSoonTimer): Added.
        * dom/Document.h:
        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):

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

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Platform plugin support for Notifications UI
        https://bugs.webkit.org/show_bug.cgi?id=40005

        To avoid race condition when GC is run during shutdown,
        disconnect the Notification from the NotificationPresenter
        when the presenter deletes itself.
        This cannot be tested by a layout test, the race condition happens only
        when GC is run during shutdown. It can be tested manually by loading
        manually any notification test and closing the browser.

        * notifications/Notification.cpp:
        (WebCore::Notification::~Notification):
        * notifications/Notification.h:
        (WebCore::Notification::detachPresenter):

2010-06-08  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Jeremy Orlow.

        Adds IndexedDB's KeyRange.
        https://bugs.webkit.org/show_bug.cgi?id=40250

        Test: storage/indexeddb/idb-keyrange.html

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * storage/IDBKeyRange.cpp: Added.
        (WebCore::IDBKeyRange::IDBKeyRange):
        * storage/IDBKeyRange.h: Added.
        (WebCore::IDBKeyRange::):
        (WebCore::IDBKeyRange::create):
        (WebCore::IDBKeyRange::~IDBKeyRange):
        (WebCore::IDBKeyRange::left):
        (WebCore::IDBKeyRange::right):
        (WebCore::IDBKeyRange::flags):
        * storage/IDBKeyRange.idl: Added.
        * storage/IndexedDatabaseRequest.cpp:
        (WebCore::IndexedDatabaseRequest::makeSingleKeyRange):
        (WebCore::IndexedDatabaseRequest::makeLeftBoundKeyRange):
        (WebCore::IndexedDatabaseRequest::makeRightBoundKeyRange):
        (WebCore::IndexedDatabaseRequest::makeBoundKeyRange):
        * storage/IndexedDatabaseRequest.h:
        * storage/IndexedDatabaseRequest.idl:

2010-06-14  Jeremy Orlow  <jorlow@chromium.org>

        And another.

        * storage/IndexedDatabaseRequest.h:

2010-06-14  Jeremy Orlow  <jorlow@chromium.org>

        More build fixes.

        * storage/IndexedDatabaseRequest.h:

2010-06-14  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] navigator.geolocation support for Qt port
        https://bugs.webkit.org/show_bug.cgi?id=39724

        Implemetion for Qt port of navigator.gelocation. Using qtmobility location service.

        * WebCore.pri:
        * WebCore.pro:
        * platform/qt/GeolocationServiceQt.cpp: Added.
        (WebCore::GeolocationServiceQt::create):
        (WebCore::GeolocationServiceQt::GeolocationServiceQt):
        (WebCore::GeolocationServiceQt::~GeolocationServiceQt):
        (WebCore::GeolocationServiceQt::positionUpdated):
        (WebCore::GeolocationServiceQt::startUpdating):
        (WebCore::GeolocationServiceQt::stopUpdating):
        * platform/qt/GeolocationServiceQt.h: Added.
        (WebCore::GeolocationServiceQt::lastPosition):
        (WebCore::GeolocationServiceQt::lastError):

2010-06-14  Jeremy Orlow  <jorlow@chromium.org>

        2 more build fixes.

        * storage/IDBDatabaseImpl.h:
        * storage/IndexedDatabaseRequest.h:

2010-06-14  Jeremy Orlow  <jorlow@chromium.org>

        Unreviewed build fix for my last.

        * workers/WorkerScriptLoaderClient.h:

2010-06-14  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        [V8] Clean up SerializedScriptValue
        https://bugs.webkit.org/show_bug.cgi?id=40482

        SerializedScriptValue doesn't follow WebKit's style guidelines very well
        and needlessly inlines quite a bit within the .h file. This change cleans
        things up. No funcitonal changes.

        No change in behavior.

        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::deserializeAndSetProperty):
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::createFromWire):
        (WebCore::SerializedScriptValue::release):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        * bindings/v8/SerializedScriptValue.h:

2010-06-14  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
        data from inspected page to WebInspector as JSON string via http. The native
        serialization to JSON string is supported by InspectorValue's classes. This patch
        has the implementation of sendMessageToFrontend function. WebKit version of it still
        uses ScriptFunctionCall and will be switched to another transport a little bit later.
        https://bugs.webkit.org/show_bug.cgi?id=40134

        * inspector/InspectorClient.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::InspectorFrontend):
        * inspector/InspectorFrontend.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorObject::writeJSON):
        * inspector/front-end/inspector.js:
        (WebInspector.dispatchMessageToFrontend):
        * loader/EmptyClients.h:
        (WebCore::EmptyInspectorClient::sendMessageToFrontend):

2010-06-14  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Adler.

        Reenable IDBDatabaseRequest's description attribute
        https://bugs.webkit.org/show_bug.cgi?id=39826

        On the 26th, Beth commented out the description attribute in
        IDBDatabaseRequest because it was causing problems with the
        objective c bindings.  Turns out that this is the same bug as
        in http://trac.webkit.org/changeset/19486.  (Thanks for the
        pointer, Mark!)
 
        The solution is to change the objective C bindings generator
        to change the name in the generated code.  id and hash both
        just appended "Name" to them in the past.  I couldn't think
        of anything else particularly better to append, so I just
        went with name as well.

        Test: building the world works on the first try.  Layout
              test verifies description works again.

        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_get_description):
        (webkit_dom_test_obj_get_id):
        (webkit_dom_test_obj_set_id):
        (webkit_dom_test_obj_get_hash):
        (webkit_dom_test_obj_set_property):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::):
        (WebCore::jsTestObjDescription):
        (WebCore::jsTestObjId):
        (WebCore::jsTestObjHash):
        (WebCore::setJSTestObjId):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj descriptionName]):
        (-[DOMTestObj idName]):
        (-[DOMTestObj setIdName:]):
        (-[DOMTestObj hashName]):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::descriptionAttrGetter):
        (WebCore::TestObjInternal::idAttrGetter):
        (WebCore::TestObjInternal::idAttrSetter):
        (WebCore::TestObjInternal::hashAttrGetter):
        (WebCore::):
        * storage/IDBDatabaseRequest.idl:

2010-06-13  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] ScreenQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39766

        * platform/qt/ScreenQt.cpp:

2010-06-13  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Rename HTMLParser to LegacyHTMLTreeConstructor
        https://bugs.webkit.org/show_bug.cgi?id=40554

        This makes our old HTML parsing system closer match the
        HTML5 spec, and thus easier to compare to the new HTML5
        parsing system.

        This rename was entirely automatic.  Done by do-webcore-rename.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::htmlTreeConstructor):
        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::htmlTreeConstructor):
        * html/HTML5DocumentParser.h:
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
        * html/HTML5TreeBuilder.h:
        (WebCore::HTML5TreeBuilder::legacyTreeConstructor):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        * html/HTMLDocumentParser.h:
        (WebCore::HTMLDocumentParser::htmlTreeConstructor):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::removedFromTree):
        * html/HTMLInputElement.cpp:
        * html/HTMLMeterElement.cpp:
        * html/HTMLProgressElement.cpp:
        * html/LegacyHTMLTreeConstructor.cpp: Renamed from WebCore/html/HTMLParser.cpp.
        (WebCore::addTags):
        (WebCore::HTMLStackElem::HTMLStackElem):
        (WebCore::HTMLStackElem::derefNode):
        (WebCore::LegacyHTMLTreeConstructor::LegacyHTMLTreeConstructor):
        (WebCore::LegacyHTMLTreeConstructor::~LegacyHTMLTreeConstructor):
        (WebCore::LegacyHTMLTreeConstructor::reset):
        (WebCore::LegacyHTMLTreeConstructor::setCurrent):
        (WebCore::tagPriorityOfNode):
        (WebCore::LegacyHTMLTreeConstructor::limitDepth):
        (WebCore::LegacyHTMLTreeConstructor::insertNodeAfterLimitDepth):
        (WebCore::LegacyHTMLTreeConstructor::parseToken):
        (WebCore::LegacyHTMLTreeConstructor::parseDoctypeToken):
        (WebCore::isTableSection):
        (WebCore::isTablePart):
        (WebCore::isTableRelated):
        (WebCore::isScopingTag):
        (WebCore::LegacyHTMLTreeConstructor::insertNode):
        (WebCore::LegacyHTMLTreeConstructor::handleError):
        (WebCore::LegacyHTMLTreeConstructor::textCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::commentCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::headCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::bodyCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::framesetCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::formCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::isindexCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::selectCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::ddCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::dtCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::rpCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::rtCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::nestedCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::nestedPCloserCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::nestedStyleCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::tableCellCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::tableSectionCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::noembedCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::noframesCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::noscriptCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::pCloserCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::pCloserStrictCreateErrorCheck):
        (WebCore::LegacyHTMLTreeConstructor::mapCreateErrorCheck):
        (WebCore::mapTagToFunc):
        (WebCore::mapTagsToFunc):
        (WebCore::LegacyHTMLTreeConstructor::getNode):
        (WebCore::LegacyHTMLTreeConstructor::allowNestedRedundantTag):
        (WebCore::LegacyHTMLTreeConstructor::processCloseTag):
        (WebCore::LegacyHTMLTreeConstructor::isHeadingTag):
        (WebCore::LegacyHTMLTreeConstructor::isInline):
        (WebCore::LegacyHTMLTreeConstructor::isResidualStyleTag):
        (WebCore::LegacyHTMLTreeConstructor::isAffectedByResidualStyle):
        (WebCore::LegacyHTMLTreeConstructor::handleResidualStyleCloseTagAcrossBlocks):
        (WebCore::LegacyHTMLTreeConstructor::reopenResidualStyleTags):
        (WebCore::LegacyHTMLTreeConstructor::pushBlock):
        (WebCore::LegacyHTMLTreeConstructor::popBlock):
        (WebCore::LegacyHTMLTreeConstructor::popOneBlockCommon):
        (WebCore::LegacyHTMLTreeConstructor::popOneBlock):
        (WebCore::LegacyHTMLTreeConstructor::moveOneBlockToStack):
        (WebCore::LegacyHTMLTreeConstructor::checkIfHasPElementInScope):
        (WebCore::LegacyHTMLTreeConstructor::popInlineBlocks):
        (WebCore::LegacyHTMLTreeConstructor::freeBlock):
        (WebCore::LegacyHTMLTreeConstructor::createHead):
        (WebCore::LegacyHTMLTreeConstructor::handleIsindex):
        (WebCore::LegacyHTMLTreeConstructor::startBody):
        (WebCore::LegacyHTMLTreeConstructor::finished):
        (WebCore::LegacyHTMLTreeConstructor::reportErrorToConsole):
        (WebCore::shouldCreateImplicitHead):
        (WebCore::serializeForNumberType):
        (WebCore::parseToDoubleForNumberType):
        * html/LegacyHTMLTreeConstructor.h: Renamed from WebCore/html/HTMLParser.h.
        (WebCore::LegacyHTMLTreeConstructor::skipMode):
        (WebCore::LegacyHTMLTreeConstructor::isHandlingResidualStyleAcrossBlocks):
        (WebCore::LegacyHTMLTreeConstructor::setSkipMode):
        (WebCore::LegacyHTMLTreeConstructor::popBlock):
        (WebCore::LegacyHTMLTreeConstructor::hasPElementInScope):
        (WebCore::LegacyHTMLTreeConstructor::reportError):
        (WebCore::LegacyHTMLTreeConstructor::):
        (WebCore::shouldCreateImplicitHead):
        * html/StepRange.cpp:
        * html/ValidityState.cpp:
        * rendering/RenderSlider.cpp:

2010-06-13  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        Rename m_parser, htmlParser() to m_treeConstructor, htmlTreeConstructor() in preparation for renaming HTMLParser
        https://bugs.webkit.org/show_bug.cgi?id=40514

        This rename was done by hand.  I realize now I should have
        renamed HTMLParser to HTMLTreeConstructor before renaming HTMLTokenizer.

        No functional changes, thus no tests.

        * dom/DocumentParser.h:
        (WebCore::DocumentParser::htmlTreeConstructor):
        * html/HTML5DocumentParser.cpp:
        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
        (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
        (WebCore::HTML5DocumentParser::pumpLexer):
        (WebCore::HTML5DocumentParser::end):
        (WebCore::HTML5DocumentParser::htmlTreeConstructor):
        (WebCore::HTML5DocumentParser::isWaitingForScripts):
        (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
        (WebCore::HTML5DocumentParser::notifyFinished):
        (WebCore::HTML5DocumentParser::executeScriptsWaitingForStylesheets):
        * html/HTML5DocumentParser.h:
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
        (WebCore::HTML5TreeBuilder::finished):
        * html/HTML5TreeBuilder.h:
        (WebCore::HTML5TreeBuilder::legacyTreeConstructor):
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        (WebCore::HTMLDocumentParser::scriptHandler):
        (WebCore::HTMLDocumentParser::parseTag):
        (WebCore::HTMLDocumentParser::end):
        (WebCore::HTMLDocumentParser::processToken):
        (WebCore::HTMLDocumentParser::processDoctypeToken):
        * html/HTMLDocumentParser.h:
        (WebCore::HTMLDocumentParser::htmlTreeConstructor):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::removedFromTree):

2010-06-13  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        Rename tok, asHTMLTokenizer to parser, asHTMLDocumentParser
        https://bugs.webkit.org/show_bug.cgi?id=40513

        Last set of Tokenizer related renames, also done via do-webcore-rename:
        asHTMLTokenizer => asHTMLDocumentParser
        tok => parser

        No functional changes, thus no tests.

        * dom/Document.cpp:
        (WebCore::Document::write):
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::asHTMLDocumentParser):
        * html/HTMLDocumentParser.cpp:
        (WebCore::parseHTMLDocumentFragment):
        * html/HTMLDocumentParser.h:
        (WebCore::HTMLDocumentParser::asHTMLDocumentParser):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::isLoadingInAPISense):

2010-06-13  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        Fix the rest of the references to the old Tokenizer class (now DocumentParser)
        https://bugs.webkit.org/show_bug.cgi?id=40512

        No functional changes, thus no new tests.
        This was mostly done by do-webcore-rename:
        tokenizer => parser
        m_tokenizer => m_parser
        createTextTokenizer => createTextDocumentParser
        createTokenizer => createParser
        getTokenizer => getParser

        However had to be careful to avoid renaming things related to
        css/tokenizer.flex (which we should later rename to CSSTokenizer.flex)

        Still a couple references with "tok" and "asHTMLTokenizer" which I'll
        get in the next patch.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isLoaded):
        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * dom/Document.cpp:
        (WebCore::Document::removedLastRef):
        (WebCore::Document::~Document):
        (WebCore::Document::createParser):
        (WebCore::Document::open):
        (WebCore::Document::cancelParsing):
        (WebCore::Document::implicitOpen):
        (WebCore::Document::implicitClose):
        (WebCore::Document::write):
        (WebCore::Document::finishParsing):
        (WebCore::Document::removePendingSheet):
        * dom/Document.h:
        (WebCore::Document::parser):
        * dom/DocumentParser.h:
        * dom/ViewportArguments.cpp:
        (WebCore::reportViewportWarning):
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
        (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
        (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
        (WebCore::PendingCallbacks::PendingCharactersCallback::call):
        (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
        (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
        (WebCore::PendingCallbacks::PendingCommentCallback::call):
        (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
        (WebCore::PendingCallbacks::):
        (WebCore::getParser):
        (WebCore::startElementNsHandler):
        (WebCore::endElementNsHandler):
        (WebCore::charactersHandler):
        (WebCore::processingInstructionHandler):
        (WebCore::cdataBlockHandler):
        (WebCore::commentHandler):
        (WebCore::warningHandler):
        (WebCore::fatalErrorHandler):
        (WebCore::normalErrorHandler):
        (WebCore::getEntityHandler):
        (WebCore::startDocumentHandler):
        (WebCore::endDocumentHandler):
        (WebCore::internalSubsetHandler):
        (WebCore::externalSubsetHandler):
        (WebCore::parseXMLDocumentFragment):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::parseXMLDocumentFragment):
        * html/HTML5EntityParser.cpp:
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::createParser):
        * html/HTMLDocument.h:
        * html/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::write):
        (WebCore::HTMLDocumentParser::stopParsing):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::removedFromTree):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::finished):
        (WebCore::HTMLParser::reportErrorToConsole):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createParser):
        (WebCore::HTMLViewSourceDocument::addLine):
        * html/HTMLViewSourceDocument.h:
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::isLoadingInAPISense):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::begin):
        (WebCore::DocumentWriter::addData):
        * loader/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryDocument::createParser):
        * loader/FTPDirectoryDocument.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::stop):
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocument::createParser):
        * loader/ImageDocument.h:
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocument::createParser):
        * loader/MediaDocument.h:
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocument::createParser):
        * loader/PluginDocument.h:
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocument::createParser):
        * loader/SinkDocument.h:
        * loader/TextDocument.cpp:
        (WebCore::TextDocument::createParser):
        (WebCore::createTextDocumentParser):
        * loader/TextDocument.h:
        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::reportWarning):
        (WebCore::SVGDocumentExtensions::reportError):
        * wml/WMLDocument.cpp:
        (WebCore::WMLDocument::finishedParsing):
        * wml/WMLErrorHandling.cpp:
        (WebCore::reportWMLError):
        * wml/WMLTemplateElement.cpp:
        (WebCore::WMLTemplateElement::registerTemplatesInDocument):

2010-06-13  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: link won't return linked element if URL contains #
        https://bugs.webkit.org/show_bug.cgi?id=40192

        Test: platform/mac/accessibility/internal-link-when-document-has-fragment.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::internalLinkElement):

2010-06-13  Sam Weinig  <sam@webkit.org>

        Try and fix the chrome build.

        * bindings/scripts/CodeGeneratorV8.pm:
        * xml/XMLHttpRequest.idl:

2010-06-13  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=40550
        XMLHttpRequest constructor object should expose the constants from the IDL.

        Test: fast/dom/XMLHttpRequest-constants.html

        * Android.jscbindings.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/js/JSWorkerContextCustom.cpp:
        * bindings/js/JSXMLHttpRequestConstructor.cpp: Removed.
        * bindings/js/JSXMLHttpRequestConstructor.h: Removed.
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequestConstructor::constructJSXMLHttpRequest):
        * bindings/scripts/CodeGeneratorJS.pm:
        * xml/XMLHttpRequest.idl:

2010-06-13  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        -webkit-transition font-size and font-family
        https://bugs.webkit.org/show_bug.cgi?id=33429
        
        When animating font-size, update the font with a saved
        version of the font selector to ensure that we don't clobber
        the font family.        

        Test: transitions/font-family-during-transition.html

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::setBlendedFontSize):

2010-06-13  Tony Chang  <tony@chromium.org>

        Build fix, not reviewed.

        fix chromium compile after r61094 (id attribute refactor)
        https://bugs.webkit.org/show_bug.cgi?id=40553

        * bindings/v8/custom/V8NamedNodesCollection.cpp:
        (WebCore::V8NamedNodesCollection::itemWithName):

2010-06-13  Darin Adler  <darin@apple.com>

        Reviewed by Alexey Proskuryakov.

        Partly done support for alternate ID attributes should be removed
        https://bugs.webkit.org/show_bug.cgi?id=39692

        Removed the include of "HTMLNames.h" from "Element.h". This prevents
        near-world-rebuilds every time you change HTMLTagNames.in.

        Renamed the getIDAttribute function in the Element class to
        idForStyleResolution, since it returns a value of the id attribute
        that has been lowercased as appropriate for style matching, not the
        actual value of the attribute. With the old name it was easy to
        misuse it in non-style contexts.

        Got rid of the idAttributeName function on Element, since it is
        easy to use it wrong. Replace it with isIdAttributeName, getIdAttribute,
        and setIdAttribute functions, which are a good fit for the needs of
        most call sites that were dealing with the id attribute.

        Added an idAttributeName function to Document. This is for a future
        where a document can have a custom id attribute name specified in its
        doctype. It's possible this will be insufficient because the same
        document might have XHTML or SVG elements in it, and it's possible
        that on those elements we will want the attribute named "id" with
        no namespace to still work. We can deal with that when we implement
        the actual feature, though. For now, it seems OK to fetch the name
        of the id attribute from the document.

        * dom/DynamicNodeList.cpp:
        (WebCore::DynamicNodeList::itemWithName):
        * dom/StaticNodeList.cpp:
        (WebCore::StaticNodeList::itemWithName):
        * rendering/RenderSVGResourceContainer.h:
        (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
        (WebCore::RenderSVGResourceContainer::idChanged):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::handleDeepUseReferencing):
        * svg/animation/SMILTimeContainer.cpp:
        (WebCore::SMILTimeContainer::updateAnimations):
        Use the new idForStyleResolution function, which is the new name of
        the getIDAttribute function. There's a good chance these call sites are
        incorrect, which is something we should investigate later, so there's
        a FIXME at each call site.

        * dom/Document.cpp:
        (WebCore::Document::Document): Initialize m_idAttributeName to the
        standard id attribute from HTML.
        (WebCore::Document::getElementById): Use Element::getIdAttribute.
        * dom/Document.h: Added Document::idAttributeName.

        * dom/Element.cpp:
        (WebCore::Element::setAttribute): Use Document::idAttributeName.
        (WebCore::Element::setAttributeMap): Use Element::isIdAttributeName.
        (WebCore::Element::insertedIntoDocument): Use Document::idAttributeName.
        (WebCore::Element::removedFromDocument): Ditto.
        (WebCore::Element::formatForDebugger): Use Element::getIdAttribute.
        * dom/Element.h: Added isIdAttributeName, getIdAttribute, setIdAttribute,
        idForStyleResolution. Removed rareIDAttributeName.

        * dom/ElementRareData.h: Removed m_idAttributeName.

        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::setAttributes): Use Document::idAttributeName.
        * dom/NamedNodeMap.h: Renamed id, setID, and m_id to idForStyleResolution,
        setIdForStyleResolution, and m_idForStyleResolution since this is not the
        value of the id attribute because it gets lowercased for compatibility-mode
        documents.

        * rendering/RenderIFrame.cpp:
        * rendering/RenderLayerCompositor.cpp:
        * rendering/RenderProgress.cpp:
        Added include of HTMLNames.h now that Element.h no longer includes it.

        * editing/SetNodeAttributeCommand.h:
        * editing/markup.cpp:
        * html/HTMLParser.cpp:
        Removed unneeded includes.

        * html/HTMLParser.h: Sorted includes.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchRules): Use idForStyleResolution.
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Use idForStyleResolution.
        * dom/Attr.cpp:
        (WebCore::Attr::isId): Use Document::idAttributeName.
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::parseMappedAttribute): Use isIdAttributeName,
        and setIdForStyleResolution.
        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::createDeletionUI): Use setIdAttribute.
        * editing/EditorCommand.cpp:
        (WebCore::executeInsertHorizontalRule): Ditto.
        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::parseMappedAttribute): Use isIdAttributeName.
        (WebCore::HTMLAppletElement::createRenderer): Use getIdAttribute.
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::checkForNameMatch): Use getIdAttribute.
        (WebCore::HTMLCollection::updateNameCache): Use getIdAttribute.
        * html/HTMLDataGridColElement.cpp:
        (WebCore::HTMLDataGridColElement::ensureColumn): Use getIdAttribute.
        (WebCore::HTMLDataGridColElement::parseMappedAttribute): Use isIdAttributeName.
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute): Use isIdAttributeName.
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::nextNamedItem): Added missing braces.
        (WebCore::HTMLFormCollection::updateNameCache): Use getIdAttribute.
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::parseMappedAttribute): Use isIdAttributeName.
        (WebCore::HTMLFrameElementBase::setName): Use getIdAttribute.
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::parseMappedAttribute): Use isIdAttributeName.
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::parseMappedAttribute): Use isIdAttributeName.
        Also restructured the function a bit to make its structure clearer and added
        a comment pointing out that it can't be quite right.
        * html/HTMLNameCollection.cpp:
        (WebCore::HTMLNameCollection::itemAfter): Use getIdAttribute.
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parseMappedAttribute): Use isIdAttributeName.
        * html/HTMLParamElement.cpp:
        (WebCore::HTMLParamElement::parseMappedAttribute): Use isIdAttributeName.
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::getSVGFontById): Use getIdAttribute.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::nameForLayer): Use getIdAttribute.
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeSVGPaintingResource): Use getIdAttribute.
        (WebCore::writeSVGResourceContainer): Ditto.
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::insertedIntoDocument): Use getIdAttribute.
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::isKnownAttribute): Use isIdAttributeName.
        (WebCore::SVGStyledElement::svgAttributeChanged): Use isIdAttributeName.
        * wml/WMLElement.cpp:
        (WebCore::WMLElement::parseMappedAttribute): Use isIdAttributeName.

2010-06-13  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8087385> REGRESSION (r60974): Continuous wheel scrolling is too fast in list boxes and in Safari Reader
        https://bugs.webkit.org/show_bug.cgi?id=40537

        * platform/mac/WheelEventMac.mm:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent): Only multiply by pixelsPerLineStep() if the
        event is not continuous, as was before r56012.

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

        Reviewed by Darin Adler.

        Centralize the gperf code generation commands into make-hash-tools.pl
        to avoid redundancy across multiple build systems.
        Do this in preparation of refactoring the usage of these generated
        sources to fix the debug linking error on Linux with gcc >= 4.4.0.

        webkit.org/b/29244

        No functionality change, so no new tests needed.

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/rule_gperf.py: Removed.
        * WebCore.pri:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSParser.cpp:
        (WebCore::cssPropertyID):
        (WebCore::cssValueKeywordID):
        * css/makeprop.pl:
        * css/makevalues.pl:
        * html/DocTypeStrings.gperf:
        * html/HTML5EntityParser.cpp:
        * html/HTMLDocumentParser.cpp:
        * html/HTMLEntityNames.gperf:
        * html/PreloadScanner.cpp:
        * make-hash-tools.pl: Added.
        * platform/ColorData.gperf:
        * platform/graphics/Color.cpp:

2010-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] tests/hybridPixmap fails
        https://bugs.webkit.org/show_bug.cgi?id=37316

        The problem was that JSC::Instance::createRuntimeObject was never called.
        This is fixed by overloading newRuntimeObject and calling Instance::createRuntimeObject
        in between, instead of creating the runtime object directly inside the static function
        QtPixmapInstance::createRuntimeObject, which had to be renamed as to not overshadow the virtual function.

        This fixes an existing test, tests/hybridPixmap

        * bridge/qt/qt_pixmapruntime.cpp:
        (JSC::Bindings::QtPixmapInstance::newRuntimeObject):
        (JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):
        * bridge/qt/qt_pixmapruntime.h:
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertQVariantToValue):

2010-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Darin Adler.

        GraphicsContext3D.h in the Qt port includes too many unnecessary files
        https://bugs.webkit.org/show_bug.cgi?id=40536

        Removed unncessary includes.

        No new tests; Compilation improvement.

        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/qt/GraphicsContext3DQt.cpp:

2010-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Eric Seidel.

        [Qt] GraphicsLayer: recaching images creates an unnecessary deep copy
        https://bugs.webkit.org/show_bug.cgi?id=40535

        Made sure the painter ends its operation before copying the pixmap.

        No new tests: this is an optimization.

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

2010-06-13  Clemmitt Sigler  <cmsigler@gmail.com>

        Reviewed by Eric Seidel.

        Patch to fix missing references to RenderMathMLRoot,
        RenderMathMLSquareRoot when building GtkLauncher.
        https://bugs.webkit.org/show_bug.cgi?id=40326

        No change in functionality so no new tests.

        * GNUmakefile.am:

2010-06-12  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Dan Bernstein.
        
        https://bugs.webkit.org/show_bug.cgi?id=40538
        
        Some machines have started to see the return of the dreaded: WebCore.lib : fatal error LNK1106: invalid 
        file or disk full. Since we don't have the hotfix for VS2005, work around this in the meantime
        by creating an EditingAllInOne file, that includes all of the cpp files in the editing subdirectory.
        
        * WebCore.vcproj/WebCore.vcproj: Prevnt the editing cpp from building, so we only compile EditingAllInOne.
        * editing/EditingAllInOne.cpp: Added. Includes all of the editing cpp files.

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

        Unreviewed, rolling out r61031.
        http://trac.webkit.org/changeset/61031
        https://bugs.webkit.org/show_bug.cgi?id=40539

        Crashes Dromaeo jslib test in Release Chromium (Requested by
        dimich_ on #webkit).

        * bindings/v8/V8Binding.cpp:
        (WebCore::v8ExternalString):
        * bindings/v8/V8Binding.h:

2010-06-12  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Rename the last few *Tokenizer classes (which don't have their own files) to *DocumentParser
        https://bugs.webkit.org/show_bug.cgi?id=40508

        This was a very simple do-webcore-rename-generated patch.

        PluginTokenizer => PluginDocumentParser
        TextTokenizer => TextDocumentParser
        SinkTokenizer => SinkDocumentParser
        MediaTokenizer => MediaDocumentParser
        FTPDirectoryTokenizer => FTPDirectoryDocumentParser

        No functional changes, thus no tests.

        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createTokenizer):
        * html/HTMLViewSourceDocument.h:
        * loader/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
        (WebCore::FTPDirectoryDocumentParser::appendEntry):
        (WebCore::FTPDirectoryDocumentParser::createTDForFilename):
        (WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine):
        (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
        (WebCore::FTPDirectoryDocumentParser::createBasicDocument):
        (WebCore::FTPDirectoryDocumentParser::write):
        (WebCore::FTPDirectoryDocumentParser::finish):
        (WebCore::FTPDirectoryDocument::createTokenizer):
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocumentParser::MediaDocumentParser):
        (WebCore::MediaDocumentParser::write):
        (WebCore::MediaDocumentParser::createDocumentStructure):
        (WebCore::MediaDocumentParser::writeRawData):
        (WebCore::MediaDocumentParser::finish):
        (WebCore::MediaDocumentParser::isWaitingForScripts):
        (WebCore::MediaDocument::createTokenizer):
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::PluginDocumentParser):
        (WebCore::PluginDocumentParser::pluginWidgetFromDocument):
        (WebCore::PluginDocumentParser::write):
        (WebCore::PluginDocumentParser::createDocumentStructure):
        (WebCore::PluginDocumentParser::writeRawData):
        (WebCore::PluginDocumentParser::finish):
        (WebCore::PluginDocumentParser::isWaitingForScripts):
        (WebCore::PluginDocument::createTokenizer):
        (WebCore::PluginDocument::pluginWidget):
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocumentParser::SinkDocumentParser):
        (WebCore::SinkDocumentParser::finish):
        (WebCore::SinkDocument::createTokenizer):
        * loader/TextDocument.cpp:
        (WebCore::TextDocumentParser::TextDocumentParser):
        (WebCore::TextDocumentParser::~TextDocumentParser):
        (WebCore::TextDocumentParser::write):
        (WebCore::TextDocumentParser::finish):
        (WebCore::TextDocumentParser::isWaitingForScripts):
        (WebCore::TextDocument::createTokenizer):
        (WebCore::createTextTokenizer):

2010-06-12  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] EventHandlerQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=40259

        Coding style change only.

        * page/qt/EventHandlerQt.cpp:
        (WebCore::EventHandler::eventActivatedView):

2010-06-12  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Darin Adler.

        Unify fileSystemRepresentation and filenameFromString
        https://bugs.webkit.org/show_bug.cgi?id=40201

        Remove filenameFromString and use fileSystemRepresentation instead
        as they do the same job.

        * platform/FileSystem.cpp: Removed.
        * platform/FileSystem.h:
        * platform/efl/FileSystemEfl.cpp:
        (WebCore::fileSystemRepresentation):
        * platform/gtk/FileChooserGtk.cpp:
        (WebCore::FileChooser::basenameForWidth):
        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::fileSystemRepresentation):
        (WebCore::filenameForDisplay):
        (WebCore::fileExists):
        (WebCore::deleteFile):
        (WebCore::deleteEmptyDirectory):
        (WebCore::getFileSize):
        (WebCore::getFileModificationTime):
        (WebCore::makeAllDirectories):
        (WebCore::pathGetFileName):
        (WebCore::directoryName):
        (WebCore::listDirectory):
        * platform/gtk/SharedBufferGtk.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::startHttp):
        * platform/posix/SharedBufferPOSIX.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):

2010-06-12  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Eric Seidel.

        [Haiku] Cleanup SharedBuffer::createWithContentsOfFile
        https://bugs.webkit.org/show_bug.cgi?id=39003

        * platform/haiku/SharedBufferHaiku.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):

2010-06-12  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] WheelEventQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39760

        * platform/qt/WheelEventQt.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):

2010-06-12  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Don't include POSIX headers in WebCorePrefix.h
        https://bugs.webkit.org/show_bug.cgi?id=39411

        When building for BREW MP, don't include POSIX headers:
        <fcntl.h>, <pthread.h> and <sys/types.h>.

        * WebCorePrefix.h:

2010-06-11  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Rename the rest of the *Tokenizer classes to *DocumentParser
        https://bugs.webkit.org/show_bug.cgi?id=40507

        This search/replace was done by do-webcore-rename.
        Just looking for a rubber stamp.
        
        XMLTokenizer => XMLDocumentParser
        XMLTokenizerLibxml2 => XMLDocumentParserLibxml2
        XMLTokenizerQt => XMLDocumentParserQt
        XMLTokenizerScope => XMLDocumentParserScope
        HTML5Tokenizer => HTML5DocumentParser
        HTMLTokenizer => HTMLDocumentParser

        No functional change, thus no tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::checkLoaded):
        * dom/Document.cpp:
        (WebCore::Document::createTokenizer):
        (WebCore::Document::write):
        * dom/Document.h:
        (WebCore::Document::setXMLEncoding):
        * dom/DocumentParser.h:
        (WebCore::DocumentParser::asHTMLTokenizer):
        * dom/Element.cpp:
        * dom/ProcessingInstruction.cpp:
        * dom/XMLDocumentParser.cpp: Added.
        (WebCore::XMLDocumentParser::isWMLDocument):
        (WebCore::XMLDocumentParser::pushCurrentNode):
        (WebCore::XMLDocumentParser::popCurrentNode):
        (WebCore::XMLDocumentParser::clearCurrentNodeStack):
        (WebCore::XMLDocumentParser::write):
        (WebCore::XMLDocumentParser::handleError):
        (WebCore::XMLDocumentParser::enterText):
        (WebCore::toString):
        (WebCore::XMLDocumentParser::exitText):
        (WebCore::XMLDocumentParser::end):
        (WebCore::XMLDocumentParser::finish):
        (WebCore::createXHTMLParserErrorHeader):
        (WebCore::XMLDocumentParser::insertErrorMessageBlock):
        (WebCore::XMLDocumentParser::notifyFinished):
        (WebCore::XMLDocumentParser::isWaitingForScripts):
        (WebCore::XMLDocumentParser::pauseParsing):
        * dom/XMLDocumentParser.h: Added.
        (WebCore::XMLParserContext::context):
        (WebCore::XMLParserContext::XMLParserContext):
        (WebCore::XMLDocumentParser::):
        (WebCore::XMLDocumentParser::setIsXHTMLDocument):
        (WebCore::XMLDocumentParser::isXHTMLDocument):
        (WebCore::XMLDocumentParser::setIsXHTMLMPDocument):
        (WebCore::XMLDocumentParser::isXHTMLMPDocument):
        (WebCore::XMLDocumentParser::wellFormed):
        (WebCore::XMLDocumentParser::context):
        * dom/XMLDocumentParserLibxml2.cpp: Added.
        (WebCore::PendingCallbacks::~PendingCallbacks):
        (WebCore::PendingCallbacks::appendStartElementNSCallback):
        (WebCore::PendingCallbacks::appendEndElementNSCallback):
        (WebCore::PendingCallbacks::appendCharactersCallback):
        (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
        (WebCore::PendingCallbacks::appendCDATABlockCallback):
        (WebCore::PendingCallbacks::appendCommentCallback):
        (WebCore::PendingCallbacks::appendInternalSubsetCallback):
        (WebCore::PendingCallbacks::appendErrorCallback):
        (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
        (WebCore::PendingCallbacks::isEmpty):
        (WebCore::PendingCallbacks::PendingCallback::~PendingCallback):
        (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
        (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
        (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
        (WebCore::PendingCallbacks::PendingCharactersCallback::~PendingCharactersCallback):
        (WebCore::PendingCallbacks::PendingCharactersCallback::call):
        (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::~PendingProcessingInstructionCallback):
        (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
        (WebCore::PendingCallbacks::PendingCDATABlockCallback::~PendingCDATABlockCallback):
        (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
        (WebCore::PendingCallbacks::PendingCommentCallback::~PendingCommentCallback):
        (WebCore::PendingCallbacks::PendingCommentCallback::call):
        (WebCore::PendingCallbacks::PendingInternalSubsetCallback::~PendingInternalSubsetCallback):
        (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
        (WebCore::PendingCallbacks::):
        (WebCore::matchFunc):
        (WebCore::OffsetBuffer::OffsetBuffer):
        (WebCore::OffsetBuffer::readOutBytes):
        (WebCore::shouldAllowExternalLoad):
        (WebCore::openFunc):
        (WebCore::readFunc):
        (WebCore::writeFunc):
        (WebCore::closeFunc):
        (WebCore::errorFunc):
        (WebCore::XMLParserContext::createStringParser):
        (WebCore::XMLParserContext::createMemoryParser):
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLParserContext::~XMLParserContext):
        (WebCore::XMLDocumentParser::~XMLDocumentParser):
        (WebCore::XMLDocumentParser::doWrite):
        (WebCore::toString):
        (WebCore::handleElementNamespaces):
        (WebCore::handleElementAttributes):
        (WebCore::XMLDocumentParser::startElementNs):
        (WebCore::XMLDocumentParser::endElementNs):
        (WebCore::XMLDocumentParser::characters):
        (WebCore::XMLDocumentParser::error):
        (WebCore::XMLDocumentParser::processingInstruction):
        (WebCore::XMLDocumentParser::cdataBlock):
        (WebCore::XMLDocumentParser::comment):
        (WebCore::XMLDocumentParser::startDocument):
        (WebCore::XMLDocumentParser::endDocument):
        (WebCore::XMLDocumentParser::internalSubset):
        (WebCore::getTokenizer):
        (WebCore::hackAroundLibXMLEntityBug):
        (WebCore::startElementNsHandler):
        (WebCore::endElementNsHandler):
        (WebCore::charactersHandler):
        (WebCore::processingInstructionHandler):
        (WebCore::cdataBlockHandler):
        (WebCore::commentHandler):
        (WebCore::warningHandler):
        (WebCore::fatalErrorHandler):
        (WebCore::normalErrorHandler):
        (WebCore::):
        (WebCore::sharedXHTMLEntity):
        (WebCore::getXHTMLEntity):
        (WebCore::getEntityHandler):
        (WebCore::startDocumentHandler):
        (WebCore::endDocumentHandler):
        (WebCore::internalSubsetHandler):
        (WebCore::externalSubsetHandler):
        (WebCore::ignorableWhitespaceHandler):
        (WebCore::XMLDocumentParser::initializeParserContext):
        (WebCore::XMLDocumentParser::doEnd):
        (WebCore::xmlDocPtrForString):
        (WebCore::XMLDocumentParser::lineNumber):
        (WebCore::XMLDocumentParser::columnNumber):
        (WebCore::XMLDocumentParser::stopParsing):
        (WebCore::XMLDocumentParser::resumeParsing):
        (WebCore::parseXMLDocumentFragment):
        (WebCore::attributesStartElementNsHandler):
        (WebCore::parseAttributes):
        * dom/XMLDocumentParserQt.cpp: Added.
        (WebCore::EntityResolver::resolveUndeclaredEntity):
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::~XMLDocumentParser):
        (WebCore::XMLDocumentParser::doWrite):
        (WebCore::XMLDocumentParser::initializeParserContext):
        (WebCore::XMLDocumentParser::doEnd):
        (WebCore::XMLDocumentParser::lineNumber):
        (WebCore::XMLDocumentParser::columnNumber):
        (WebCore::XMLDocumentParser::stopParsing):
        (WebCore::XMLDocumentParser::resumeParsing):
        (WebCore::parseXMLDocumentFragment):
        (WebCore::attributesStartElementNsHandler):
        (WebCore::parseAttributes):
        (WebCore::prefixFromQName):
        (WebCore::handleElementNamespaces):
        (WebCore::handleElementAttributes):
        (WebCore::XMLDocumentParser::parse):
        (WebCore::XMLDocumentParser::startDocument):
        (WebCore::XMLDocumentParser::parseStartElement):
        (WebCore::XMLDocumentParser::parseEndElement):
        (WebCore::XMLDocumentParser::parseCharacters):
        (WebCore::XMLDocumentParser::parseProcessingInstruction):
        (WebCore::XMLDocumentParser::parseCdata):
        (WebCore::XMLDocumentParser::parseComment):
        (WebCore::XMLDocumentParser::endDocument):
        (WebCore::XMLDocumentParser::hasError):
        (WebCore::XMLDocumentParser::parseDtd):
        * dom/XMLDocumentParserScope.cpp: Added.
        (WebCore::XMLDocumentParserScope::XMLDocumentParserScope):
        (WebCore::XMLDocumentParserScope::~XMLDocumentParserScope):
        * dom/XMLDocumentParserScope.h: Added.
        * dom/XMLTokenizer.cpp: Removed.
        * dom/XMLTokenizer.h: Removed.
        * dom/XMLTokenizerLibxml2.cpp: Removed.
        * dom/XMLTokenizerQt.cpp: Removed.
        * dom/XMLTokenizerScope.cpp: Removed.
        * dom/XMLTokenizerScope.h: Removed.
        * html/HTML5DocumentParser.cpp: Added.
        (WebCore::):
        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
        (WebCore::HTML5DocumentParser::~HTML5DocumentParser):
        (WebCore::HTML5DocumentParser::begin):
        (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
        (WebCore::HTML5DocumentParser::pumpLexer):
        (WebCore::HTML5DocumentParser::write):
        (WebCore::HTML5DocumentParser::end):
        (WebCore::HTML5DocumentParser::attemptToEnd):
        (WebCore::HTML5DocumentParser::endIfDelayed):
        (WebCore::HTML5DocumentParser::finish):
        (WebCore::HTML5DocumentParser::executingScript):
        (WebCore::HTML5DocumentParser::lineNumber):
        (WebCore::HTML5DocumentParser::columnNumber):
        (WebCore::HTML5DocumentParser::htmlParser):
        (WebCore::HTML5DocumentParser::isWaitingForScripts):
        (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
        (WebCore::HTML5DocumentParser::watchForLoad):
        (WebCore::HTML5DocumentParser::stopWatchingForLoad):
        (WebCore::HTML5DocumentParser::shouldLoadExternalScriptFromSrc):
        (WebCore::HTML5DocumentParser::executeScript):
        (WebCore::HTML5DocumentParser::notifyFinished):
        (WebCore::HTML5DocumentParser::executeScriptsWaitingForStylesheets):
        (WebCore::HTML5DocumentParser::script):
        * html/HTML5DocumentParser.h: Added.
        (WebCore::HTML5DocumentParser::InputStream::InputStream):
        (WebCore::HTML5DocumentParser::InputStream::appendToEnd):
        (WebCore::HTML5DocumentParser::InputStream::insertAtCurrentInsertionPoint):
        (WebCore::HTML5DocumentParser::InputStream::close):
        (WebCore::HTML5DocumentParser::InputStream::current):
        (WebCore::HTML5DocumentParser::InputStream::splitInto):
        (WebCore::HTML5DocumentParser::InputStream::mergeFrom):
        (WebCore::HTML5DocumentParser::InsertionPointRecord::InsertionPointRecord):
        (WebCore::HTML5DocumentParser::InsertionPointRecord::~InsertionPointRecord):
        (WebCore::HTML5DocumentParser::inWrite):
        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::columnNumber):
        * html/HTML5Tokenizer.cpp: Removed.
        * html/HTML5Tokenizer.h: Removed.
        * html/HTML5TreeBuilder.cpp:
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::createTokenizer):
        * html/HTMLDocumentParser.cpp: Added.
        (WebCore::):
        (WebCore::fixUpChar):
        (WebCore::tagMatch):
        (WebCore::Token::addAttribute):
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        (WebCore::HTMLDocumentParser::reset):
        (WebCore::HTMLDocumentParser::begin):
        (WebCore::HTMLDocumentParser::setForceSynchronous):
        (WebCore::HTMLDocumentParser::processListing):
        (WebCore::HTMLDocumentParser::parseNonHTMLText):
        (WebCore::HTMLDocumentParser::scriptHandler):
        (WebCore::HTMLDocumentParser::scriptExecution):
        (WebCore::HTMLDocumentParser::parseComment):
        (WebCore::HTMLDocumentParser::parseServer):
        (WebCore::HTMLDocumentParser::parseProcessingInstruction):
        (WebCore::HTMLDocumentParser::parseText):
        (WebCore::HTMLDocumentParser::parseEntity):
        (WebCore::HTMLDocumentParser::parseDoctype):
        (WebCore::HTMLDocumentParser::parseTag):
        (WebCore::HTMLDocumentParser::continueProcessing):
        (WebCore::HTMLDocumentParser::advance):
        (WebCore::HTMLDocumentParser::willWriteHTML):
        (WebCore::HTMLDocumentParser::didWriteHTML):
        (WebCore::HTMLDocumentParser::write):
        (WebCore::HTMLDocumentParser::stopParsing):
        (WebCore::HTMLDocumentParser::processingData):
        (WebCore::HTMLDocumentParser::timerFired):
        (WebCore::HTMLDocumentParser::end):
        (WebCore::HTMLDocumentParser::finish):
        (WebCore::HTMLDocumentParser::processToken):
        (WebCore::HTMLDocumentParser::processDoctypeToken):
        (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
        (WebCore::HTMLDocumentParser::enlargeBuffer):
        (WebCore::HTMLDocumentParser::enlargeScriptBuffer):
        (WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets):
        (WebCore::HTMLDocumentParser::notifyFinished):
        (WebCore::HTMLDocumentParser::executeExternalScriptsIfReady):
        (WebCore::HTMLDocumentParser::executeExternalScriptsTimerFired):
        (WebCore::HTMLDocumentParser::continueExecutingExternalScripts):
        (WebCore::HTMLDocumentParser::isWaitingForScripts):
        (WebCore::HTMLDocumentParser::setSrc):
        (WebCore::parseHTMLDocumentFragment):
        (WebCore::decodeNamedEntity):
        * html/HTMLDocumentParser.h: Added.
        (WebCore::Token::Token):
        (WebCore::Token::~Token):
        (WebCore::Token::isOpenTag):
        (WebCore::Token::isCloseTag):
        (WebCore::Token::reset):
        (WebCore::Token::addViewSourceChar):
        (WebCore::):
        (WebCore::DoctypeToken::DoctypeToken):
        (WebCore::DoctypeToken::reset):
        (WebCore::DoctypeToken::state):
        (WebCore::DoctypeToken::setState):
        (WebCore::HTMLDocumentParser::forceSynchronous):
        (WebCore::HTMLDocumentParser::executingScript):
        (WebCore::HTMLDocumentParser::lineNumber):
        (WebCore::HTMLDocumentParser::columnNumber):
        (WebCore::HTMLDocumentParser::processingContentWrittenByScript):
        (WebCore::HTMLDocumentParser::htmlParser):
        (WebCore::HTMLDocumentParser::asHTMLTokenizer):
        (WebCore::HTMLDocumentParser::checkBuffer):
        (WebCore::HTMLDocumentParser::checkScriptBuffer):
        (WebCore::HTMLDocumentParser::):
        (WebCore::HTMLDocumentParser::State::State):
        (WebCore::HTMLDocumentParser::State::tagState):
        (WebCore::HTMLDocumentParser::State::setTagState):
        (WebCore::HTMLDocumentParser::State::entityState):
        (WebCore::HTMLDocumentParser::State::setEntityState):
        (WebCore::HTMLDocumentParser::State::inScript):
        (WebCore::HTMLDocumentParser::State::setInScript):
        (WebCore::HTMLDocumentParser::State::inStyle):
        (WebCore::HTMLDocumentParser::State::setInStyle):
        (WebCore::HTMLDocumentParser::State::inXmp):
        (WebCore::HTMLDocumentParser::State::setInXmp):
        (WebCore::HTMLDocumentParser::State::inTitle):
        (WebCore::HTMLDocumentParser::State::setInTitle):
        (WebCore::HTMLDocumentParser::State::inIFrame):
        (WebCore::HTMLDocumentParser::State::setInIFrame):
        (WebCore::HTMLDocumentParser::State::inPlainText):
        (WebCore::HTMLDocumentParser::State::setInPlainText):
        (WebCore::HTMLDocumentParser::State::inProcessingInstruction):
        (WebCore::HTMLDocumentParser::State::setInProcessingInstruction):
        (WebCore::HTMLDocumentParser::State::inComment):
        (WebCore::HTMLDocumentParser::State::setInComment):
        (WebCore::HTMLDocumentParser::State::inDoctype):
        (WebCore::HTMLDocumentParser::State::setInDoctype):
        (WebCore::HTMLDocumentParser::State::inTextArea):
        (WebCore::HTMLDocumentParser::State::setInTextArea):
        (WebCore::HTMLDocumentParser::State::escaped):
        (WebCore::HTMLDocumentParser::State::setEscaped):
        (WebCore::HTMLDocumentParser::State::inServer):
        (WebCore::HTMLDocumentParser::State::setInServer):
        (WebCore::HTMLDocumentParser::State::skipLF):
        (WebCore::HTMLDocumentParser::State::setSkipLF):
        (WebCore::HTMLDocumentParser::State::startTag):
        (WebCore::HTMLDocumentParser::State::setStartTag):
        (WebCore::HTMLDocumentParser::State::discardLF):
        (WebCore::HTMLDocumentParser::State::setDiscardLF):
        (WebCore::HTMLDocumentParser::State::allowYield):
        (WebCore::HTMLDocumentParser::State::setAllowYield):
        (WebCore::HTMLDocumentParser::State::loadingExtScript):
        (WebCore::HTMLDocumentParser::State::setLoadingExtScript):
        (WebCore::HTMLDocumentParser::State::forceSynchronous):
        (WebCore::HTMLDocumentParser::State::setForceSynchronous):
        (WebCore::HTMLDocumentParser::State::inAnyNonHTMLText):
        (WebCore::HTMLDocumentParser::State::hasTagState):
        (WebCore::HTMLDocumentParser::State::hasEntityState):
        (WebCore::HTMLDocumentParser::State::needsSpecialWriteHandling):
        (WebCore::HTMLDocumentParser::State::):
        (WebCore::HTMLDocumentParser::State::setBit):
        (WebCore::HTMLDocumentParser::State::testBit):
        * html/HTMLElement.cpp:
        * html/HTMLFormControlElement.cpp:
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::reportErrorToConsole):
        * html/HTMLParser.h:
        * html/HTMLTokenizer.cpp: Removed.
        * html/HTMLTokenizer.h: Removed.
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createTokenizer):
        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
        * html/HTMLViewSourceDocument.h:
        * loader/DocumentLoader.cpp:
        * loader/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryTokenizer::FTPDirectoryTokenizer):
        (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
        (WebCore::FTPDirectoryTokenizer::finish):
        * loader/FrameLoader.cpp:
        * loader/ImageDocument.cpp:
        * loader/MediaDocument.cpp:
        * loader/PluginDocument.cpp:
        * loader/TextDocument.cpp:
        * page/XSSAuditor.h:
        * svg/SVGDocumentExtensions.cpp:
        * wml/WMLErrorHandling.cpp:
        (WebCore::reportWMLError):
        * xml/XSLStyleSheetLibxslt.cpp:
        (WebCore::XSLStyleSheet::parseString):
        * xml/XSLTProcessor.cpp:
        * xml/XSLTProcessorLibxslt.cpp:

2010-06-12  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Window object should have CanvasGradient and CanvasPattern
        https://bugs.webkit.org/show_bug.cgi?id=40394

        This fixes the following tests:
        - canvas/philip/tests/2d.gradient.object.return.html
        - canvas/philip/tests/2d.pattern.basic.type.html

        * html/canvas/CanvasGradient.idl:
        * html/canvas/CanvasPattern.idl:
        * page/DOMWindow.idl:

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

        Reviewed by Oliver Hunt.

        <rdar://problem/8025267> REGRESSION (Safari 4-TOT): Crash when a frame’s resize handler removes the frame
        https://bugs.webkit.org/show_bug.cgi?id=40534

        Test: fast/replaced/frame-removed-during-resize.html

        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::updateWidgetPosition): Null-check m_widget, since resizing the widget
        may trigger an iframe’s resize handler, which may destroy the widget.

2010-06-12  Dean Jackson  <dino@apple.com>

        Reviewed by Darin Adler.

        Animation keyframe timing functions are applying incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=38963
        
        When copying RenderStyles, we have to clone the AnimationList so that each keyframe
        can have its own timing function.

        Tests: animations/keyframe-timing-functions-transform.html
               animations/keyframe-timing-functions2.html

        * platform/animation/Animation.h:
        (WebCore::Animation::create):
        * platform/animation/AnimationList.cpp:
        (WebCore::AnimationList::AnimationList):
        * platform/animation/AnimationList.h:
        (WebCore::AnimationList::AnimationList):

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

        Reviewed by Dave Hyatt.

        <rdar://problem/7882140> -webkit-column-break-* properties don’t do anything
        https://bugs.webkit.org/show_bug.cgi?id=40531

        Test: fast/multicol/break-properties.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintChildren): Check for -webkit-column-break-{before,after}: always
        and -webkit-column-break-inside: avoid when doing column layout.

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

        Reviewed by Alexey Proskuryakov.

        FrameLoader::clear() clears JS objects that cached pages later rely on

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

        Fix the following tests for Qt:

        fast/events/pageshow-pagehide-on-back-cached.html
        fast/events/pageshow-pagehide-on-back-cached-with-frames.html
        fast/loader/input-element-page-cache-crash.html
        fast/dom/Window/timer-resume-on-navigation-back.html
        loader/go-back-to-different-window-size.html
        fast/dom/javascript-url-crash-function.html
        fast/dom/location-new-window-no-crash.html
        http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-window-open.html

        which currently fail because the page's Qt-bindings runtime objects are
        cleared when navigating away from the page containing them.

        Track Qt-bindings objects in a separate ScriptController::cacheableRootBindingObject().
        RuntimeObjects tracked by this root object will not get invalidated on page navigations,
        so they will still be available when the pages containing them are retrieved from the
        b/f cache.

        This means the Qt bindings objects will only get cleared on Frame::pageDestroyed().

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::~ScriptController):
        (WebCore::ScriptController::cacheableBindingRootObject):
        * bindings/js/ScriptController.h:

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

        Reviewed by Darin Adler.

        REGRESSION: Can't submit a form with <input type=radio required>
        https://bugs.webkit.org/show_bug.cgi?id=40429

        Validity state was not updated correctly for radio buttons, and it
        prevents form submission even if a radio button group has a
        checked radio button.

        Test: fast/forms/interactive-validation-required-radio.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateCheckedRadioButtons):
         Call setNeedsValidityCheck() for all of radio buttons in the same group
         to update validity state.
        (WebCore::HTMLInputElement::setChecked):
         Remove setNeedsValidityCheck() call because it is called in
         updateCheckedRadioButtons().

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

        Reviewed by Dimitri Glazkov.

        Disable interactive form validation in non-strict modes
        https://bugs.webkit.org/show_bug.cgi?id=40218

        The interactive validation feature of HTML5 is not compatible with
        HTML4, and users and page authors don't expect existing sites work
        differently in WebKit. For example, maxlength and required attributes
        in existing sites unexpectedly prevented form submission.
        So, we disable the interactive validation feature in non-strict
        modes to improve compatibility.

        Test: fast/forms/interactive-validation-compat-mode.html
              fast/forms/interactive-validation-html4.html

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::validateInteractively):
         Process interactive validation only in the strict mode.

2010-06-12  Eric Seidel  <eric@webkit.org>

        Reviewed by David Levin.

        Rename Tokenizer to DocumentParser to match what it actually does
        https://bugs.webkit.org/show_bug.cgi?id=40504

        The rename was entirely done by do-webcore-rename.
        The only manual changes were removing out-dated comments
        and fixing Tokenizer_h to DocumentParser_h in the header guards.

        I'll do all the rest of the renames (like the tokenizer subclasses
        and the tokenizer() createTokenizer() methods) in separate changes.

        No functional change, thus no tests.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLDocumentCustom.cpp:
        * bindings/v8/ScriptEventListener.cpp:
        * dom/Document.cpp:
        (WebCore::Document::createTokenizer):
        * dom/Document.h:
        (WebCore::Document::tokenizer):
        * dom/DocumentParser.h: Added.
        (WebCore::DocumentParser::~DocumentParser):
        (WebCore::DocumentParser::stopParsing):
        (WebCore::DocumentParser::processingData):
        (WebCore::DocumentParser::executingScript):
        (WebCore::DocumentParser::wantsRawData):
        (WebCore::DocumentParser::writeRawData):
        (WebCore::DocumentParser::inViewSourceMode):
        (WebCore::DocumentParser::setInViewSourceMode):
        (WebCore::DocumentParser::wellFormed):
        (WebCore::DocumentParser::lineNumber):
        (WebCore::DocumentParser::columnNumber):
        (WebCore::DocumentParser::executeScriptsWaitingForStylesheets):
        (WebCore::DocumentParser::htmlParser):
        (WebCore::DocumentParser::asHTMLTokenizer):
        (WebCore::DocumentParser::xssAuditor):
        (WebCore::DocumentParser::setXSSAuditor):
        (WebCore::DocumentParser::DocumentParser):
        * dom/Tokenizer.h: Removed.
        * dom/ViewportArguments.cpp:
        (WebCore::reportViewportWarning):
        * dom/XMLTokenizer.h:
        * dom/XMLTokenizerLibxml2.cpp:
        (WebCore::XMLTokenizer::stopParsing):
        * dom/XMLTokenizerQt.cpp:
        (WebCore::XMLTokenizer::stopParsing):
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
        * html/HTML5Tokenizer.h:
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::createTokenizer):
        * html/HTMLDocument.h:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::removedFromTree):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::HTMLTokenizer):
        (WebCore::HTMLTokenizer::stopParsing):
        * html/HTMLTokenizer.h:
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createTokenizer):
        * html/HTMLViewSourceDocument.h:
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::isLoadingInAPISense):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::addData):
        * loader/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryDocument::createTokenizer):
        * loader/FTPDirectoryDocument.h:
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocument::createTokenizer):
        * loader/ImageDocument.h:
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocument::createTokenizer):
        * loader/MediaDocument.h:
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocument::createTokenizer):
        * loader/PluginDocument.h:
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocument::createTokenizer):
        * loader/SinkDocument.h:
        * loader/TextDocument.cpp:
        (WebCore::TextTokenizer::TextTokenizer):
        (WebCore::TextDocument::createTokenizer):
        (WebCore::createTextTokenizer):
        * loader/TextDocument.h:
        * wml/WMLDocument.cpp:
        (WebCore::WMLDocument::finishedParsing):

2010-06-12  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5Tokenizer needs to tell the InspectorTimelineAgent before and after it writes
        https://bugs.webkit.org/show_bug.cgi?id=40417

        This "fixes" inspector/timeline-script-tag-1.html.  HTML5 results
        differ from the old parser for expected reasons.

        HTML5Tokenizer calls InspectorTimelineAgent::will/didWriteHTML every
        time we pump the lexer instead of every write() call.
        We end up pumping the lexer slightly more often than the old code called
        write() in order to cleanly handle unclosed-entities, unclosed tags,
        buffered characters, etc. at the end of a document.

        I discussed this extensively with James Robinson in #webkit and we decided
        that it was better for the HTML5Tokenizer to call for every pump and
        that the Inspector should later filter out empty pumps.

        We can't filter out empty pumps yet, because the number of parsed
        characters is passed in willWrite instead of didWrite and thus is
        speculative (and wrong).  This is a problem independent of this change
        as willWrite's "length" argument is wrong in different ways for the old
        parser, including always being 0 when the old parser resumes.

        Tested by inspector/timeline-script-tag-1.html

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::willPumpLexer):
         - Notify the InspectorTimelineAgent we're about to process input.
        (WebCore::HTML5Tokenizer::didPumpLexer):
         - Notify the InspectorTimelineAgent we did process tokens.
        (WebCore::HTML5Tokenizer::pumpLexer):
         - Call willPump and didPump
        * html/HTML5Tokenizer.h:
        * inspector/InspectorTimelineAgent.h:
         - Add a FIXME about passing length to didWrite instead of willWrite.

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

        Unreviewed, rolling out r61052.
        http://trac.webkit.org/changeset/61052
        https://bugs.webkit.org/show_bug.cgi?id=40517

        "Broke fast/forms/caret-rtl.html on Mac bots" (Requested by
        eseidel on #webkit).

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::mapToEntry):
        (WebCore::HTMLElement::parseMappedAttribute):

2010-06-11  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Ojan Vafai.

        Implement HTML5 hidden attribute
        https://bugs.webkit.org/show_bug.cgi?id=40511

        Test: fast/html/hidden-attr.html
        
        Note: I used the mapped attribute mechanism for this instead of a rule in the UA stylesheet
        to avoid a performance hit from adding a global attribute rule to the UA stylesheet.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::mapToEntry): Pick up hidden as a global mapped attribute.
        (WebCore::HTMLElement::parseMappedAttribute): Map hidden attribute to display: none.

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

        Reviewed by Dave Hyatt.

        Do not render CSS Styles :first-letter and :first-line in a SVG text element context. 
        https://bugs.webkit.org/show_bug.cgi?id=40031

        Test: svg/text/text-style-invalid.svg

        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::firstLineBlock):
        (WebCore::RenderSVGText::updateFirstLetter):
        * rendering/RenderSVGText.h:

2010-06-11  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        getParameter with UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL is buggy
        https://bugs.webkit.org/show_bug.cgi?id=40506

        Return the data members of WebGLRenderingContext for these
        parameter queries rather than asking OpenGL, which knows nothing
        about them.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getParameter):

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

        Reviewed by Dr Dan Bernstein.

        REGRESSION: crash when unloading an iFrame with Flash from the DOM
        https://bugs.webkit.org/show_bug.cgi?id=40161
        <rdar://problem/7994710>
        
        Null-check the ownerElement of the RenderView's document when unhooking the compositing
        root of an iframe whose layers are parented via the enclosing document. Fixes a crash when
        dynamically removing such an iframe.

        Test: compositing/iframes/remove-iframe-crash.html

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::detachRootPlatformLayer):

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

        Reviewed by David Hyatt.

        Don't process floats if parent node is not a RenderBlock.
        https://bugs.webkit.org/show_bug.cgi?id=40033

        Test: svg/text/clear-floats-crash.svg

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

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

        Unreviewed, rolling out r61036.
        http://trac.webkit.org/changeset/61036
        https://bugs.webkit.org/show_bug.cgi?id=40499

        broke chromium compile (Requested by jamesr on #webkit).

        * bindings/v8/SerializedScriptValue.cpp:
        * bindings/v8/SerializedScriptValue.h:
        (WebCore::SerializedScriptValue::deserializeAndSetProperty):
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::createFromWire):
        (WebCore::SerializedScriptValue::release):
        (WebCore::SerializedScriptValue::SerializedScriptValue):

2010-06-11  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Add texImage2D and texSubImage2D signatures with internal format, etc.
        https://bugs.webkit.org/show_bug.cgi?id=40318

        Added new texImage2D and texSubImage2D entry points following
        WebGL specification changes. Added UNPACK_FLIP_Y_WEBGL and
        UNPACK_PREMULTIPLY_ALPHA_WEBGL pixelStorei parameters, honored
        them for the new entry points taking HTML elements, and added
        support to getParameter. Added warnings to the console for calls
        to the obsolete entry points, which will be removed in a few
        weeks.  Updated all layout tests to use the new entry points and
        pixelStorei parameters, and associated expectations. No other new
        tests.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
        (WebCore::WebGLRenderingContext::getParameter):
        (WebCore::WebGLRenderingContext::pixelStorei):
        (WebCore::WebGLRenderingContext::texImage2DImpl):
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::texSubImage2DImpl):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        (WebCore::WebGLRenderingContext::printWarningToConsole):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLRenderingContext.idl:
        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::):

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

        Reviewed by Dimitri Glazkov.

        [chromium] Skia mispaints pages with border-radius
        https://bugs.webkit.org/show_bug.cgi?id=40456

        Skia mispaints pages that have border radius set in some cases. The bug is in the anti aliased
        clip path logic used to implement anti aliased curves in Skia.  Since Skia internally only supports
        1-bit clips, anti aliased clipping is emulated by creating a new alpha layer, storing a set of
        clip paths on the side, and then 'erasing' the regions outside the clip.  See r49641.
        PlatformContextSkia maintains a stack of PlatformContextSkia::State objects that preserve information
        like fill color, drawing mode, etc that is manipulated by GraphicsContext::save() / 
        GraphicsContext::restore() calls as well some internal functions.  Whenever a new State object is pushed
        a new copy of the current State object is pushed onto the top of this stack using the copy c'tor.  The
        set of anti alias clip paths is also stored on the State object, but not copied when new entries are
        added as the paths only apply to that entry on the stack.

        The bug is that the state stack is stored in a WTF::Vector.  When this vector exceeds its capacity
        (by default at 16 elements) all of the existing State entries are copied into the new buffer using
        State's copy constructor.  This does not preserve the anti alias clip paths, so when the State entries
        are popped the anti aliasing info is lost.  This corrupts all further paint operations since it results
        in inbalanced save/restore calls to the underlying SkCanvas.

        The fix is to make the PlatformContextSkia::State copy constructor copy all fields and to add a new
        function PlatformContextSkia::State::cloneInheritedProperties to use when pushing new State entries
        that copies everything except for the anti aliased clip paths.

        Test: fast/css/nested-rounded-corners.html

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::State::State):
        (PlatformContextSkia::State::cloneInheritedProperties):
        (PlatformContextSkia::save):

2010-06-11  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        [V8] Clean up SerializedScriptValue
        https://bugs.webkit.org/show_bug.cgi?id=40482

        SerializedScriptValue doesn't follow WebKit's style guidelines very well
        and needlessly inlines quite a bit within the .h file. This change cleans
        things up. No funcitonal changes.

        No change in behavior.

        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::deserializeAndSetProperty):
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::createFromWire):
        (WebCore::SerializedScriptValue::release):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        * bindings/v8/SerializedScriptValue.h:

2010-06-11  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        [v8] Introduce single element caches for WebCore::String to v8::String conversions
        https://bugs.webkit.org/show_bug.cgi?id=40435
        Measurements show that for some web apps (GMail, Wave) and some scenarios
        (intensive reading and/or keeping a tab open for a long time),
        hit rate lies in 30--50% interval.
        Inlining fast case gives another minor performance win.

        * bindings/v8/V8Binding.cpp:
        (WebCore::getStringCache):
        (WebCore::v8ExternalStringSlow):
        * bindings/v8/V8Binding.h:
        (WebCore::v8ExternalString):

2010-06-11  Leandro Pereira  <leandro@profusion.mobi>

        Reviewed by Gustavo Noronha Silva.

        [EFL] Build fix: remove unneeded file (npapi.cpp) and add
        other files that got added to the tree.
        http://webkit.org/b/40331

        * CMakeLists.txt:
        * CMakeListsEfl.txt:

2010-06-11  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Fix fast/forms/preserveFormDuringResidualStyle.html for HTML5 Parser.
        https://bugs.webkit.org/show_bug.cgi?id=40454

        This required exposing the HTMLParser which we definitely don't want to
        do, but the good news is that it can go away when the HTMLParser goes
        away.

        No new tests because covered by fast/forms/preserve/FormDuringResidualStyle.html.

        * dom/Tokenizer.h:
        (WebCore::Tokenizer::htmlParser):
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::htmlParser):
        * html/HTML5Tokenizer.h:
        * html/HTML5TreeBuilder.h:
        (WebCore::HTML5TreeBuilder::htmlParser):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::removedFromTree):
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::htmlParser):

2010-06-11  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Delete custom JSC bindings for bufferData, texImage2D and texSubImage2D
        https://bugs.webkit.org/show_bug.cgi?id=40443

        Deleted custom JSC bindings for bufferData, texImage2D and
        texSubImage2D and fixed minor associated issues in code generator
        and IDL. Updated fast/canvas/webgl/texImageTest-expected.txt,
        which now runs as intended. Ran all layout tests, including WebGL
        tests, in Safari.

        * bindings/js/JSWebGLRenderingContextCustom.cpp:
         - Deleted custom bindings.
        * bindings/scripts/CodeGeneratorJS.pm:
         - Made overload helper functions static to fix compiler warnings.
         - Added needed isObject check for overloads between object and non-object arguments.
         - Added JSValue::encode to exception return path, needed on Leopard in particular.
        * html/HTMLCanvasElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLVideoElement.idl:
         - Added GenerateNativeConverter extended attribute.
        * html/canvas/WebGLRenderingContext.idl:
         - Deleted #ifdefs for custom JSC bindings.

2010-06-11  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix, add KillRingNone.cpp until we can implement it.

        * wscript:

2010-06-11  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        DOM storage should only create databases when needed
        https://bugs.webkit.org/show_bug.cgi?id=40301

        As soon as a page attempts to use localstorage, StorageAreaSync will
        create an empty database if one doesn't already exist. This can lead to
        lots of unnecessary database files. In particular, they are created
        even when the privacy settings or private browsing mode disallow
        localstorage data, which may seem odd to the user.

        Database creation should be put off in StorageAreaSync until it is time
        to actually write something to the database.

        Tests:
         manual-tests/localstorage-empty-database.html

        * manual-tests/localstorage-empty-database.html: Added.
        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::StorageAreaSync):
        (WebCore::StorageAreaSync::openDatabase):
        (WebCore::StorageAreaSync::performImport):
        (WebCore::StorageAreaSync::sync):
        * storage/StorageAreaSync.h:
        (WebCore::StorageAreaSync::):

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

        Reviewed by Eric Seidel.

        Perl scripts for bindings don't use strict keyword.
        As result some problems in the script code were not detected at compile stage.
        https://bugs.webkit.org/show_bug.cgi?id=40468

        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/IDLParser.pm:
        * bindings/scripts/IDLStructure.pm:

2010-06-11  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5Tokenizer should not delete itself while running scripts
        https://bugs.webkit.org/show_bug.cgi?id=40458

        Tested by fast/dom/document-clear.html

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::attemptToEnd):
         - Don't ever end() while running scripts.
           This matches the old HTMLTokenizer.cpp

2010-06-11  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        getActiveUniform must ensure names of arrays end in "[0]"
        https://bugs.webkit.org/show_bug.cgi?id=38709

        Test: fast/canvas/webgl/get-active-test.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getActiveAttrib): Append "[0]" to the name if needed.

2010-06-11  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        readPixels with negative width/height should generate INVALID_VALUE and return
        https://bugs.webkit.org/show_bug.cgi?id=39704

        * html/canvas/WebGLRenderingContext.cpp: Deal with negative width/height.
        (WebCore::WebGLRenderingContext::readPixels):
        * html/canvas/WebGLRenderingContext.h: Change width/height type from unsigned long to long.
        * html/canvas/WebGLRenderingContext.idl: Ditto.

2010-06-11  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        uniform* entry points must ignore the call if a null WebGLUniformLocation is passed
        https://bugs.webkit.org/show_bug.cgi?id=38707

        * html/canvas/WebGLRenderingContext.cpp: uniform* entry points ignore the call if a null WebGLUniformLocation is passed.
        (WebCore::WebGLRenderingContext::uniform1f):
        (WebCore::WebGLRenderingContext::uniform1fv):
        (WebCore::WebGLRenderingContext::uniform1i):
        (WebCore::WebGLRenderingContext::uniform1iv):
        (WebCore::WebGLRenderingContext::uniform2f):
        (WebCore::WebGLRenderingContext::uniform2fv):
        (WebCore::WebGLRenderingContext::uniform2i):
        (WebCore::WebGLRenderingContext::uniform2iv):
        (WebCore::WebGLRenderingContext::uniform3f):
        (WebCore::WebGLRenderingContext::uniform3fv):
        (WebCore::WebGLRenderingContext::uniform3i):
        (WebCore::WebGLRenderingContext::uniform3iv):
        (WebCore::WebGLRenderingContext::uniform4f):
        (WebCore::WebGLRenderingContext::uniform4fv):
        (WebCore::WebGLRenderingContext::uniform4i):
        (WebCore::WebGLRenderingContext::uniform4iv):
        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
        (WebCore::WebGLRenderingContext::uniformMatrix4fv):

2010-06-11  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        drawElements/drawArrays should validate input parameters according to GLES2 spec
        https://bugs.webkit.org/show_bug.cgi?id=38700

        Tests: fast/canvas/webgl/draw-arrays-out-of-bounds.html
               fast/canvas/webgl/draw-elements-out-of-bounds.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::drawArrays): Validate input parameters.
        (WebCore::WebGLRenderingContext::drawElements): Ditto.
        (WebCore::WebGLRenderingContext::validateDrawMode): Validate mode for draw{Arrays/Elements}.
        * html/canvas/WebGLRenderingContext.h: Add validateDrawMode, fix incorrect parameter types.
        * html/canvas/WebGLRenderingContext.idl: Fix incorrect parameter types.

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

        Reviewed by Antti Koivisto.

        CSS3 Media Queries are not serialized according to CSSOM
        https://bugs.webkit.org/show_bug.cgi?id=39220

        MediaQuery serialization according to specification
        http://dev.w3.org/csswg/cssom/#serializing-media-queries.

        MediaQuery objects now ignore duplicated expressions. MediaQueryEvaluator::eval()
        now does not proccess MediaQuery objects that are known to be invalid.

        Test: fast/media/media-query-serialization.html

        * css/MediaQuery.cpp:
        (WebCore::stringCompare):
        (WebCore::MediaQuery::serialize):
        (WebCore::MediaQuery::MediaQuery):
        (WebCore::MediaQuery::~MediaQuery):
        (WebCore::MediaQuery::operator==):
        (WebCore::MediaQuery::cssText):
        (WebCore::MediaQuery::append):
        * css/MediaQuery.h:
        (WebCore::MediaQuery::ignored):
        (WebCore::MediaQuery::begin):
        (WebCore::MediaQuery::end):
        * css/MediaQueryExp.cpp:
        (WebCore::MediaQueryExp::serialize):
        * css/MediaQueryExp.h:
        * css/MediaQueryEvaluator.cpp:
        (WebCore::MediaQueryEvaluator::eval):


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

        Reviewed by Steve Block.

        Implement more of IndexedDB's Indexes and ObjectStores
        https://bugs.webkit.org/show_bug.cgi?id=40424

        Clean up both of these classes a bit and add create/open/remove
        methods as needed.

        Tests in a future patch (promise).

        * storage/IDBDatabase.h:
        * storage/IDBDatabaseImpl.cpp:
        (WebCore::IDBDatabaseImpl::objectStores):
        (WebCore::IDBDatabaseImpl::createObjectStore):
        (WebCore::IDBDatabaseImpl::objectStore):
        (WebCore::IDBDatabaseImpl::removeObjectStore):
        * storage/IDBDatabaseImpl.h:
        (WebCore::IDBDatabaseImpl::name):
        (WebCore::IDBDatabaseImpl::description):
        (WebCore::IDBDatabaseImpl::version):
        * storage/IDBDatabaseRequest.cpp:
        (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
        (WebCore::IDBDatabaseRequest::createObjectStore):
        (WebCore::IDBDatabaseRequest::objectStore):
        (WebCore::IDBDatabaseRequest::removeObjectStore):
        * storage/IDBDatabaseRequest.h:
        (WebCore::IDBDatabaseRequest::create):
        (WebCore::IDBDatabaseRequest::name):
        (WebCore::IDBDatabaseRequest::description):
        (WebCore::IDBDatabaseRequest::version):
        (WebCore::IDBDatabaseRequest::objectStores):
        * storage/IDBDatabaseRequest.idl:
        * storage/IDBObjectStore.h:
        * storage/IDBObjectStoreImpl.h:
        * storage/IDBObjectStoreRequest.cpp:
        (WebCore::IDBObjectStoreRequest::get):
        (WebCore::IDBObjectStoreRequest::add):
        (WebCore::IDBObjectStoreRequest::modify):
        (WebCore::IDBObjectStoreRequest::addOrModify):
        (WebCore::IDBObjectStoreRequest::remove):
        (WebCore::IDBObjectStoreRequest::createIndex):
        (WebCore::IDBObjectStoreRequest::index):
        (WebCore::IDBObjectStoreRequest::removeIndex):
        * storage/IDBObjectStoreRequest.h:
        * storage/IDBObjectStoreRequest.idl:

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

        Reviewed by Pavel Feldman.

        Web Inspector: Enable serialization/deserialization of the frontend state
        https://bugs.webkit.org/show_bug.cgi?id=40228

        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::saveApplicationSettings):
        (WebCore::InspectorBackend::saveSessionSettings):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::setSessionSettings):
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::didCommitLoad):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::populateApplicationSettings):
        (WebCore::InspectorFrontend::populateSessionSettings):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._settingsLoaded):
        (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
        (WebInspector.ConsoleView.prototype._enterKeyPressed):
        * inspector/front-end/EventListenersSidebarPane.js:
        (WebInspector.EventListenersSidebarPane.prototype._settingsLoaded):
        (WebInspector.EventListenersSidebarPane.prototype):
        ():
        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub.prototype.saveApplicationSettings):
        (.WebInspector.InspectorBackendStub.prototype.saveSessionSettings):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._selectTab):
        (WebInspector.ResourceView.prototype._selectHeadersTab):
        (WebInspector.ResourceView.prototype.selectContentTab):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._createStatusbarButtons):
        (WebInspector.ResourcesPanel.prototype._settingsLoaded):
        (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
        * inspector/front-end/Settings.js:
        (WebInspector.populateApplicationSettings):
        (WebInspector.populateSessionSettings):
        (WebInspector.Settings):
        (WebInspector.Settings.prototype.reset):
        (WebInspector.Settings.prototype._load):
        (WebInspector.Settings.prototype._set):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._settingsLoaded):
        (WebInspector.StylesSidebarPane.prototype.update):
        (WebInspector.StylesSidebarPane.prototype._changeSetting):
        (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
        (WebInspector.ComputedStyleSidebarPane.settingsLoaded):
        (WebInspector.ComputedStyleSidebarPane.showInheritedToggleFunction):
        (WebInspector.ComputedStyleSidebarPane):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSidebarPane):
        (WebInspector.WatchExpressionsSidebarPane.prototype._settingsLoaded):
        (WebInspector.WatchExpressionsSection):
        (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.reset):

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: Port performSearch from InjectedScript to InspectorDOMAgent.

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

        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::addNodesToSearchResult):
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::performSearch):
        (WebCore::InspectorBackend::searchCanceled):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::):
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::performSearch):
        (WebCore::InspectorDOMAgent::searchCanceled):
        (WebCore::InspectorDOMAgent::onMatchJobsTimer):
        (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
        * inspector/InspectorDOMAgent.h:
        (WebCore::MatchJob::~MatchJob):
        (WebCore::MatchJob::MatchJob):
        (WebCore::MatchJob::addNodesToResults):
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::addNodesToSearchResult):
        * inspector/InspectorFrontend.h:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateScriptObject):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.searchCanceled):
        (WebInspector.ElementsPanel.prototype.performSearch):
        (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):
        * inspector/front-end/InjectedScriptAccess.js:

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

        Reviewed by Pavel Feldman.

        [Chromium] Restore 'console.profiles' access.

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

        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::stop):
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::profilesAccessorGetter):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::stopUserInitiatedProfiling):

2010-06-10  Nikita Vasilyev  <me@elv1s.ru>

        Reviewed by Pavel Feldman.

        Web Inspector: Make a close brace in Styles pane selectable.
        https://bugs.webkit.org/show_bug.cgi?id=40157

        * inspector/front-end/inspector.css:
        (.styles-selector):
        (.styles-section .properties li):
        (.styles-section):

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

        Reviewed by Pavel Feldman.

        Web Inspector: localize missing script source message
        https://bugs.webkit.org/show_bug.cgi?id=40467

        * English.lproj/localizedStrings.js:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didParseSource): fixed typo in comment.

2010-06-11  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Vertex attributes enabled as arrays but not bound to buffers must generate INVALID_OPERATION
        https://bugs.webkit.org/show_bug.cgi?id=40315

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateRenderingState): Check if an enabled vertext attribs is bound to a buffer.
        (WebCore::WebGLRenderingContext::vertexAttribPointer): Set bound buffer in vertex attrib state.
        * html/canvas/WebGLRenderingContext.h: Add a member in vertex attrib state to track bound buffer.

2010-05-31  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Implement the simple text code path.
        https://bugs.webkit.org/show_bug.cgi?id=40077

        Remove the FONT_FAST_PATH macro and use the Qt's
        fast text implementation instead of the one of WebKit.

        The Qt::TextBypassShaping flag is used to tell Qt to
        only use the glyph advances.

        Qt 4.7 is needed to get this flag thus the complex path is always
        used if QtWebKit is compiled against an earlier version.

        Contrary to the WebKit's implementation, the complex code path
        is taken if the text is RightToLeft, justified or is formatted
        with non-zero letter or word spacing.

        * platform/graphics/Font.cpp:
        (WebCore::Font::drawText):
        (WebCore::Font::floatWidth):
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::offsetForPosition):
        * platform/graphics/Font.h:
        (WebCore::Font::isRoundingHackCharacter):
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::fromRawDataWithoutRef):
        (WebCore::needComplexCodePath):
        (WebCore::setupPlatformContext):
        (WebCore::Font::canReturnFallbackFontsForComplexText):
        (WebCore::Font::drawSimpleText):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForSimpleText):
        (WebCore::Font::offsetForPositionForSimpleText):
        (WebCore::Font::selectionRectForSimpleText):

2010-06-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        Move the text code path detection code from FontFastPath.cpp to Font.cpp.
        https://bugs.webkit.org/show_bug.cgi?id=40077

        This is a patch preliminary to the implementation of the
        simple font code path for the Qt port.

        * platform/graphics/Font.cpp:
        (WebCore::Font::setCodePath):
        (WebCore::Font::codePath):
        * platform/graphics/Font.h:
        * platform/graphics/FontFastPath.cpp:

2010-06-11  Sterling Swigart  <sswigart@google.com>

        Reviewed by Dmitry Titov.

        Added AsyncImageResizer and ImageResizerThread classes, which after further
        patches will be capable of resizing images.
        https://bugs.webkit.org/show_bug.cgi?id=40018

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/AsyncImageResizer.cpp: Added.
        (WebCore::AsyncImageResizer::create):
        (WebCore::AsyncImageResizer::AsyncImageResizer):
        (WebCore::AsyncImageResizer::~AsyncImageResizer):
        (WebCore::AsyncImageResizer::notifyFinished):
        * html/AsyncImageResizer.h: Added.
        (WebCore::AsyncImageResizer::CallbackInfo::CallbackInfo):
        (WebCore::AsyncImageResizer::):
        (WebCore::AsyncImageResizer::resizeComplete):
        (WebCore::AsyncImageResizer::resizeError):
        * html/ImageResizerThread.cpp: Added.
        (WebCore::returnBlobOrError):
        (WebCore::ImageResizerThread::start):
        (WebCore::ImageResizerThread::ImageResizerThread):
        (WebCore::ImageResizerThread::~ImageResizerThread):
        (WebCore::ImageResizerThread::imageResizerThreadStart):
        (WebCore::ImageResizerThread::imageResizerThread):
        * html/ImageResizerThread.h: Added.

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

        Reviewed by Alexey Proskuryakov.

        Client-based Geolocation does not handle multiple simultaneous requests
        https://bugs.webkit.org/show_bug.cgi?id=40148

        Test: fast/dom/Geolocation/multiple-requests.html

        The Geolocation must handle multiple calls to addObserver() from the same Geolocation object.

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

2010-06-11  Nikita Vasilyev  <me@elv1s.ru>

        Reviewed by Pavel Feldman.

        Web Inspector: When completing using a tab key, select very first value, not a second.
        https://bugs.webkit.org/show_bug.cgi?id=40409

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype._completionsReady):

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

        Reviewed by Shinichiro Hamaji.

        Implement render style selection for pages to support CSS3 Paged Media.
        https://bugs.webkit.org/show_bug.cgi?id=35961

        Test: printing/page-rule-selection.html

        * WebCore.base.exp:
        * css/CSSGrammar.y:
        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::specificity):
        (WebCore::CSSSelector::specificityForPage):
        * css/CSSSelector.h:
        (WebCore::CSSSelector::CSSSelector):
        (WebCore::CSSSelector::isForPage):
        (WebCore::CSSSelector::setForPage):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForPage):
        (WebCore::CSSStyleSelector::matchPageRules):
        (WebCore::CSSStyleSelector::matchPageRulesForList):
        (WebCore::CSSStyleSelector::isLeftPage):
        (WebCore::CSSStyleSelector::isFirstPage):
        (WebCore::CSSStyleSelector::pageName):
        * css/CSSStyleSelector.h:
        (WebCore::CSSStyleSelector::isRightPage):
        * css/html.css:
        (@page):
        * dom/Document.cpp:
        (WebCore::Document::styleForPage):
        * dom/Document.h:
        * page/PrintContext.cpp:
        (WebCore::PrintContext::pageProperty):
        * page/PrintContext.h:


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

        Reviewed by Shinichiro Hamaji.

        Fix Bug 40452: REGRESSION: printing is broken if stylesheet has @page
        https://bugs.webkit.org/show_bug.cgi?id=40452

        Test: printing/page-rule-in-media-query.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSRuleSet::addRulesFromSheet):
        (WebCore::CSSRuleSet::addStyleRule):

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

        Unreviewed, rolling out r60989.
        http://trac.webkit.org/changeset/60989
        https://bugs.webkit.org/show_bug.cgi?id=40462

        It makes things crash (Requested by abarth on #webkit).

        * dom/Tokenizer.h:
        (WebCore::Tokenizer::isHTMLTokenizer):
        * html/HTML5Tokenizer.cpp:
        * html/HTML5Tokenizer.h:
        * html/HTML5TreeBuilder.h:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::removedFromTree):
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::isHTMLTokenizer):
        (WebCore::HTMLTokenizer::htmlParser):

2010-06-10  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Fix fast/forms/preserveFormDuringResidualStyle.html for HTML5 Parser.
        https://bugs.webkit.org/show_bug.cgi?id=40454

        This required exposing the HTMLParser which we definitely don't want to
        do, but the good news is that it can go away when the HTMLParser goes
        away.

        No new tests because covered by fast/forms/preserve/FormDuringResidualStyle.html.

        * dom/Tokenizer.h:
        (WebCore::Tokenizer::htmlParser):
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::htmlParser):
        * html/HTML5Tokenizer.h:
        * html/HTML5TreeBuilder.h:
        (WebCore::HTML5TreeBuilder::htmlParser):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::removedFromTree):
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::htmlParser):

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

        Reviewed by Kent Tamura.

        crash when focus is changed while trying to focus next element
        https://bugs.webkit.org/show_bug.cgi?id=40407

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

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

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

        Unreviewed, rolling out r60979.
        http://trac.webkit.org/changeset/60979
        https://bugs.webkit.org/show_bug.cgi?id=40450

        Broke build on Leopard (Requested by kbr_google on #webkit).

        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::JSWebGLRenderingContext::bufferData):
        (WebCore::JSWebGLRenderingContext::bufferSubData):
        (WebCore::JSWebGLRenderingContext::texImage2D):
        (WebCore::JSWebGLRenderingContext::texSubImage2D):
        * bindings/scripts/CodeGeneratorJS.pm:
        * html/HTMLCanvasElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLVideoElement.idl:
        * html/canvas/WebGLRenderingContext.idl:

2010-06-10  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Delete custom JSC bindings for bufferData, texImage2D and texSubImage2D
        https://bugs.webkit.org/show_bug.cgi?id=40443

        Deleted custom JSC bindings for bufferData, texImage2D and
        texSubImage2D and fixed minor associated issues in code generator
        and IDL. Updated fast/canvas/webgl/texImageTest-expected.txt,
        which now runs as intended. Ran all layout tests, including WebGL
        tests, in Safari.

        * bindings/js/JSWebGLRenderingContextCustom.cpp:
         - Deleted custom bindings.
        * bindings/scripts/CodeGeneratorJS.pm:
         - Made overload helper functions static to fix compiler warnings.
         - Added needed isObject check for overloads between object and non-object arguments.
        * html/HTMLCanvasElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLVideoElement.idl:
         - Added GenerateNativeConverter extended attribute.
        * html/canvas/WebGLRenderingContext.idl:
         - Deleted #ifdefs for custom JSC bindings.

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

        Reviewed by John Sullivan.

        https://bugs.webkit.org/show_bug.cgi?id=40441, back out the original fix for 29601, since it has broken continuous
        wheel delta values.

        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
        * platform/mac/WheelEventMac.mm:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):

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

        Reviewed by Dimitri Glazkov.

        Add null pointer checks for nativeImageForCurrentFrame
        function calls.
        https://bugs.webkit.org/show_bug.cgi?id=39797

        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeImage):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::getImageData):
        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::writeImage):

2010-06-09  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Implement TypedArray BYTES_PER_ELEMENT
        https://bugs.webkit.org/show_bug.cgi?id=39100

        Implemented BYTES_PER_ELEMENT on all ArrayBufferView subclasses.
        Required bug fixes to JSC bindings' custom constructors. Updated
        fast/canvas/webgl/array-unit-tests.html to verify. Ran all WebGL
        layout tests in Safari and Chromium.

        * bindings/js/JSFloat32ArrayConstructor.cpp:
        (WebCore::JSFloat32ArrayConstructor::JSFloat32ArrayConstructor):
        (WebCore::JSFloat32ArrayConstructor::getOwnPropertySlot):
        (WebCore::JSFloat32ArrayConstructor::getOwnPropertyDescriptor):
        * bindings/js/JSFloat32ArrayConstructor.h:
        (WebCore::JSFloat32ArrayConstructor::createStructure):
        * bindings/js/JSInt16ArrayConstructor.cpp:
        (WebCore::JSInt16ArrayConstructor::JSInt16ArrayConstructor):
        (WebCore::JSInt16ArrayConstructor::getOwnPropertySlot):
        (WebCore::JSInt16ArrayConstructor::getOwnPropertyDescriptor):
        * bindings/js/JSInt16ArrayConstructor.h:
        (WebCore::JSInt16ArrayConstructor::createStructure):
        * bindings/js/JSInt32ArrayConstructor.cpp:
        (WebCore::JSInt32ArrayConstructor::JSInt32ArrayConstructor):
        (WebCore::JSInt32ArrayConstructor::getOwnPropertySlot):
        (WebCore::JSInt32ArrayConstructor::getOwnPropertyDescriptor):
        * bindings/js/JSInt32ArrayConstructor.h:
        (WebCore::JSInt32ArrayConstructor::createStructure):
        * bindings/js/JSInt8ArrayConstructor.cpp:
        (WebCore::JSInt8ArrayConstructor::JSInt8ArrayConstructor):
        (WebCore::JSInt8ArrayConstructor::getOwnPropertySlot):
        (WebCore::JSInt8ArrayConstructor::getOwnPropertyDescriptor):
        * bindings/js/JSInt8ArrayConstructor.h:
        (WebCore::JSInt8ArrayConstructor::createStructure):
        * bindings/js/JSUint16ArrayConstructor.cpp:
        (WebCore::JSUint16ArrayConstructor::JSUint16ArrayConstructor):
        (WebCore::JSUint16ArrayConstructor::getOwnPropertySlot):
        (WebCore::JSUint16ArrayConstructor::getOwnPropertyDescriptor):
        * bindings/js/JSUint16ArrayConstructor.h:
        (WebCore::JSUint16ArrayConstructor::createStructure):
        * bindings/js/JSUint32ArrayConstructor.cpp:
        (WebCore::JSUint32ArrayConstructor::JSUint32ArrayConstructor):
        (WebCore::JSUint32ArrayConstructor::getOwnPropertySlot):
        (WebCore::JSUint32ArrayConstructor::getOwnPropertyDescriptor):
        * bindings/js/JSUint32ArrayConstructor.h:
        (WebCore::JSUint32ArrayConstructor::createStructure):
        * bindings/js/JSUint8ArrayConstructor.cpp:
        (WebCore::JSUint8ArrayConstructor::JSUint8ArrayConstructor):
        (WebCore::JSUint8ArrayConstructor::getOwnPropertySlot):
        (WebCore::JSUint8ArrayConstructor::getOwnPropertyDescriptor):
        * bindings/js/JSUint8ArrayConstructor.h:
        (WebCore::JSUint8ArrayConstructor::createStructure):
        * html/canvas/Float32Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:

2010-06-10  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5 Parser should continue parsing after script execution
        https://bugs.webkit.org/show_bug.cgi?id=40416

        The previous code was just wrong.  We were always blocking
        the parser after any script execution.  Now we correctly continue
        parsing after a successful script execution and only block the
        parser when we weren't able to execute the script immediately.

        Added a new haveParsingBlockingScript() function to HTML5ScriptRunner
        to make some of the code more self-documenting.

       Test: fast/tokenizer/write-multiple-scripts.html
             fast/js/implicit-call-with-global-reentry.html

        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::execute):
         - Remove some old (now bogus) FIXMEs and notImplemented() calls.
         - Fix the logic to match the HTML5 spec by continuing parsing
           after script execution and only blocking the parser when the
           script wasn't able to immediately run.
        (WebCore::HTML5ScriptRunner::haveParsingBlockingScript):
         - New function to make some of the code read better.
        (WebCore::HTML5ScriptRunner::executeParsingBlockingScripts):
         - Use haveParsingBlockingScript().
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
         - Use haveParsingBlockingScript().
        (WebCore::HTML5ScriptRunner::runScript):
         - Use haveParsingBlockingScript().
        * html/HTML5ScriptRunner.h:

2010-06-10  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: to reduce the front end start up time don't push script
        sources to frontend if debugger is always enabled, instead request
        script content lazily at the moment it should be displyed. It is critical for
        always enabled debugger because in that case lots of script may have
        already been parsed when the front end is opening and pushing all
        of them at once may slow things down(even though the script sources will never
        be used if scripts panel isn't open).
        https://bugs.webkit.org/show_bug.cgi?id=40364

        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::getScriptSource):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::getScriptSource):
        (WebCore::InspectorController::didParseSource):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::didGetScriptSource):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/InspectorBackendStub.js:
        (.WebInspector.InspectorBackendStub.prototype.editScriptSource):
        (.WebInspector.InspectorBackendStub.prototype.getScriptSource):
        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
        (WebInspector.ScriptView.prototype._didGetScriptSource):
        (WebInspector.ScriptView.prototype._sourceFrameSetupFinished):

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

        Reviewed by Eric Seidel.

        Use allowRequestIfNoIllegalURICharacters instead of context for XSSAuditor::canLoadExternalScriptFromSrc
        https://bugs.webkit.org/show_bug.cgi?id=40404

        We originally added the context parameter to
        canLoadExternalScriptFromSrc to work around some false positives caused
        by folks checking external script URLs on the server.  Our thought was
        that we could tell these were not real XSS attacks because the
        surrounding context wouldn't match in the URL and the document.

        Implementing this feature in the HTML5 parser is hard because it
        pierces a layer of abstraction (the token abstraction of the input
        stream).  We could hack this into the new parser, but instead I think
        it's better to switch to using the allowRequestIfNoIllegalURICharacters
        heuristic.

        We designed the allowRequestIfNoIllegalURICharacters after the context
        heuristic to deal with other cases where the server was validating
        input before echoing it.  However, we never tried applying it to
        canLoadExternalScriptFromSrc.

        It's possible that this will cause false positives and will need to be
        reverted, which is why I've left in some of the infrustructure for
        computing context.  We don't have a good way to know if that will
        happen except to try.  We do know, however, that this heuristic will
        work for the original false positives we saw.

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::shouldLoadExternalScriptFromSrc):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseTag):
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
        * page/XSSAuditor.h:

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

        Reviewed by Kent Tamura.

        Add ENABLE(DATABASE) guard for DatabaseAuthorizer.cpp
        https://bugs.webkit.org/show_bug.cgi?id=40399

        Build fix for ENABLE(DATABASE)=0.

        * storage/DatabaseAuthorizer.cpp:

2010-06-10  Shu Chang  <chang.shu@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Change the type of ShadowBlur from int to float in GraphicsContext.
        Using int for ShadowBlur loses precision and fails the test.
        Note: This code change fixes Qt port but Mac is still failing due to
        platform issue. Function CGContextSetShadowWithColor() does not take
        a blur value less than 0.5.

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

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setShadow):
        (WebCore::GraphicsContext::getShadow):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/GraphicsContextPrivate.h:
        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::calculateShadowBufferDimensions):
        (WebCore::drawPathShadow):
        (WebCore::drawBorderlessRectShadow):
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        (WebCore::Font::drawComplexText):
        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::Font::drawComplexText):
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/mac/FontMac.mm:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::drawComplexText):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::drawFilledShadowPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::drawBorderlessRectShadow):
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::windowsCanHandleDrawTextShadow):
        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::drawGDIGlyphs):
        (WebCore::Font::drawGlyphs):
        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::drawText):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):

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

        Reviewed by Kenneth Rohde Christiansen.

        Support for loading notification icons
        https://bugs.webkit.org/show_bug.cgi?id=40396

        Make notification objects download the icon needed for displaying the
        notification before calling the NotificationPresenter to display the
        notification.

        An error during the download would cause the notification to be displayed
        without an icon.

        If a notification is in the process of download, and a new notification
        is created with the same ReplaceId, the download is not cancelled
        immediately and the notification is removed only after the download is
        complete.
  
        Tests: http/tests/notifications/icon-does-not-exist.html
               http/tests/notifications/icon-exists-cancel.html
               http/tests/notifications/icon-exists-show-alert-during-load.html
               http/tests/notifications/icon-exists.html
               http/tests/notifications/icon-requires-auth.html

        * notifications/Notification.cpp:
        (WebCore::Notification::Notification):
        (WebCore::Notification::~Notification):
        (WebCore::Notification::show):
        (WebCore::Notification::cancel):
        (WebCore::Notification::startLoading):
        (WebCore::Notification::stopLoading):
        (WebCore::Notification::didReceiveResponse):
        (WebCore::Notification::didReceiveData):
        (WebCore::Notification::didFinishLoading):
        (WebCore::Notification::didFail):
        (WebCore::Notification::didFailRedirectCheck):
        (WebCore::Notification::didReceiveAuthenticationCancellation):
        (WebCore::Notification::finishLoading):
        * notifications/Notification.h:
        (WebCore::Notification::iconData):
        (WebCore::Notification::releaseIconData):
        (WebCore::Notification::):

2010-06-10  Raine Makelainen  <raine.makelainen@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Impossible to set input method hints based HTML5 input types
        https://bugs.webkit.org/show_bug.cgi?id=40107

        Helper methods for checking "tel", "number", "email",
        and "url" input element types.

        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::isTelephoneField):
        (WebCore::HTMLInputElement::isNumberField):
        (WebCore::HTMLInputElement::isEmailField):
        (WebCore::HTMLInputElement::isUrlField):

2010-06-10  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Jian Li.

        Don't convert filenames to URLs in edit drags.
        https://bugs.webkit.org/show_bug.cgi?id=38826

        For security reasons, we don't want to expose file system paths to web
        content, so we filter them out of edit drags.

        Test: editing/pasteboard/file-drag-to-editable.html

        * page/DragController.cpp:
        (WebCore::documentFragmentFromDragData):
        * platform/DragData.h:
        (WebCore::DragData::):
        * platform/android/DragDataAndroid.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/chromium/DragDataChromium.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/efl/DragDataEfl.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/gtk/DragDataGtk.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/haiku/DragDataHaiku.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/mac/DragDataMac.mm:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/qt/DragDataQt.cpp:
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::getURL):
        (WebCore::getPlainText):
        * platform/win/ClipboardUtilitiesWin.h:
        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::getData):
        * platform/win/DragDataWin.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/wince/DragDataWince.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        * platform/wx/DragDataWx.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):

2010-06-10  Mike Belshe  <mbelshe@chromium.org>

        Reviewed by David Levin

        Track whether a resource is loaded via a proxy.

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

        * platform/network/chromium/ResourceResponse.h:
        (WebCore::ResourceResponse::wasFetchedViaProxy):
        (WebCore::ResourceResponse::setWasFetchedViaProxy):

2010-06-10  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Kent Tamura

        Bug 38224 - [chromium] Enable rendering of Ethiopic, Lao, Tibetan 
                    and a few other scripts on Win XP

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

        Make it possible to specify a list of fonts for per-script
        fallback instead of a single font per script. This is
        necessary for Malayalam (for which Windows font doesn't
        support Unicode 5.x fully on Vista or earlier), Ethiopic 
        (we want to support on XP with a 3rd party font because XP
        doesn't have any Ethiopic font out of the box) and some other
        scripts. This is a short-term 'fix' until we have per-script
        font preferences.

        No layout test is added because the test results would be
        dependent on which fonts are present. 

        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
        (WebCore::):
        (WebCore::FontMap::ScriptToFontFamilies::):

2010-06-09  Andrei Popescu  <andreip@google.com>

        Reviewed by Adam Barth.

        CodeGeneratorJS.pm incorrectly increments $paramIndex when a method is declared with [CallWith]
        https://bugs.webkit.org/show_bug.cgi?id=40372

        Use two variables to keep track of the number of arguments passed from JavaScript vs the number
        of arguments passed to the corresponding C++ method. These numbers can be different since
        the parameter declared via [CallWith] is generated in the bindings instead of being passed
        from JavaScript.

        Test: storage/indexeddb/idb-objectstore-request.html

        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
        (WebDOMTestObj::withScriptExecutionContext):
        * bindings/scripts/test/CPP/WebDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):

2010-06-09  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        Refactoring: Simple shadow elements should be factored out .
        https://bugs.webkit.org/show_bug.cgi?id=40400
        
        Pulled ShadowElement class up from SliderThumbElement,
        ProgressValueElement, ShadowInputElement. 
        And renamed ProgressValueElement to ShadowBlockElement.

        No new tests. Because there is no functional change.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderFileUploadControl.cpp:
        * rendering/RenderProgress.cpp:
        (WebCore::RenderProgress::updateValuePartState):
        * rendering/RenderProgress.h:
        * rendering/RenderSlider.cpp:
        (WebCore::SliderThumbElement::SliderThumbElement):
        (WebCore::SliderThumbElement::defaultEventHandler):
        (WebCore::SliderThumbElement::detach):
        * rendering/ShadowElement.cpp: Added.
        (WebCore::ShadowBlockElement::create):
        (WebCore::ShadowBlockElement::ShadowBlockElement):
        (WebCore::ShadowInputElement::create):
        (WebCore::ShadowInputElement::ShadowInputElement):
        * rendering/ShadowElement.h: Added.
        (WebCore::ShadowElement::ShadowElement):
        (WebCore::ShadowElement::isShadowNode):
        (WebCore::ShadowElement::shadowParentNode):

2010-06-10  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Reduce FrameView.h includes to speed up build times
        https://bugs.webkit.org/show_bug.cgi?id=40408

        Another fix for Qt.

        * page/Frame.h:
         - Include CSSMutableStyleDeclaration.h since it's used by m_typingStyle = 0;

2010-06-10  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Reduce FrameView.h includes to speed up build times
        https://bugs.webkit.org/show_bug.cgi?id=40408

        More attempted build fixes for Tiger and Qt.

        * page/Frame.cpp:
        * page/Frame.h:

2010-06-10  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Reduce FrameView.h includes to speed up build times
        https://bugs.webkit.org/show_bug.cgi?id=40408

        Add a few more RenderLayer.h includes to fix non-mac builds.

        * page/FrameView.cpp:
        * rendering/RenderObject.cpp:
        * rendering/RenderTreeAsText.cpp:

2010-06-10  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Reduce FrameView.h includes to speed up build times
        https://bugs.webkit.org/show_bug.cgi?id=40408

        Cleaned up FrameView.h includes and then propagated the
        cascade of includes to the necessary .cpp files.
        This should reduce the set of files rebuilt every
        time FrameView.h changes, and should also reduce the size
        of some .o files.

        No functional changes, thus no tests.

        * accessibility/AccessibilityRenderObject.cpp:
        * dom/ContainerNode.cpp:
        * dom/Document.cpp:
        * dom/Element.cpp:
        * dom/EventTarget.h:
        * dom/Node.cpp:
        * editing/EditorCommand.cpp:
        * editing/SelectionController.cpp:
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::script):
         - No need for this to be inline.  Being inline required
           Frame.h in the header, which causes huge include cascade.
        * html/HTML5Tokenizer.h:
        * page/DragController.cpp:
        * page/EventHandler.cpp:
        * page/Frame.h:
        * page/FrameView.h:
        * page/PrintContext.cpp:
        * page/SpatialNavigation.cpp:
        * rendering/RenderBlock.cpp:
        * rendering/RenderBlockLineLayout.cpp:
        * rendering/RenderImage.cpp:
        * rendering/RenderInline.cpp:
        * rendering/RenderObject.h:
        * rendering/RenderTextControlSingleLine.cpp:
        * rendering/RenderWidget.cpp:
        * rendering/SVGRenderSupport.cpp:

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

        Reviewed by Eric Seidel.

        Move HTML5 entity parser to its own file
        https://bugs.webkit.org/show_bug.cgi?id=40406

        Moving this algorithm to its own file better encapsulates its
        dependencies and makes it callable from other parts of WebCore.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTML5EntityParser.cpp: Copied from WebCore/html/HTML5Lexer.cpp.
        (WebCore::):
        (WebCore::consumeHTML5Entity):
        * html/HTML5EntityParser.h: Copied from WebCore/html/HTML5Lexer.h.
        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::processEntity):
        (WebCore::HTML5Lexer::nextToken):
        * html/HTML5Lexer.h:

2010-06-09  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        HTML5 Parser: Fix fast/profiler tests that depend on event handler line numbers
        https://bugs.webkit.org/show_bug.cgi?id=40393

        This emulated the old behavior in HTMLTokenizer:processToken()

        No new tests because covered by:
         - fast/profiler/dead-time.html
         - fast/profiler/inline-event-handler.html
         - fast/profiler/stop-profiling-after-setTimeout.html
         - fast/profiler/throw-exception-from-eval.html

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::pumpLexer):

2010-06-09  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=9504
        img tag rewritten by innerHTML doesn't use image map

        Test: fast/dom/replaced-image-map.html

        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::~HTMLMapElement): Destructor is not a good place to make changes
        that affect page behavior, because destructors are called by garbage collector. Don't
        undregister the image map from here.
        (WebCore::HTMLMapElement::parseMappedAttribute): Only tell document about the map if it's
        actually in document. A map in a detached subtree isn't used by Firefox at least.
        (WebCore::HTMLMapElement::insertedIntoDocument): Register the map.
        (WebCore::HTMLMapElement::removedFromDocument): Unregister the map.

        * html/HTMLMapElement.h: Added insertedIntoDocument/removedFromDocument overrides.

2010-06-09  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Ojan Vafai.

        Bug 35632 -  htmlediting.cpp : isEmptyTableCell() is incomplete
        https://bugs.webkit.org/show_bug.cgi?id=35632

        Correct isEmptyTableCell to check for the presence of other renderer
        children.

        Test: editing/deleting/delete-br-in-last-table-cell.html

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

2010-06-09  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arcTo.transformation.html
        https://bugs.webkit.org/show_bug.cgi?id=38598

        In path transform function handle path only have moveElement case.

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::transform):

2010-06-09  Anton Muhin  <antonm@chromium.org>

        Reviewed by Nate Chapin.

        [v8] First phase of switching to new named property query API
        https://bugs.webkit.org/show_bug.cgi?id=40303

        To allow better management of attributes of intercepted properties,
        we're starting to switch to new named property query API which
        now could return attributes instead of simple property present/absent
        flag.  The next step would remove USE_NEW_QUERY_CALLBACK, then
        v8 would have them enabled by default.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/NPV8Object.cpp:
        * bindings/v8/ScriptArray.cpp:
        * bindings/v8/ScriptCallStack.cpp:
        * bindings/v8/SerializedScriptValue.cpp:
        * bindings/v8/V8Binding.cpp:
        * bindings/v8/V8DOMWrapper.cpp:
        * bindings/v8/V8GCController.cpp:
        * bindings/v8/V8IsolatedContext.cpp:
        * bindings/v8/V8NPObject.cpp:
        (WebCore::npObjectQueryProperty):
        * bindings/v8/V8Proxy.cpp:
        * bindings/v8/custom/V8PopStateEventCustom.cpp:
        * bindings/v8/custom/V8StorageCustom.cpp:
        (WebCore::V8Storage::namedPropertyQuery):
        * config.h:

2010-06-09  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        Need to include V8Proxy.h in V8 generated bindings for toV8Context()
        https://bugs.webkit.org/show_bug.cgi?id=40290

        No new tests, build fix only.

        * bindings/scripts/CodeGeneratorV8.pm:

2010-06-09  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        WebGL rendering context does not activate unless accelerated
        compositing is enabled from settings.
        https://bugs.webkit.org/show_bug.cgi?id=37772

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):

2010-06-09  Yong Li  <yoli@rim.com>

        Reviewed by George Staikos.

        https://bugs.webkit.org/show_bug.cgi?id=40252
        Make image down-sampling threshold runtime adjustable.

        No new test needed.

        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::setData):
        * platform/graphics/ImageSource.h:
        (WebCore::ImageSource::maxPixelsPerDecodedImage):
        (WebCore::ImageSource::setMaxPixelsPerDecodedImage):

2010-06-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Fix handling of bytes received from the network while in document.write
        https://bugs.webkit.org/show_bug.cgi?id=40356

        The old tokenizer has specially logic for handling the case of
        receiving bytes from the network while in a nested call to
        document.write.  This patch implements similar logic for the HTML5
        tokenizer.  Also, this patch abstracts the tricky shuffling of
        SegmentedStrings behind a simple API.

        I'm not sure how to trigger this case.  My guess is we can trigger it
        using a nested event loop, e.g., via alert(), but I'm not sure how to
        test that in a LayoutTest.  There don't appear to be any LayoutTests
        that currently test this behavior despite it being present in the old
        tokenizer.

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::pumpLexer):
        (WebCore::HTML5Tokenizer::write):
            - Added a branch for the |append| argument.
        (WebCore::HTML5Tokenizer::end):
        (WebCore::HTML5Tokenizer::finish):
        (WebCore::HTML5Tokenizer::executeScript):
            - Switch over to using a RAII pattern for recording and restoring
              insertion points.
        * html/HTML5Tokenizer.h:
        (WebCore::HTML5Tokenizer::InputStream::InputStream):
        (WebCore::HTML5Tokenizer::InputStream::appendToEnd):
        (WebCore::HTML5Tokenizer::InputStream::insertAtCurrentInsertionPoint):
        (WebCore::HTML5Tokenizer::InputStream::close):
            - Putting the close() method on InputStream makes it much easier to
              handle EOF.  We now just close the last buffer in the stream when
              the network says it's done.
        (WebCore::HTML5Tokenizer::InputStream::current):
            - This class could be moved to its own file, but it shouldn't be
              used outside of the tokenizer.
        (WebCore::HTML5Tokenizer::InsertionPointRecord::InsertionPointRecord):
        (WebCore::HTML5Tokenizer::InsertionPointRecord::~InsertionPointRecord):
            - A simple RAII class for managing saved insertion points.
        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::operator=):
            - Fix a related bug where m_closed was not being copied properly in
              the assignment operator.

2010-06-09  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Fix fast/parser/hex-entities-length.html for HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=40385

        Stripping surrogate pair values appears to be a problem with the spec
        in "Preprocessing the input stream." Minefield doesn't appear to
        implement the part in question. So this patch removes that guard and
        adds a FIXME to track the issue.

        No new tests because covered by fast/parser/hex-entities-length.html

        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):

2010-06-09  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Update readPixels to take ArrayBufferView rather than returning it
        https://bugs.webkit.org/show_bug.cgi?id=40322

        No new tests; covered by existing tests, which have been modified.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::readPixels):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLRenderingContext.idl:

2010-06-09  Enrico Ros  <eros@codeaurora.org>

        Reviewed by Ariya Hidayat.

        Fix drawing zero-sized gradients on Canvas.
        https://bugs.webkit.org/show_bug.cgi?id=40340

        HTML5 draft says that nothing must be painted if the gradient start
        point equals the stop point.

        This commit fixes the following canvas test:
        http://philip.html5.org/tests/canvas/suite/tests/2d.gradient.interpolate.zerosize.html

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::fillRect): skip zero-sized linear gradients
        * platform/graphics/Gradient.h:
        (WebCore::Gradient::isRadial): made public
        (WebCore::Gradient::isZeroSize): true if start == stop

2010-06-09  Leandro Pereira  <leandro@profusion.mobi>

        Reviewed by Adam Treat.

        [EFL] Allow building core libraries as shared objects to speed up
        linking time on machines with small amounts of memory.
        http://webkit.org/b/39899

        * CMakeLists.txt: If building with shared core, install the lib.
        Remove npapi.cpp (causes conflicts when linking dynamically).
        * CMakeListsEfl.txt: EFL libraries are needed to link dynamically.

2010-06-09  Mark Rowe  <mrowe@apple.com>

        Reviewed by Adele Peterson.

        <rdar://problem/8070662> REGRESSION (r51629): WebBackForwardList created via -init crashes when -addItem: is called.

        A WebBackForwardList created via -init results in a BackForwardList being created with a null m_page.
        BackForwardList needs to be careful not to dereference m_page without first ensuring it's not null.

        * history/BackForwardList.cpp:
        (WebCore::BackForwardList::addItem): Null-check m_page.
        (WebCore::BackForwardList::goBack): Ditto.
        (WebCore::BackForwardList::goForward): Ditto.
        (WebCore::BackForwardList::goToItem): Ditto.
        (WebCore::BackForwardList::setCapacity): Ditto.

2010-06-09  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Add dummy Context Menu implementation
        https://bugs.webkit.org/show_bug.cgi?id=40223

        Brew MP does not use Context Menu. Add dummy implementation.

        * platform/brew/ContextMenuBrew.cpp: Added.
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::~ContextMenu):
        (WebCore::ContextMenu::itemCount):
        (WebCore::ContextMenu::insertItem):
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenu::itemWithAction):
        (WebCore::ContextMenu::itemAtIndex):
        (WebCore::ContextMenu::setPlatformDescription):
        (WebCore::ContextMenu::platformDescription):
        (WebCore::ContextMenu::releasePlatformDescription):
        * platform/brew/ContextMenuItemBrew.cpp: Added.
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::~ContextMenuItem):
        (WebCore::ContextMenuItem::releasePlatformDescription):
        (WebCore::ContextMenuItem::type):
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::title):
        (WebCore::ContextMenuItem::platformSubMenu):
        (WebCore::ContextMenuItem::setType):
        (WebCore::ContextMenuItem::setAction):
        (WebCore::ContextMenuItem::setTitle):
        (WebCore::ContextMenuItem::setSubMenu):
        (WebCore::ContextMenuItem::setChecked):
        (WebCore::ContextMenuItem::setEnabled):
        (WebCore::ContextMenuItem::enabled):

2010-06-09  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Port Clipboard
        https://bugs.webkit.org/show_bug.cgi?id=35734

        Add dummy Clipboard.

        * platform/brew/ClipboardBrew.cpp: Added.
        (WebCore::ClipboardBrew::ClipboardBrew):
        (WebCore::ClipboardBrew::~ClipboardBrew):
        (WebCore::ClipboardBrew::clearData):
        (WebCore::ClipboardBrew::clearAllData):
        (WebCore::ClipboardBrew::getData):
        (WebCore::ClipboardBrew::setData):
        (WebCore::ClipboardBrew::types):
        (WebCore::ClipboardBrew::files):
        (WebCore::ClipboardBrew::setDragImage):
        (WebCore::ClipboardBrew::setDragImageElement):
        (WebCore::ClipboardBrew::createDragImage):
        (WebCore::ClipboardBrew::declareAndWriteDragImage):
        (WebCore::ClipboardBrew::writeURL):
        (WebCore::ClipboardBrew::writeRange):
        (WebCore::ClipboardBrew::writePlainText):
        (WebCore::ClipboardBrew::hasData):
        * platform/brew/ClipboardBrew.h: Added.

2010-06-09  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        [Qt] ClipboardQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39781

        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::declareAndWriteDragImage):

2010-06-09  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Rename FloatArray to Float32Array
        https://bugs.webkit.org/show_bug.cgi?id=40323

        Used do-webcore-rename to perform renaming. Manually undid
        incorrect changes to WebCore/bridge/jni/jsc/JNIBridgeJSC.cpp,
        WebCore/manual-tests/resources/ArrayParameterTestApplet.java and
        ArrayParameterTestApplet.class. Updated LayoutTests. Built and ran
        all layout tests on Safari; built Chromium and ran selected WebGL
        tests.

        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::float32ArrayEnabled):
        * bindings/js/JSArrayBufferViewCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::float32Array):
        (WebCore::JSDOMWindow::webGLFloatArray):
        * bindings/js/JSFloat32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSFloatArrayConstructor.cpp.
        (WebCore::):
        (WebCore::JSFloat32ArrayConstructor::JSFloat32ArrayConstructor):
        (WebCore::constructCanvasFloatArray):
        (WebCore::JSFloat32ArrayConstructor::getConstructData):
        * bindings/js/JSFloat32ArrayConstructor.h: Copied from WebCore/bindings/js/JSFloatArrayConstructor.h.
        * bindings/js/JSFloat32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSFloatArrayCustom.cpp.
        (WebCore::JSFloat32Array::indexSetter):
        (WebCore::toJS):
        (WebCore::JSFloat32Array::set):
        * bindings/js/JSFloatArrayConstructor.cpp: Removed.
        * bindings/js/JSFloatArrayConstructor.h: Removed.
        * bindings/js/JSFloatArrayCustom.cpp: Removed.
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::dataFunctionf):
        (WebCore::dataFunctionMatrix):
        * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::WebGLFloatArrayAccessorGetter):
        * bindings/v8/custom/V8Float32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8FloatArrayCustom.cpp.
        (WebCore::V8Float32Array::constructorCallback):
        (WebCore::V8Float32Array::setCallback):
        (WebCore::toV8):
        * bindings/v8/custom/V8FloatArrayCustom.cpp: Removed.
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::vertexAttribAndUniformHelperf):
        (WebCore::uniformMatrixHelper):
        * html/canvas/Float32Array.cpp: Copied from WebCore/html/canvas/FloatArray.cpp.
        (WebCore::Float32Array::create):
        (WebCore::Float32Array::Float32Array):
        (WebCore::Float32Array::slice):
        * html/canvas/Float32Array.h: Copied from WebCore/html/canvas/FloatArray.h.
        * html/canvas/Float32Array.idl: Copied from WebCore/html/canvas/FloatArray.idl.
        * html/canvas/FloatArray.cpp: Removed.
        * html/canvas/FloatArray.h: Removed.
        * html/canvas/FloatArray.idl: Removed.
        * html/canvas/WebGLGetInfo.cpp:
        (WebCore::WebGLGetInfo::WebGLGetInfo):
        (WebCore::WebGLGetInfo::getWebGLFloatArray):
        * html/canvas/WebGLGetInfo.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getUniform):
        (WebCore::WebGLRenderingContext::getVertexAttrib):
        (WebCore::WebGLRenderingContext::uniform1fv):
        (WebCore::WebGLRenderingContext::uniform2fv):
        (WebCore::WebGLRenderingContext::uniform3fv):
        (WebCore::WebGLRenderingContext::uniform4fv):
        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
        (WebCore::WebGLRenderingContext::vertexAttrib1fv):
        (WebCore::WebGLRenderingContext::vertexAttrib2fv):
        (WebCore::WebGLRenderingContext::vertexAttrib3fv):
        (WebCore::WebGLRenderingContext::vertexAttrib4fv):
        (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLRenderingContext.idl:
        * page/DOMWindow.idl:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/mac/GraphicsContext3DMac.cpp:
        * platform/graphics/qt/GraphicsContext3DQt.cpp:

2010-06-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5 Parser needs to integrate with the XSSAuditor
        https://bugs.webkit.org/show_bug.cgi?id=40287

        This fixes most of the XSSAuditor tests, except for the ones
        which rely on the srcValue "context".  The previous HTMLTokenizer
        implementation was both Lexer and ScriptRunner and thus could
        provide the XSSAuditor with the un-modified attribute source.
        This naive implementation will fail the context-sensitive tests
        but Adam Barth says he'll just have to find a new way to provide
        the required information to the XSSAuditor in a later patch.

        Covered by numerous http/tests/security/xssAuditor tests.

        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::requestScript):
         - Ask the HTML5ScriptRunner host before running any scripts.
        * html/HTML5ScriptRunnerHost.h:
         - Add a shouldLoadExternalScriptFromSrc declaration.
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::shouldLoadExternalScriptFromSrc):
         - Ask the XSSAuditor if we're allowed to run the passed script.
        * html/HTML5Tokenizer.h:

2010-06-09  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Fix script-after-frameset test in HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=40274

        The old HTMLTokenizer enforced this in scriptHandler(). We don't use
        that code anymore, so it needs to be implemented. The spec does this
        as a part of "insertion mode"->"after frameset", so this adds an
        InsertionMode enum instead of a one-off boolean.

        No new tests because covered by fast/tokenizer/script-after-frameset.html

        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
        * html/HTML5TreeBuilder.h:
        (WebCore::HTML5TreeBuilder::):
        (WebCore::HTML5TreeBuilder::setInsertionMode):
        (WebCore::HTML5TreeBuilder::insertionMode):

2010-06-09  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        [BREWMP] Add EventLoop
        https://bugs.webkit.org/show_bug.cgi?id=39401

        BREW MP does not have an explicit event loop. Add dummy EventLoop::cycle.

        * platform/brew/EventLoopBrew.cpp: Added.
        (WebCore::EventLoop::cycle):

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

        Unreviewed, rolling out r60889.
        http://trac.webkit.org/changeset/60889
        https://bugs.webkit.org/show_bug.cgi?id=40365

        gtk bot has some kind of memory corruption (Requested by
        loislo on #webkit).

        * inspector/InspectorClient.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::setFrontend):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::InspectorFrontend):
        * inspector/InspectorFrontend.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorObject::writeJSON):
        * inspector/front-end/inspector.js:
        * loader/EmptyClients.h:

2010-06-09  Kent Tamura  <tkent@chromium.org>

        Reviewed by Eric Carlson.

        [Windows] Build fix on Japanese Windows
        https://bugs.webkit.org/show_bug.cgi?id=40358

        cl.exe on Japanese Windows assumes files with invalid CP932
        sequences broken and doesn't build them at all.

        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Remove non-ASCII characters
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: ditto.
        * platform/graphics/win/WKCAImageQueue.cpp: ditto.
        * platform/graphics/win/WKCAImageQueue.h: ditto.

2010-06-09  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Add isDebuggerAlwaysEnabled method to ScriptDebugServer.
        This method returns true if debugger should always be enabled when
        frontend is attached.
        https://bugs.webkit.org/show_bug.cgi?id=40289

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::setFrontend):

2010-06-07  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
        data from inspected page to WebInspector as JSON string via http. The native
        serialization to JSON string is supported by InspectorValue's classes. This patch
        has the implementation of sendMessageToFrontend function. WebKit version of it still
        uses ScriptFunctionCall and will be switched to another transport a little bit later.
        https://bugs.webkit.org/show_bug.cgi?id=40134

        * inspector/InspectorClient.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::InspectorFrontend):
        * inspector/InspectorFrontend.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorObject::writeJSON):
        * inspector/front-end/inspector.js:
        (WebInspector.dispatchMessageToFrontend):
        * loader/EmptyClients.h:
        (WebCore::EmptyInspectorClient::sendMessageToFrontend):

2010-06-09  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Dirk Schulze.

        [Qt] Imperfect dependency for generated SVGNames.cpp
        https://bugs.webkit.org/show_bug.cgi?id=40359

        * WebCore.pri: Missing dependency added.

2010-06-08  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Implement non-scaling-stroke (from SVG Tiny 1.2, also in Opera)
        https://bugs.webkit.org/show_bug.cgi?id=31438
        
        This is the implementation of the SVG property vector-effect according
        to the specification of SVG Tiny 1.2.
        getScreenCTM() was not able to calculate the transformation matrix in
        comparison to the host coordinate system for objects, that get refereced
        by a use element. This is fixed and covered by the the new test as well.
        This patch is based upon a patch of Jeff Schiller.

        Test: svg/custom/non-scaling-stroke.svg

        * css/CSSComputedStyleDeclaration.cpp: Added CSSPropertyVectorEffect.
        (WebCore::):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EVectorEffect):
        * css/SVGCSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * css/SVGCSSPropertyNames.in:
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * css/SVGCSSValueKeywords.in: Add vector-effect value non-scaling-stroke.
        * rendering/RenderPath.cpp: Revert transformations to ctm and transform path instead.
        (WebCore::fillAndStrokePath):
        * rendering/RenderSVGResourceContainer.h:
        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
        * rendering/RenderSVGResourceGradient.cpp: Transform the gradient with the screenCTM.
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/RenderSVGResourcePattern.cpp: Transform the pattern with the screenCTM.
        (WebCore::RenderSVGResourcePattern::applyResource):
        * rendering/style/SVGRenderStyle.h: Added vector-effect property, not interited.
        (WebCore::SVGRenderStyle::NonInheritedFlags::):
        (WebCore::SVGRenderStyle::setBitDefaults):
        * rendering/style/SVGRenderStyleDefs.h: Added enums for vector-effect.
        (WebCore::):
        * svg/SVGLocatable.cpp: Calculate screenCTM for <use> referenced objects.
        (WebCore::SVGLocatable::computeCTM):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
        * svg/svgattrs.in:

2010-06-08  Mark Rowe  <mrowe@apple.com>

        Reviewed by Adele Peterson.

        <rdar://problem/8072136> REGRESSION (r56051): Inspect Element context menu does nothing in applications linked against 10.4 SDK

        Revert the change to ContextMenu::addInspectElementItem from r56051. It was made without
        explanation and broke a reliance that WebKit has on the presence of a separator before the
        Inspect Element menu item. This also restores the context menu item to the correct location
        at the bottom of the context menu in applications built against the Mac OS X 10.4 SDK.

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::addInspectElementItem):

2010-06-08  Roland Steiner  <rolandsteiner@chromium.org>

        Unreviewed build fix

        Bug 38145 - Validate *tex* functions input parameters according to ES2 conformance
        https://bugs.webkit.org/show_bug.cgi?id=38145
        https://bugs.webkit.org/show_bug.cgi?id=40346

        Fix for 38145 broke the build ('log2 not found' on Windows),
        the fix from 40346 also didn't catch ('log ambiguous').

        2nd quick fix: add explicit casts to double and use double constants.

        No new tests.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateTexFuncParameters):

2010-05-18  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Shinichiro Hamaji.

        Fix for Bug 34529 -  [CSSOM] issues with cssText and selectorText
        Serialize selector as per http://dev.w3.org/csswg/cssom/#serializing-selectors
        Without this patch, for example, selectors containing ':' or '.' are not properly serialized.
        https://bugs.webkit.org/show_bug.cgi?id=34529

        Test: fast/css/selector-text-escape.html

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSOMUtils.cpp: Added.
        (WebCore::appendCharacter):
        (WebCore::serializeCharacter):
        (WebCore::serializeCharacterAsCodePoint):
        (WebCore::serializeIdentifier):
        (WebCore::serializeString):
        * css/CSSOMUtils.h: Added.
        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::selectorText):

2010-06-08  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Justin Garcia

        InsertListCommand needs cleanup
        https://bugs.webkit.org/show_bug.cgi?id=36430

        Separated code for listifying and unlistifying paragraphs.
        Also isolated the dependency on the selection in doApply.

        No test is added since this is a cleanup.

        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply): isolated code to listify / unlistify paragraphs
        (WebCore::InsertListCommand::unlistifyParagraph): ditto
        (WebCore::InsertListCommand::listifyParagraph): ditto
        * editing/InsertListCommand.h:

2010-06-08  Kenneth Russell  <kbr@google.com>

        Unreviewed, build fix.

        Fix build breakage from 38145
        https://bugs.webkit.org/show_bug.cgi?id=40346

        The fix for bug 38145 broke the Chromium Win build because
        Microsoft's cmath doesn't define log2. Suggested fix by zmo is to
        change log2(x) to log(x) / log(2). Built and ran WebGL layout
        tests in Safari on Mac OS X. Changed download mirrors for
        python-irclib to working ones.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateTexFuncParameters):

2010-06-08  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Validate *tex* functions input parameters according to ES2 conformance
        https://bugs.webkit.org/show_bug.cgi?id=38145

        Test: fast/canvas/webgl/tex-input-validation.html

        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::getColorBufferFormat): Get color buffer internalformat.
        * html/canvas/WebGLFramebuffer.h: Ditto.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Deal with max tex units and max texture size.
        (WebCore::WebGLRenderingContext::copyTexImage2D): Validate input parameters.
        (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
        (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
        (WebCore::WebGLRenderingContext::texParameterf): Ditto.
        (WebCore::WebGLRenderingContext::texParameteri): Ditto.
        (WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
        (WebCore::WebGLRenderingContext::handleNPOTTextures): Deal with max tex units.
        (WebCore::WebGLRenderingContext::isTexInternalformatColorBufferCombinationValid): Check whether the texture format and framebuffer color buffer internalformat combination is valid.
        (WebCore::WebGLRenderingContext::getTextureBinding): get the current bound texture for given target.
        (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType): Validate input format/type for *tex* functions.
        (WebCore::WebGLRenderingContext::validateTexFuncParameters): Validate input parameters for *tex* functions.
        (WebCore::WebGLRenderingContext::texParameter): Base function for texParameteri and texParameterf.
        * html/canvas/WebGLRenderingContext.h: Deal with max tex units.
        * html/canvas/WebGLTexture.cpp:
        (WebCore::WebGLTexture::WebGLTexture): Cache internalformat.
        * html/canvas/WebGLTexture.h: Ditto.
        (WebCore::WebGLTexture::setInternalformat):
        (WebCore::WebGLTexture::getInternalformat):
        * platform/graphics/GraphicsContext3D.cpp: internalformat and format need to be the same.
        (WebCore::GraphicsContext3D::extractImageData):

2010-06-08  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Ojan Vafai.

        REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
        https://bugs.webkit.org/show_bug.cgi?id=38548

        Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html

        * page/FocusController.cpp:
        (WebCore::clearSelectionIfNeeded): Make sure we do not clear selection when canStartSelection
                                           returns false.

2010-06-08  Enrico Ros  <eros@codeaurora.org>

        Reviewed by Ariya Hidayat.

        [Qt] Crashfix on Path::contains
        https://bugs.webkit.org/show_bug.cgi?id=40253

        Fix accessing the first item of an empty vector, that happens when
        CanvasRenderingContext2D::isPointInPath is invoked over a borderless
        path (e.g. a path made of just a MoveTo operation).

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::isPointOnPathBorder):

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

        Unreviewed, rolling out r60859.
        http://trac.webkit.org/changeset/60859
        https://bugs.webkit.org/show_bug.cgi?id=40334

        Included debugging statements. Caused a test to fail.
        (Requested by ojan on #webkit).

        * page/FocusController.cpp:
        (WebCore::clearSelectionIfNeeded):

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

        Unreviewed, rolling out r60858.
        http://trac.webkit.org/changeset/60858
        https://bugs.webkit.org/show_bug.cgi?id=40325

        Qt needs a clean build. Rolling out the patch for now and fix
        it tomorrow (Requested by krit on #webkit).

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::):
        * css/CSSPrimitiveValueMappings.h:
        * css/SVGCSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * css/SVGCSSPropertyNames.in:
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * css/SVGCSSValueKeywords.in:
        * rendering/RenderPath.cpp:
        (WebCore::fillAndStrokePath):
        * rendering/RenderSVGResourceContainer.h:
        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::applyResource):
        * rendering/style/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::NonInheritedFlags::):
        (WebCore::SVGRenderStyle::setBitDefaults):
        * rendering/style/SVGRenderStyleDefs.h:
        (WebCore::):
        * svg/SVGLocatable.cpp:
        (WebCore::SVGLocatable::computeCTM):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
        * svg/svgattrs.in:

2010-06-08  Daniel Bates  <dbates@rim.com>

        Unreviewed, fix Xcode project file after change-set 60841.

        Xcode is not happy about the entries for files EditingBehavior.h and
        EditingBehaviorTypes.h that were added in change-set 60841 (Bug # 39854).
        Lets make Xcode happy.

        Also, lets place these entries in alphabetic order.

        * WebCore.xcodeproj/project.pbxproj:

2010-06-08  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Ojan Vafai.

        REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
        https://bugs.webkit.org/show_bug.cgi?id=38548

        We should not clear the selection when canStartSelection returns false.

        Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html

        * page/FocusController.cpp:
        (WebCore::clearSelectionIfNeeded): Make sure we do not clear selection when canStartSelection
                                           returns false.

2010-06-08  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Implement non-scaling-stroke (from SVG Tiny 1.2, also in Opera)
        https://bugs.webkit.org/show_bug.cgi?id=31438
        
        This is the implementation of the SVG property vector-effect according
        to the specification of SVG Tiny 1.2.
        getScreenCTM() was not able to calculate the transformation matrix in
        comparison to the host coordinate system for objects, that get refereced
        by a use element. This is fixed and covered by the the new test as well.
        This patch is based upon a patch of Jeff Schiller.

        Test: svg/custom/non-scaling-stroke.svg

        * css/CSSComputedStyleDeclaration.cpp: Added CSSPropertyVectorEffect.
        (WebCore::):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EVectorEffect):
        * css/SVGCSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * css/SVGCSSPropertyNames.in:
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * css/SVGCSSValueKeywords.in: Add vector-effect value non-scaling-stroke.
        * rendering/RenderPath.cpp: Revert transformations to ctm and transform path instead.
        (WebCore::fillAndStrokePath):
        * rendering/RenderSVGResourceContainer.h:
        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
        * rendering/RenderSVGResourceGradient.cpp: Transform the gradient with the screenCTM.
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/RenderSVGResourcePattern.cpp: Transform the pattern with the screenCTM.
        (WebCore::RenderSVGResourcePattern::applyResource):
        * rendering/style/SVGRenderStyle.h: Added vector-effect property, not interited.
        (WebCore::SVGRenderStyle::NonInheritedFlags::):
        (WebCore::SVGRenderStyle::setBitDefaults):
        * rendering/style/SVGRenderStyleDefs.h: Added enums for vector-effect.
        (WebCore::):
        * svg/SVGLocatable.cpp: Calculate screenCTM for <use> referenced objects.
        (WebCore::SVGLocatable::computeCTM):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
        * svg/svgattrs.in:

2010-06-08  Alexey Proskuryakov  <ap@apple.com>

        * GNUmakefile.am: Also adding platform/Cursor.cpp to Gtk build.

2010-06-08  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed buildfix after r60849.

        * WebCore.pro: platform/Cursor.cpp is added to Qt build system.

2010-06-08  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Unreviewed Buildbot fix.

        Reset the Qt TextBreakIterator when reusing it.

        * platform/text/qt/TextBreakIteratorQt.cpp:
        (WebCore::setUpIterator):

2010-06-04  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by John Sullivan.

        https://bugs.webkit.org/show_bug.cgi?id=15779
        <rdar://problem/8002964> Custom CSS .cur cursor anchor point is ignored

        Test: manual-tests/cur-hotspot.html

        Currently, this patch only has effect in Safari 5 on Windows. Other platforms will need
        to implement getting hot spot information from .cur files.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Added Cursor.cpp. Looks like TextWrangler fixed line endings in vcproj file.

        * css/CSSCursorImageValue.cpp:
        (WebCore::CSSCursorImageValue::CSSCursorImageValue): Renamed "hotspot" to "hotSpot" to match
        other code.
        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Ditto. Added a FIXME about possibly
        incorrect code for resolving differences with CSS specified hotspot.

        * css/CSSCursorImageValue.h:
        (WebCore::CSSCursorImageValue::create):
        (WebCore::CSSCursorImageValue::hotSpot):
        Renamed "hotspot" to "hotSpot" to match other code.

        * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Start with an invalid value for hot
        spot, so that we can differentiate between missing and (0, 0) CSS hot spots. Missing and
        invalid (-1, -1) are treated identically by Firefox, so we don't need to differentiate these.

        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): Renamed "hotspot" to
        "hotSpot" to match other code.

        * page/EventHandler.cpp: (WebCore::EventHandler::selectCursor): Don't ignore cursors with
        invalid CSS hot spots. Firefox ignores only the hot spot, not the whole cursor in this case
        (and IE doesn't support CSS3 cursor declarations).

        * platform/Cursor.cpp: Added. (WebCore::determineHotSpot): Added a function that decides
        where hot spot is, provided an image and a possible out of band coordinate specification.

        * platform/Cursor.h: Added determineHotSpot().

        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::getHotSpot):
        * platform/graphics/BitmapImage.h:
        * platform/graphics/Image.h:
        (WebCore::Image::getHotSpot):
        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::getHotSpot):
        * platform/graphics/ImageSource.h:
        Added plumbing to get hot spot data from an image provider.

        * platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::getHotSpot): CG implemantation.

        * platform/mac/CursorMac.mm: (WebCore::createCustomCursor): Call determineHotSpot() to 
        determine where hot spot should be.
        (WebCore::Cursor::Cursor): Renamed "hotspot" to "hotSpot" to match other code.

        * platform/win/CursorWin.cpp: (WebCore::Cursor::Cursor): Call determineHotSpot() to determine
        where hot spot should be.

        * platform/gtk/CursorGtk.cpp: (WebCore::Cursor::Cursor): Ditto. This must be done despite
        this platform not having an implementation for ImageSource::getHotSpot(), because we no longer
        check for out of bounds hot spots in EventHandler::selectCursor().

        * platform/qt/CursorQt.cpp: (WebCore::Cursor::Cursor): Ditto.

2010-06-08  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Reviewed by Antti Koivisto.

        [Qt] TextBreakIterator Qt performance
        https://bugs.webkit.org/show_bug.cgi?id=39958

        Rework TextBreakIteratorQt to be more in line with the ICU version.

        We now reuse iterators where ever possible. The string data is compared
        with memcmp, which should be faster than using a hash, as you need
        to traverse the full buffer in the case the strings don't match,
        where as the compare would fail quickly.

        * platform/text/qt/TextBreakIteratorQt.cpp:
        (WebCore::TextBreakIterator::TextBreakIterator):
        (WebCore::setUpIterator):
        (WebCore::wordBreakIterator):
        (WebCore::characterBreakIterator):
        (WebCore::lineBreakIterator):
        (WebCore::sentenceBreakIterator):

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

        Unreviewed build fix after r60785.

        [GTK] Add missing GtkVersioning.h include to fix the build
        on older GTK+ versions.

        No new tests needed.

        * platform/gtk/WidgetGtk.cpp:

2010-06-08  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: extend ScriptDebugServer to support script source editing
        https://bugs.webkit.org/show_bug.cgi?id=40297

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::editScriptSource):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::editScriptSource):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::editScriptSource):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::disableDebugger):
        (WebCore::InspectorController::editScriptSource):
        (WebCore::InspectorController::currentCallFrames):
        (WebCore::InspectorController::didPause):
        (WebCore::InspectorController::didContinue):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::didEditScriptSource):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/Script.js:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.canEditScripts):
        (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
        (WebInspector.ScriptsPanel.prototype.editScriptSource):
        * inspector/front-end/Settings.js:
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._editLine):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._handleDoubleClick):
        (WebInspector.TextViewer.prototype._commitEditingLine):
        * inspector/front-end/inspector.css:
        (#scripts-files option.extension-script):

2010-06-08  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Ojan Vafai and Darin Adler.

        Refactor platform dependent editing behavior code out of Settings
        https://bugs.webkit.org/show_bug.cgi?id=39854

        As per discussion in bug 36627, Darin Adler suggested: "before the addition of any new EditingBehavior,
        I think we to add functions to translate the overall behavior policy into specific behaviors rather than
        directly saying 'behavior == Mac' or 'behavior == Windows'. Helper functions that expression the different
        rules in plain language.". Patch addresses this request.

        No behavior change, so no new tests.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore/WebCore.vcproj/WebCore.vcproj
        * WebCore/WebCore.xcodeproj/project.pbxproj
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h: Moved out EditingBehavior enum to WebCore/editing/EditingBehaviorTypes.h,
        and renamed to EditingBehaviorTypes.
        (WebCore::Settings::setEditingBehaviorType): Renamed from setEditingBehavior.
        (WebCore::Settings::editingBehaviorType): Renamed from editingBehavior.
        * editing/EditingBehavior.h: Added.
        (WebCore::EditingBehavior::EditingBehavior): Class to work as a central point for
        editing behavior that might have to be handled differently in the different platforms/ports.
        Class should be not used or instantiated directly, but rather implicitly constructed
        through the Editor class.
        (WebCore::EditingBehavior::shouldMoveCaretToHorizontalBoundaryWhenPastTopOrBottom):
        (WebCore::EditingBehavior::shouldConsiderSelectionAsDirectional):
        (WebCore::EditingBehavior::shouldCenterAlignWhenSelectionIsRevealed):
        * editing/EditingBehaviorTypes.h: Added.
        (WebCore::):
        * editing/Editor.cpp:
        (WebCore::Editor::behavior): Getter for EditingBehavior class.
        * editing/Editor.h:
        * editing/EditorCommand.cpp:
        (WebCore::executeToggleStyle):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelection):
        (WebCore::SelectionController::setIsDirectional):
        (WebCore::SelectionController::positionForPlatform):
        (WebCore::SelectionController::modify):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEventSingleClick):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::positionForPointWithInlineChildren):

        - Call sites will look like:
        if (frame->editor()->behavior().shouldThisIfThat()))
           // do something

2010-06-08  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        Prevent Geolocation making callbacks to a ScriptExecutionContext that no longer exists
        https://bugs.webkit.org/show_bug.cgi?id=40162

        Before making callbacks, we check that the relevant ScriptExecutionContext still exists.
        To achieve this, the callbacks inherit from ActiveDOMObject.

        The ScriptExecutionContext is ref'ed from script, so may not be GC'ed for some time after
        it is disconnected from its frame. Making the callback currently involves accessing the
        Frame, so an additional check for the Frame is required.

        This change also prevents the V8 bindings from incorrectly holding a reference to the Frame.

        Test: fast/dom/Geolocation/callback-to-deleted-context.html

        * bindings/js/JSCallbackData.cpp:
        (WebCore::JSCallbackData::invokeCallback):
        * bindings/js/JSCustomPositionCallback.cpp:
        (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
        (WebCore::JSCustomPositionCallback::handleEvent):
        * bindings/js/JSCustomPositionErrorCallback.cpp:
        (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
        (WebCore::JSCustomPositionErrorCallback::handleEvent):
        * bindings/v8/custom/V8CustomPositionCallback.cpp:
        (WebCore::V8CustomPositionCallback::V8CustomPositionCallback):
        (WebCore::V8CustomPositionCallback::handleEvent):
        * bindings/v8/custom/V8CustomPositionCallback.h:
        (WebCore::V8CustomPositionCallback::create):
        * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
        (WebCore::V8CustomPositionErrorCallback::V8CustomPositionErrorCallback):
        (WebCore::V8CustomPositionErrorCallback::handleEvent):
        * bindings/v8/custom/V8CustomPositionErrorCallback.h:
        (WebCore::V8CustomPositionErrorCallback::create):
        * bindings/v8/custom/V8GeolocationCustom.cpp:
        (WebCore::createPositionCallback):
        (WebCore::createPositionErrorCallback):
        * page/PositionCallback.h:
        (WebCore::PositionCallback::PositionCallback):
        * page/PositionErrorCallback.h:
        (WebCore::PositionErrorCallback::PositionErrorCallback):

2010-06-08  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Avoid duplicated signals in DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=40170

        Do not create duplicated event signals between a class and its
        ancestor.

        * bindings/scripts/CodeGeneratorGObject.pm:

2010-06-08  MORITA Hajime  <morrita@google.com>

        Unreviewd. Touched the file to force rebuild.

        * html/HTMLMeterElement.idl:

2010-06-08  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Dimitri Glazkov.

        [Chromium] Fix the math for transform matrices of composited layers. There
        were problems both with how content layers were setting their position and
        how the overal matrix stack was computed when the layer anchor isn't at the
        center of the layer.
        https://bugs.webkit.org/post_bug.cgi

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::updateContentsRect):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::updateLayersRecursive):
        (WebCore::LayerRendererChromium::drawLayer):

2010-06-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5Lexer does not handle <div FOO ><img><img></div> correctly
        https://bugs.webkit.org/show_bug.cgi?id=40283

        Fix a typo in the AfterAttributeNameState.
        The compiler really should have caught this since the typo
        resulted in unreachable code.

        Tests:
         10 tables/mozilla/marvin/colgroup* tests.
         Also added a new sub-test in html5lib/resources/webkit01.dat

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):
         - Fix typo of = instead of >

2010-06-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement HTML5's forceQuirks flag
        https://bugs.webkit.org/show_bug.cgi?id=40284

        I didn't implement this before because I didn't know how to test it,
        but now I do.
        
        Tests:
          * fast/doctypes/doctype-parsing.html.

        When we actually implement the quirks mode handling in the tree
        builder, we'll probably want to add to this test.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):
        * html/HTML5Token.h:
        (WebCore::HTML5Token::forceQuirks):
        (WebCore::HTML5Token::setForceQuirks):
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::parseDoctypeToken):
        * html/HTMLTokenizer.h:
        (WebCore::DoctypeToken::reset):

2010-06-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove ASSERT in ~HTML5Tokenizer
        https://bugs.webkit.org/show_bug.cgi?id=40282

        We thought this ASSERT would be a good idea, but the problem is that
        this object is deleted without warning in some circumstances, so
        there's no way to know whether it has reached the end of its state
        machine.

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::~HTML5Tokenizer):

2010-06-07  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        [Mac] <meter> elements should be rendered as level indicators.        
        https://bugs.webkit.org/show_bug.cgi?id=40217

        Implemented RenderThemeMac::paintMeter() using NSLevelIndicatorCell.
        
        This change also added new -webkit-appearance values to select the
        style of level indicators:
        
        - relevancy-level-indicator,
        - continuous-capacity-level-indicator,
        - discrete-capacity-level-indicator, and 
        - rating-level-indicator.
        
        The size of elements are adjusted based on the bounds of the indicator
        to make room for painting whole indicator cells.

        Tests: fast/dom/HTMLMeterElement/meter-appearances-capacity.html
               fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy.html
               fast/dom/HTMLMeterElement/meter-optimums.html

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSValueKeywords.in:
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::gaugeRegion):
        * html/HTMLMeterElement.h:
        (WebCore::HTMLMeterElement::):
        * platform/ThemeTypes.h:
        (WebCore::):
        * rendering/RenderMeter.cpp:
        (WebCore::RenderMeter::calcWidth):
        (WebCore::RenderMeter::calcHeight):
        * rendering/RenderMeter.h:
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::paintBorderOnly):
        (WebCore::RenderTheme::paintDecorations):
        (WebCore::RenderTheme::meterSizeForBounds):
        * rendering/RenderTheme.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::meterSizeForBounds):
        (WebCore::RenderThemeMac::paintMeter):
        (WebCore::RenderThemeMac::levelIndicatorStyleFor):
        (WebCore::RenderThemeMac::levelIndicatorFor):

2010-06-07  MORITA Hajime  <morrita@google.com>
        
        Reviewed by Kent Tamura.
        
        [Mac] ENABLE_METER_TAG should be enabled.
        https://bugs.webkit.org/show_bug.cgi?id=40219
        
        * Configurations/FeatureDefines.xcconfig:
        * WebCore.xcodeproj/project.pbxproj:
        
2010-06-07  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Just commit an edit Xcode keeps making automatically.

        It appears someone hand-edited the file, Xcode no-like.

        * WebCore.xcodeproj/project.pbxproj:

2010-06-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5 Parser fails script-tests which use document.write
        https://bugs.webkit.org/show_bug.cgi?id=40276

        We were leaving the TreeBuilder paused when executing the scripts
        resulting in document.write() calls being ignored.

        I don't see a good way to ASSERT this correct behavior, since
        the HTML5ScriptRunner and the HTML5TreeBuilder do not know about
        each other.  We should never have document.write() called while
        the HTML5TreeBuilder is paused, however both document.write and
        the network call the same HTML5Tokenizer::write method.  It's OK
        to be paused when the network writes, but during document.write
        (or any other script execution).

        Tested by all of fast/url and numerous other tests.

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::notifyFinished):
         - Unpause the treebuilder before executing scripts.
        (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
         - Unpause the treebuilder before executing scripts.

2010-06-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5 Parser hits ASSERT in fast/events/stop-load-in-unload-handler-using-document-write.html
        https://bugs.webkit.org/show_bug.cgi?id=40268

        Teach HTML5Tokenizer about m_parserStopped.

        While tracking down how m_parserStopped was used, I found
        several useless implementations of stopParsing() which I removed.

        I also found a comment in HTMLTokenizer which still talks about the
        "part" (an old class now split into Frame, Page, FrameLoader, etc.)
        and an nearly empty FrameLoader::tokenizerProcessedData which I just
        inlined into its one caller.

        Tests:
         fast/events/stop-load-in-unload-handler-using-document-write.html
         http/tests/security/xssAuditor/full-block-base-href.html

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::pumpLexerIfPossible):
         - New method used instead of direct calls to pumpLexer for when
           callers would like to pump the lexer if possible, but don't want
           to check if the parser is stopped, etc.
        (WebCore::HTML5Tokenizer::pumpLexer):
         - Added an ASSERT that the parser is not stopped.
         - Stop pumping if the parser is stopped.
        (WebCore::HTML5Tokenizer::write):
         - Ignore the write if the parser is already stopped.
        (WebCore::HTML5Tokenizer::end):
        (WebCore::HTML5Tokenizer::attemptToEnd):
         - Move comment back to finish() which was incorrectly moved here.
        (WebCore::HTML5Tokenizer::endIfDelayed):
        (WebCore::HTML5Tokenizer::finish):
         - Move comment back here from attemptToEnd()
        (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
         - Remove a bogus ASSERT.  The lexer will stop when it needs
           more data, which may not necessarily mean m_source.isEmpty().
        * html/HTML5Tokenizer.h:
         - Add pumpLexerIfPossible().
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::stopParsing):
         - Add a FIXME about if we really should call checkCompleted() here.
         - Inline FrameLoader::tokenizerProcessedData() since this was the only caller.
        * loader/FrameLoader.cpp:
         - Remove tokenizerProcessedData()
        * loader/FrameLoader.h:
         - Remove tokenizerProcessedData()
        * loader/MediaDocument.cpp:
         - Remove unneeded Tokenizer::stopParsing() override.
        * loader/PluginDocument.cpp:
         - Remove unneeded Tokenizer::stopParsing() override.
        * loader/SinkDocument.cpp:
         - Remove unneeded Tokenizer::stopParsing() override.

2010-06-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Fix XFrameOptions and xssAuditor crashes in HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=40265

        We're not supposed to call end() while the tokenizer's write() method.
        This causes a bunch of LayoutTests to crash.  In particular, this patch
        fixes crashes in the following tests:

        Tests:
          * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html
          * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html
          * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html
          * http/tests/security/xssAuditor/full-block-base-href.html
          * http/tests/security/xssAuditor/full-block-get-from-iframe.html
          * http/tests/security/xssAuditor/full-block-iframe-javascript-url.html
          * http/tests/security/xssAuditor/full-block-link-onclick.html
          * http/tests/security/xssAuditor/full-block-post-from-iframe.html
          * http/tests/security/xssAuditor/full-block-script-tag.html
          * http/tests/security/xssAuditor/xss-protection-parsing-01.html

        * html/HTML5Tokenizer.cpp:
        (WebCore::):
        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
        (WebCore::HTML5Tokenizer::write):
        (WebCore::HTML5Tokenizer::attemptToEnd):
        (WebCore::HTML5Tokenizer::endIfDelayed):
        (WebCore::HTML5Tokenizer::finish):
        (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
        * html/HTML5Tokenizer.h:
        (WebCore::HTML5Tokenizer::inWrite):

2010-06-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5 parser hits ASSERT in http/tests/misc/window-dot-stop.html
        https://bugs.webkit.org/show_bug.cgi?id=40264

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::executeScript):

2010-06-07  Kinuko Yasuda  <kinuko@chromium.org>

        Unreviewed.

        Avoid "warning: no previous prototype for" in Snow Leopard compilation.

        * platform/BlobItem.cpp: Added static to getFileSnapshotModificationTime().

2010-06-07  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Jian Li.

        Refactor FormData and Blob for better support of Blobs synthesized by BlobBuilder.
        https://bugs.webkit.org/show_bug.cgi?id=39083

        - Introduces a new class BlobItem as a basic component of Blob and FormDataList.
        - File would become a special type of Blob that contains only one FileBlobItem.
        - Fix the dependency violation in FormData so that the files under platform/ do not include any html/ files.

        The patch doesn't support the latest File API changes (e.g. type,
        url and slice's type parameters) and should not change any of its
        existing behaviors.

        The existing tests should be able to be used for regression.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/Blob.cpp:
        (WebCore::Blob::Blob):
        (WebCore::Blob::size):
        (WebCore::Blob::path):
        (WebCore::Blob::append):
        (WebCore::Blob::slice):
        * html/Blob.h:
        (WebCore::Blob::create):
        (WebCore::Blob::type):
        (WebCore::Blob::items):
        (WebCore::Blob::Blob):
        * html/File.cpp:
        (WebCore::File::File):
        (WebCore::File::name):
        * html/File.h:
        (WebCore::File::fileName):
        * html/FileReader.cpp:
        (WebCore::FileReader::readAsBinaryString):
        (WebCore::FileReader::readAsText):
        * html/FileStream.cpp:
        (WebCore::FileStream::openForRead):
        * html/FormDataList.cpp:
        (WebCore::FormDataList::appendString): Moved the line ending fix logic to StringBlobItem::convertToCString.
        (WebCore::FormDataList::appendBlob):
        * html/FormDataList.h:
        (WebCore::FormDataList::items):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::createFormData):
        * html/HTMLProgressElement.cpp:
        * platform/BlobItem.cpp: Added.
        * platform/BlobItem.h: Added.
        * platform/network/FormData.cpp:
        (WebCore::FormDataElement::FormDataElement):
        (WebCore::FormData::create):
        (WebCore::FormData::createMultiPart):
        (WebCore::FormData::deepCopy):
        (WebCore::FormData::appendData):
        (WebCore::FormData::appendString):
        (WebCore::FormData::appendFile):
        (WebCore::FormData::appendFileRange):
        (WebCore::FormData::appendItems):
        (WebCore::FormData::appendItem):
        (WebCore::FormData::appendKeyValuePairItems):
        * platform/network/FormData.h:
        (WebCore::operator!=):
        * platform/network/mac/FormDataStreamMac.mm:
        (WebCore::closeCurrentStream):
        (WebCore::advanceCurrentStream):
        (WebCore::formCreate):
        (WebCore::formRead):
        (WebCore::setHTTPBody):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::send):

2010-06-07  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Dimitri Glazkov.

        [chromium] Decoupled transform matrix update of composited layers from
        drawing and interposed a sorting step so that the layers are now composited
        back to front to get transparency working correctly. Also added missing code
        for the preserves3D CSS property.

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::setDrawTransform):
        (WebCore::LayerChromium::drawTransform):
        (WebCore::LayerChromium::setDrawOpacity):
        (WebCore::LayerChromium::drawOpacity):
        (WebCore::LayerChromium::preserves3D):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::compareLayerZ):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::updateLayersRecursive):
        (WebCore::LayerRendererChromium::drawLayer):
        * platform/graphics/chromium/LayerRendererChromium.h:

2010-06-07  Anton Muhin  <antonm@chromium.org>

        Reviewed by Nate Chapin.

        [Chromium] convert a key to AtomicString in V8NodeList::namedPropertyGetter
        https://bugs.webkit.org/show_bug.cgi?id=40238

        Comparison to "length" below could be performed faster in this (major) case
        as it would only require direct pointer comparison (cf. to full text
        comparison if key is converted to WebCore::String.)

        * bindings/v8/custom/V8NodeListCustom.cpp:
        (WebCore::V8NodeList::namedPropertyGetter):

2010-06-07  Ariya Hidayat  <ariya.hidayat@codeaurora.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Fix GraphicsContext::clipOut to take the transformation matrix into account.

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

2010-06-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [gtk] web fonts not loaded properly in scribd html5 reader
        https://bugs.webkit.org/show_bug.cgi?id=38758

        Avoid always giving a positive reply in createFontPlatformData. We
        do not want every non-existing family name to be considered a hit,
        or weird usage of local sources in @font-face rules will make
        WebKitGTK+ never consider the online fonts.

        * GNUmakefile.am:
        * platform/graphics/cairo/FontCacheCairo.cpp:
        (WebCore::isWellKnownFontName):
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/cairo/GOwnPtrCairo.cpp: Added.
        (WTF::FcPattern):
        (WTF::FcObjectSet):
        (WTF::FcFontSet):
        * platform/graphics/cairo/GOwnPtrCairo.h: Added.

2010-06-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        "Fix" fast/dom/stripNullFromTextNodes.html in HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=40200

        The proper handling of null characters is to replace them with U+FFFD.
        This patch "fixes" fast/dom/stripNullFromTextNodes.html in the sense
        that it makes it give the proper output w.r.t. HTML5.  However, that
        doesn't match the behavior of the old parser, which just stripped the
        nulls.

        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):

2010-06-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        HTML5 parser should normalize line endings
        https://bugs.webkit.org/show_bug.cgi?id=40199

        When reading characters from the source, we need to normalize line
        endings, which means treating \r as \n and folding \r\n sequences into
        a single \n.  Doing this requires a slightly tighter pattern for
        advancing the source (to make sure we update our state machine
        correctly).

        Fixes fast/css/first-child-pseudo-class.html and hundreds of other
        LayoutTests in the HTML5 parser.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):
        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::InputStreamPreprocessor::LineEndingNormalizer):
            - Introduced InputStreamPreprocessor to keep track of our line
              endings state machine.  This class will grow to eventually do
              all the input stream preprocessing required by the HTML5 spec.
        (WebCore::HTML5Lexer::InputStreamPreprocessor::nextInputCharacter):
            - We need to be careful not to read *source more than
              once because we need to know whether we've transformed the
              character.  Keeping the next input character in this state
              machine requires some careful coding, but seems advantageous.
        (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
        (WebCore::HTML5Lexer::InputStreamPreprocessor::advance):

2010-06-07  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        run-bindings-tests results broken by Changeset 60776
        https://bugs.webkit.org/show_bug.cgi?id=40230

        The change to CodeGeneratorJS.pm in 
        http://trac.webkit.org/changeset/60776/trunk/WebCore/bindings/scripts/CodeGeneratorJS.pm
        added the possibility to use [CallWith=ScriptExecutionContext] in idl files.

        Before the above change was submitted, CodeGeneratorJS.pm was modified so that native
        functions return EncodedJSValue instead of JSValues. This was done in
        http://trac.webkit.org/changeset/60631/trunk/WebCore/bindings/scripts/CodeGeneratorJS.pm

        This CL updates the CodeGeneratorJS.pm to correctly return an EncodedJSValue in the case
        where the ScriptExecutionContext pointer is 0 at the time when the native function is invoked.

        No new tests, just fixing run-bindings-tests.

        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
        * bindings/scripts/test/JS/JSTestObj.h:

2010-06-07  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Eric Seidel.

        [BREWMP] Add dummy SearchPopupMenu implementation
        https://bugs.webkit.org/show_bug.cgi?id=40224

        Add dummy implementation of SearchPopupMenu.

        * platform/brew/SearchPopupMenuBrew.cpp: Added.
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::enabled):

2010-06-07  Julien Chaffraix  <jchaffraix@webkit.org>

        Unreviewed, reverting my HTML comment parsing change as it
        breaks Gtk and Qt.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseComment):
        (WebCore::HTMLTokenizer::parseTag):
        * html/HTMLTokenizer.h:

2010-06-07  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Oliver Hunt.

        [GTK] HTML5 input type=range is not drawn
        https://bugs.webkit.org/show_bug.cgi?id=39561

        Support HTML5 range widgets. They are now drawn using the standard
        GTK+ theme drawing mechanism.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::supportsFocus): Add focus support for parts of sliders.
        (WebCore::setMozillaState):
        Add the GtkThemeWidgetType argument and honor depressed states for slider thumbs.
        (WebCore::paintMozillaGtkWidget): Pass in the widget type to setMozillaState.
        (WebCore::RenderThemeGtk::paintSliderTrack): Added.
        (WebCore::RenderThemeGtk::adjustSliderTrackStyle): Added.
        (WebCore::RenderThemeGtk::paintSliderThumb): Added.
        (WebCore::RenderThemeGtk::adjustSliderThumbStyle): Added.
        (WebCore::RenderThemeGtk::adjustSliderThumbSize): Added support for non-media sliders.
        * platform/gtk/RenderThemeGtk.h: Added new method declarations.

2010-06-07  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] gtk_widget_get_window should replace widget->window
        https://bugs.webkit.org/show_bug.cgi?id=40180

        Replace all uses of widget->window with gtk_widget_get_window. For older
        GTK+ versions, #define gtk_widget_get_window in GtkVersioning.h.

        No tests necessary as functionality has not changed.

        * platform/gtk/GtkPluginWidget.cpp:
        (WebCore::GtkPluginWidget::invalidateRect): Replace widget->window use.
        * platform/gtk/GtkVersioning.h: Add gtk_widget_get_window for old GTK+ versions.
        * platform/gtk/PlatformScreenGtk.cpp: 
        (WebCore::getVisual): Replace widget->window use.
        (WebCore::screenRect): Ditto.
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenu::show): Ditto.
        * platform/gtk/WidgetGtk.cpp:
        (WebCore::gdkDrawable): Ditto.
        (WebCore::Widget::setCursor): Ditto.

2010-06-07  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Sam Weinig.

        Add CPP bindings generator
        https://bugs.webkit.org/show_bug.cgi?id=38279

        Add CPP bindings generator used in Olympia platform.
        We can succesfully generate cpp bindings for all IDLs except:
        - DOMWindow.idl / EventTarget.idl (filtered out in the IDL list in DerivedSources.make for non-jsc/v8 generators anyways, so no problem at all)
        - inspector/ (not needed for us at all)
        - svg/ (needs custom handling, related to animated attributes)

        All generated files are free of style issues: "Total errors found: 0 in 510 files"
        Not integrated in any build system so far, though I've successfully tested on Mac and inside Olympia, of course.

        * bindings/cpp: Added.
        * bindings/cpp/WebDOMCString.cpp: Added.
        (WebDOMCString::reset):
        (WebDOMCString::assign):
        (WebDOMCString::length):
        (WebDOMCString::data):
        (WebDOMCString::utf16):
        (WebDOMCString::fromUTF16):
        (WebDOMCString::WebDOMCString):
        (WebDOMCString::operator=):
        (WebDOMCString::operator WTF::CString):
        * bindings/cpp/WebDOMCString.h: Added.
        (WebDOMCString::~WebDOMCString):
        (WebDOMCString::WebDOMCString):
        (WebDOMCString::operator=):
        (WebDOMCString::isEmpty):
        (WebDOMCString::isNull):
        * bindings/cpp/WebDOMEventListenerCustom.cpp: Added.
        (WebDOMEventListener::handleEvent):
        (toWebKit):
        * bindings/cpp/WebDOMEventTarget.cpp: Added.
        (WebDOMEventTarget::WebDOMEventTargetPrivate::WebDOMEventTargetPrivate):
        (WebDOMEventTarget::WebDOMEventTarget):
        (WebDOMEventTarget::~WebDOMEventTarget):
        (WebDOMEventTarget::impl):
        (toWebCore):
        (toWebKit):
        * bindings/cpp/WebDOMEventTarget.h: Added.
        * bindings/cpp/WebDOMHTMLDocumentCustom.cpp: Added.
        (documentWrite):
        (WebDOMHTMLDocument::write):
        (WebDOMHTMLDocument::writeln):
        * bindings/cpp/WebDOMNodeCustom.cpp: Added.
        (WebDOMNode::insertBefore):
        (WebDOMNode::replaceChild):
        (WebDOMNode::removeChild):
        (WebDOMNode::appendChild):
        (WebDOMNode::addEventListener):
        (WebDOMNode::removeEventListener):
        * bindings/cpp/WebDOMObject.h: Added.
        (WebDOMObject::WebDOMObject):
        (WebDOMObject::~WebDOMObject):
        * bindings/cpp/WebDOMString.cpp: Added.
        (WebDOMString::reset):
        (WebDOMString::assign):
        (WebDOMString::length):
        (WebDOMString::data):
        (WebDOMString::utf8):
        (WebDOMString::fromUTF8):
        (WebDOMString::WebDOMString):
        (WebDOMString::operator=):
        (WebDOMString::operator WebCore::String):
        (WebDOMString::operator WebCore::AtomicString):
        (WebDOMString::equals):
        * bindings/cpp/WebDOMString.h: Added.
        (WebDOMString::~WebDOMString):
        (WebDOMString::WebDOMString):
        (WebDOMString::operator=):
        (WebDOMString::isEmpty):
        (WebDOMString::isNull):
        * bindings/cpp/WebExceptionHandler.cpp: Added.
        (globalExceptionHandler):
        (webInstallExceptionHandler):
        (webRaiseDOMException):
        * bindings/cpp/WebExceptionHandler.h: Added.
        (webDOMRaiseError):
        * bindings/cpp/WebNativeEventListener.cpp: Added.
        (WebNativeEventListener::WebNativeEventListener):
        (WebNativeEventListener::~WebNativeEventListener):
        (WebNativeEventListener::handleEvent):
        (WebNativeEventListener::reportError):
        (WebNativeEventListener::operator==):
        * bindings/cpp/WebNativeEventListener.h: Added.
        (WebNativeEventListener::create):
        (WebNativeEventListener::cast):
        * bindings/scripts/CodeGeneratorCPP.pm: Added.
        * bindings/scripts/test/CPP: Added.
        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: Added.
        (WebDOMTestCallback::WebDOMTestCallbackPrivate::WebDOMTestCallbackPrivate):
        (WebDOMTestCallback::WebDOMTestCallback):
        (WebDOMTestCallback::impl):
        (WebDOMTestCallback::~WebDOMTestCallback):
        (WebDOMTestCallback::callbackWithClass1Param):
        (WebDOMTestCallback::callbackWithClass2Param):
        (WebDOMTestCallback::callbackWithNonBoolReturnType):
        (toWebCore):
        (toWebKit):
        * bindings/scripts/test/CPP/WebDOMTestCallback.h: Added.
        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Added.
        (WebDOMTestInterface::WebDOMTestInterfacePrivate::WebDOMTestInterfacePrivate):
        (WebDOMTestInterface::WebDOMTestInterface):
        (WebDOMTestInterface::impl):
        (WebDOMTestInterface::~WebDOMTestInterface):
        (toWebCore):
        (toWebKit):
        * bindings/scripts/test/CPP/WebDOMTestInterface.h: Added.
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Added.
        (WebDOMTestObj::WebDOMTestObjPrivate::WebDOMTestObjPrivate):
        (WebDOMTestObj::WebDOMTestObj):
        (WebDOMTestObj::impl):
        (WebDOMTestObj::~WebDOMTestObj):
        (WebDOMTestObj::readOnlyIntAttr):
        (WebDOMTestObj::readOnlyStringAttr):
        (WebDOMTestObj::readOnlyTestObjAttr):
        (WebDOMTestObj::intAttr):
        (WebDOMTestObj::setIntAttr):
        (WebDOMTestObj::longLongAttr):
        (WebDOMTestObj::setLongLongAttr):
        (WebDOMTestObj::unsignedLongLongAttr):
        (WebDOMTestObj::setUnsignedLongLongAttr):
        (WebDOMTestObj::stringAttr):
        (WebDOMTestObj::setStringAttr):
        (WebDOMTestObj::testObjAttr):
        (WebDOMTestObj::setTestObjAttr):
        (WebDOMTestObj::attrWithException):
        (WebDOMTestObj::setAttrWithException):
        (WebDOMTestObj::attrWithSetterException):
        (WebDOMTestObj::setAttrWithSetterException):
        (WebDOMTestObj::attrWithGetterException):
        (WebDOMTestObj::setAttrWithGetterException):
        (WebDOMTestObj::scriptStringAttr):
        (WebDOMTestObj::voidMethod):
        (WebDOMTestObj::voidMethodWithArgs):
        (WebDOMTestObj::intMethod):
        (WebDOMTestObj::intMethodWithArgs):
        (WebDOMTestObj::objMethod):
        (WebDOMTestObj::objMethodWithArgs):
        (WebDOMTestObj::methodThatRequiresAllArgs):
        (WebDOMTestObj::methodThatRequiresAllArgsAndThrows):
        (WebDOMTestObj::serializedValue):
        (WebDOMTestObj::methodWithException):
        (WebDOMTestObj::addEventListener):
        (WebDOMTestObj::removeEventListener):
        (WebDOMTestObj::withDynamicFrame):
        (WebDOMTestObj::withDynamicFrameAndArg):
        (WebDOMTestObj::withDynamicFrameAndOptionalArg):
        (WebDOMTestObj::withScriptStateVoid):
        (WebDOMTestObj::withScriptStateObj):
        (WebDOMTestObj::withScriptStateVoidException):
        (WebDOMTestObj::withScriptStateObjException):
        (WebDOMTestObj::methodWithOptionalArg):
        (WebDOMTestObj::methodWithNonOptionalArgAndOptionalArg):
        (WebDOMTestObj::methodWithNonOptionalArgAndTwoOptionalArgs):
        (toWebCore):
        (toWebKit):
        * bindings/scripts/test/CPP/WebDOMTestObj.h: Added.
        * css/StyleSheet.idl: Export helper method isCSSStyleSheet() for cpp bindings only.
        * dom/CustomEvent.idl: Disabled for cpp bindings, needs arbitary input parameter handling support ('DOMObject' type).
        * dom/Document.idl: Ignore getCSSCanvasContext() for cpp bindings and export helper method isHTMLDocument() (cpp bindings only).
        * dom/Event.idl: Export isMutationEvent()/isMouseEvent()/isUIEvent() helpers for cpp bindings only.
        * dom/EventListener.h: Add CPPEventListenerType.
        * dom/Node.idl: addEventListener/removeEventListener need [Custom] flag for cpp bindings.
        * dom/PopStateEvent.idl: Disabled just like CustomEvent, for the same reason ("any" argument type handling).
        * html/HTMLCanvasElement.idl: Disable getContext() method for cpp bindings, as it's done for objc bindings.
        * html/HTMLDocument.idl: Add [NoCPPCustom] marker for open(), as we're just autogenerating it.
        * html/HTMLInputElement.idl: Disable valueAsDate() method for cpp bindings, as we're missing native 'Date' type support.
        * html/TextMetrics.h: Add missing PassRefPtr.h include.
        * html/canvas/CanvasRenderingContext2D.idl: Disable methods (setLineCap, etc..) for cpp bindings whose names clash with property setters.
        * page/AbstractView.idl: Rename 'Media' type to 'StyleMedia' - this should have been done before.
        * page/Location.idl: Disable several methods which would need a custom implementation for the cpp bindings.
        * page/WebKitPoint.h: Add missing PassRefPtr.h include.
        * storage/SQLResultSet.idl: Correct type from 'long' to 'long long', for cpp bindings only though as it wouldn't build on Chromium/V8.
        * workers/DedicatedWorkerContext.idl: Disable postMessage() for now when using cpp bindings, would need custom code for us.
        * workers/WorkerContext.idl: Hide constructors from cpp bindings.

2010-06-07  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Space should be allowed between -- and > in comment end
        https://bugs.webkit.org/show_bug.cgi?id=21945

        Implemented the HTML comment parsing algorithm so that we match HTML5 and
        FF when parsing comments. Missing from this patch is
        the parser errors, which will be added in a follow up patch.

        Added tests cases for broken comments.

        Tests: fast/parser/broken-comment-1.html
               fast/parser/broken-comment-2.html
               fast/parser/broken-comment-3.html
               fast/parser/broken-comment-4.html
               fast/parser/broken-comment-5.html
               fast/parser/broken-comment-6.html
               fast/parser/broken-comment-in-head-1.html
               fast/parser/broken-comment-in-head-2.html
               fast/parser/broken-comment-in-head-3.html
               fast/parser/broken-comment-in-head-4.html
               fast/parser/broken-comment-in-head-5.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseComment): Now we use a state machine
        that matches the HTML5 specification.
        (WebCore::HTMLTokenizer::emitCommentToken): This emits the comment token
        and keep some of the original behavior as parseComment is called in wrong
        context (inside a <title> for example). Added a more explicit comment about
        this.
        (WebCore::HTMLTokenizer::parseTag): Remove the handling of <!--> in quirks mode.
        HTML5 specifies that we should accept this in strict mode too.
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::): Added a new enum for the comment parsing state.

2010-06-07  Mahesh Kulakrni  <mahesh.kulkarni@nokia.com>

        Reviewed by Simon Hausmann.

        [QT] QT_BEARER flag is not enabled on S60 properly
        https://bugs.webkit.org/show_bug.cgi?id=39357

        enable QT_BEARER for all platform based on qtmobility + 
        bearer module availability or for qt 4.7+

        * WebCore.pri: 

2010-06-07  Leon Clarke  <leonclarke@google.com>

        Reviewed by Jeremy Orlow.

        Fix indexeddb idls in android makefile
        https://bugs.webkit.org/show_bug.cgi?id=40169

        No new tests. Android-specific build fix.

        * Android.derived.v8bindings.mk:

2010-06-07  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        [indexedDB] It is impossible to create object stores
        https://bugs.webkit.org/show_bug.cgi?id=40054

        No new tests. Layout tests will be added separately.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_with_script_execution_context):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::):
        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.h:
        * bindings/scripts/test/ObjC/DOMTestObj.mm:
        (-[DOMTestObj withScriptExecutionContext]):
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::withScriptExecutionContextCallback):
        (WebCore::):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::clear):
        (WebCore::DOMWindow::indexedDB):
        * storage/IDBCallbacks.h:
        * storage/IDBDatabase.h:
        * storage/IDBDatabaseImpl.cpp:
        (WebCore::IDBDatabaseImpl::createObjectStore):
        * storage/IDBDatabaseImpl.h:
        * storage/IDBDatabaseRequest.cpp:
        (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
        (WebCore::IDBDatabaseRequest::createObjectStore):
        * storage/IDBDatabaseRequest.h:
        * storage/IDBDatabaseRequest.idl:
        * storage/IDBObjectStore.cpp: Removed.
        * storage/IDBObjectStore.h:
        (WebCore::IDBObjectStore::~IDBObjectStore):
        * storage/IDBObjectStoreImpl.cpp: Added.
        (WebCore::IDBObjectStoreImpl::~IDBObjectStoreImpl):
        (WebCore::IDBObjectStoreImpl::IDBObjectStoreImpl):
        (WebCore::IDBObjectStoreImpl::indexNames):
        (WebCore::IDBObjectStoreImpl::createIndex):
        (WebCore::IDBObjectStoreImpl::index):
        (WebCore::IDBObjectStoreImpl::removeIndex):
        * storage/IDBObjectStoreImpl.h: Added.
        (WebCore::IDBObjectStoreImpl::create):
        (WebCore::IDBObjectStoreImpl::name):
        (WebCore::IDBObjectStoreImpl::keyPath):
        * storage/IDBObjectStoreRequest.cpp:
        (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
        * storage/IDBObjectStoreRequest.h:
        (WebCore::IDBObjectStoreRequest::create):
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess):
        * storage/IDBRequest.h:
        * storage/IndexedDatabaseRequest.cpp:
        (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
        (WebCore::IndexedDatabaseRequest::open):
        * storage/IndexedDatabaseRequest.h:
        (WebCore::IndexedDatabaseRequest::create):
        * storage/IndexedDatabaseRequest.idl:

2010-06-07  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Updated run-bindings-tests results.

        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterfaceConstructor::constructTestInterface):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionVoidMethod):
        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionIntMethod):
        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionObjMethod):
        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
        (WebCore::jsTestObjPrototypeFunctionMethodWithException):
        (WebCore::jsTestObjPrototypeFunctionCustomMethod):
        (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
        (WebCore::jsTestObjPrototypeFunctionAddEventListener):
        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
        (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
        (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
        (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
        (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
        * bindings/scripts/test/JS/JSTestObj.h:

2010-06-07  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Implement JSON parsing for InspectorValue.
        https://bugs.webkit.org/show_bug.cgi?id=40064

        * inspector/InspectorValues.cpp:
        (WebCore::):
        (WebCore::InspectorValue::asBool):
        (WebCore::InspectorValue::asNumber):
        (WebCore::InspectorValue::asString):
        (WebCore::InspectorValue::asObject):
        (WebCore::InspectorValue::asArray):
        (WebCore::InspectorValue::readJSON):
        (WebCore::InspectorValue::writeJSON):
        (WebCore::InspectorBasicValue::asBool):
        (WebCore::InspectorBasicValue::asNumber):
        (WebCore::InspectorBasicValue::writeJSON):
        (WebCore::InspectorString::asString):
        (WebCore::InspectorObject::asObject):
        (WebCore::InspectorObject::getBool):
        (WebCore::InspectorObject::getNumber):
        (WebCore::InspectorObject::getString):
        (WebCore::InspectorObject::getObject):
        (WebCore::InspectorObject::getArray):
        (WebCore::InspectorObject::get):
        (WebCore::InspectorArray::asArray):
        * inspector/InspectorValues.h:
        (WebCore::InspectorObject::begin):
        (WebCore::InspectorObject::end):

2010-06-07  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix text selection drawing.
        https://bugs.webkit.org/show_bug.cgi?id=40221

        The regression was introduced in r60169.

        * platform/graphics/qt/FontQt.cpp:
        (WebCore::drawTextCommon):

2010-06-07  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: should be possible to distinguish extension scripts from main world scripts
        https://bugs.webkit.org/show_bug.cgi?id=40220

        * bindings/js/ScriptDebugServer.cpp: remove global listeners set which is not used anymore.
        (WebCore::ScriptDebugServer::dispatchDidParseSource): pass script wrold type to the listeners.
        (WebCore::currentWorldType):
        (WebCore::ScriptDebugServer::sourceParsed):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didParseSource):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::parsedScriptSource):
        * inspector/InspectorFrontend.h:
        * inspector/ScriptDebugListener.h: pass type of the isolated world where the script was compiled to didParseSource.
        (WebCore::):
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):
        * inspector/front-end/Script.js:
        (WebInspector.Script):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.addScript):
        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): use different style to highlight content scripts.
        * inspector/front-end/inspector.css:
        (#scripts-files option.extension-script):
        * inspector/front-end/inspector.js:
        (WebInspector.parsedScriptSource):

2010-06-06  MORITA Hajime  <morrita@google.com>

        Unreviewd, Chromium windows build fix.

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintProgressBar):

2010-06-06  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        ASSERTION FAILED with -webkit-appearance:progress-bar for non <progress> elements
        https://bugs.webkit.org/show_bug.cgi?id=40158

        paintProgressBar() and paintMeter() assumed given RenderObject is
        RenderProgress or RenderMeter respectively, but arbitrary elements
        can have -webkit-appearance: progress-bar and such elements
        violates that assumption. So this change added type check before
        downcasting the RenderObject.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::paintProgressBar):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paintMeter):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintProgressBar):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintProgressBar):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintProgressBar):

2010-06-06  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY (Qt build fix pt 2).

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::findMethodIndex):
        (JSC::Bindings::QtRuntimeMetaMethod::call):
        (JSC::Bindings::QtRuntimeConnectionMethod::call):

2010-06-06  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY (Qt build fix).

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::findMethodIndex):
        (JSC::Bindings::QtRuntimeMetaMethod::call):
        (JSC::Bindings::QtRuntimeConnectionMethod::call):

2010-06-06  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig.

        Bug 40214 - Clean up error construction / throwing in JSC.
        
        The one egregious insanity here is that creating an error requires
        a VM-entry-esqe-host call (the string argument is wrapped as a JS
        object & pushed on the RegisterFile, then unwrapped back to a
        UString).  Changing this also means you only require a global
        object, not an ExecState, to create an error.

        The methods to create error objects are also parameterized
        requiring a switch on the type, which can be made cleaner and
        faster by moving to a separate method per error type.  Code to add
        divot information to error had been duplicated, and is coalesced
        back into a single function.

        Convenience methods added to create & throw type & syntax error
        with a default error message, since this is a common case.

        Also, errors are currently thrown either using
        "throwError(exec, error)" or "exec->setException(error)" - unify
        on the former, since this is more commonly used.  Add
        "throwVMError(exec, error)" equivalents, as a convenience for
        cases where the result was being wrapped in "JSValue::encode(...)".

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSArrayBufferConstructor.h:
        (WebCore::construct):
        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::setWebGLArrayHelper):
        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::constructAudio):
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::setFillColor):
        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
        (WebCore::JSCanvasRenderingContext2D::drawImage):
        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
        (WebCore::JSCanvasRenderingContext2D::setShadow):
        (WebCore::JSCanvasRenderingContext2D::createPattern):
        (WebCore::JSCanvasRenderingContext2D::fillText):
        (WebCore::JSCanvasRenderingContext2D::strokeText):
        * bindings/js/JSClipboardCustom.cpp:
        (WebCore::JSClipboard::clearData):
        (WebCore::JSClipboard::getData):
        (WebCore::JSClipboard::setDragImage):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::setDOMException):
        (WebCore::toJSSequence):
        * bindings/js/JSDOMWrapper.cpp:
        (WebCore::DOMObject::defineOwnProperty):
        * bindings/js/JSDesktopNotificationsCustom.cpp:
        (WebCore::JSNotificationCenter::requestPermission):
        * bindings/js/JSEventSourceConstructor.cpp:
        (WebCore::constructEventSource):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::open):
        * bindings/js/JSHTMLInputElementCustom.cpp:
        (WebCore::JSHTMLInputElement::selectionStart):
        (WebCore::JSHTMLInputElement::setSelectionStart):
        (WebCore::JSHTMLInputElement::selectionEnd):
        (WebCore::JSHTMLInputElement::setSelectionEnd):
        (WebCore::JSHTMLInputElement::setSelectionRange):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::constructImage):
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::evaluate):
        * bindings/js/JSMessageChannelConstructor.cpp:
        (WebCore::JSMessageChannelConstructor::construct):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::fillMessagePortArray):
        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::constructHTMLOptionElement):
        * bindings/js/JSSVGMatrixCustom.cpp:
        (WebCore::JSSVGMatrix::multiply):
        * bindings/js/JSSharedWorkerConstructor.cpp:
        (WebCore::constructSharedWorker):
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::JSWebGLRenderingContext::bufferData):
        (WebCore::JSWebGLRenderingContext::bufferSubData):
        (WebCore::getObjectParameter):
        (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
        (WebCore::JSWebGLRenderingContext::getParameter):
        (WebCore::JSWebGLRenderingContext::getProgramParameter):
        (WebCore::JSWebGLRenderingContext::getShaderParameter):
        (WebCore::JSWebGLRenderingContext::getUniform):
        (WebCore::JSWebGLRenderingContext::texImage2D):
        (WebCore::JSWebGLRenderingContext::texSubImage2D):
        (WebCore::dataFunctionf):
        (WebCore::dataFunctioni):
        (WebCore::dataFunctionMatrix):
        * bindings/js/JSWebSocketConstructor.cpp:
        (WebCore::constructWebSocket):
        * bindings/js/JSWebSocketCustom.cpp:
        (WebCore::JSWebSocket::send):
        * bindings/js/JSWorkerConstructor.cpp:
        (WebCore::constructWorker):
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::constructXMLHttpRequest):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::open):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::BaseWalker::throwStackOverflow):
        (WebCore::BaseWalker::throwInterruptedException):
        (WebCore::SerializingTreeWalker::startArray):
        (WebCore::SerializingTreeWalker::startObject):
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::setException):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
        (JSC::Bindings::CInstance::invokeMethod):
        (JSC::Bindings::CInstance::invokeDefaultMethod):
        (JSC::Bindings::CInstance::invokeConstruct):
        * bridge/jni/jsc/JNIBridgeJSC.cpp:
        (JavaField::dispatchValueFromInstance):
        (JavaField::dispatchSetValueToInstance):
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaInstance::invokeMethod):
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::moveGlobalExceptionToExecState):
        (ObjcInstance::invokeMethod):
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::ObjcField::valueFromInstance):
        (JSC::Bindings::ObjcField::setValueToInstance):
        (JSC::Bindings::ObjcArray::setValueAt):
        (JSC::Bindings::ObjcArray::valueAt):
        (JSC::Bindings::callObjCFallbackObject):
        * bridge/objc/objc_utility.h:
        * bridge/objc/objc_utility.mm:
        (JSC::Bindings::throwError):
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::put):
        * bridge/runtime_method.cpp:
        (JSC::callRuntimeMethod):
        * bridge/runtime_object.cpp:
        (JSC::Bindings::RuntimeObject::throwInvalidAccessError):

2010-06-06  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        hit testing does not respect clip paths
        https://bugs.webkit.org/show_bug.cgi?id=15162

        Test: svg/dynamic-updates/SVGClipPath-influences-hitTesting.html
        
        Added a check, if a float point is not only in the shape/object boundaries
        but also is not in the clipped away area of a clipPath.

        * rendering/HitTestRequest.h:
        (WebCore::HitTestRequest::):
        (WebCore::HitTestRequest::svgClipContent):
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::fillContains):
        (WebCore::RenderPath::nodeAtFloatPoint):
        * rendering/RenderPath.h:
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::nodeAtFloatPoint):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::nodeAtFloatPoint):
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::hitTestClipContent):
        * rendering/RenderSVGResourceClipper.h:
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::nodeAtFloatPoint):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::pointInClippingArea):
        * rendering/SVGRenderSupport.h:

2010-06-06  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG Pattern/Gradient clean-up
        https://bugs.webkit.org/show_bug.cgi?id=40205

        Transformations of SVG Patterns and Gradients can be bundeled.
        This calculation also needs just to be calculated once. It's not a great speed-up for most platforms,
        but a clean-up and preparation for new features like vectorEffects and others.
        Now, that we don't recalucluate the gradient and its transformations, it was necessary to add a way
        to transform alreday existing gradients on Cairo. This is done in the same way like Skia transforms
        gradients after they were created.
        
        This patch doesn't change functionality, so no new tests added.

        * platform/graphics/Gradient.cpp:
        * platform/graphics/cairo/GradientCairo.cpp:
        (WebCore::Gradient::setPlatformGradientSpaceTransform):
        * rendering/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/RenderSVGResourceGradient.h:
        * rendering/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::applyResource):
        (WebCore::RenderSVGResourcePattern::createTileImage):
        (WebCore::RenderSVGResourcePattern::buildPattern):
        * rendering/RenderSVGResourcePattern.h:

2010-06-05  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, typo/build fix.

        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
        (WebCore::V8SQLStatementErrorCallback::handleEvent):

2010-05-28  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Do not pass empty handles to v8.
        https://bugs.webkit.org/show_bug.cgi?id=39896

        Passing an empty handle to v8 results in a crash with a stack
        trace that doesn't give us much information about the cause of the
        crash. Instead, if we check the handles we pass to v8 and crash
        when they are empty, we do not make things worse, and should get a
        more informative stack trace.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/V8/V8TestCallback.cpp:
        (WebCore::V8TestCallback::callbackWithClass1Param):
        (WebCore::V8TestCallback::callbackWithClass2Param):
        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
        (WebCore::V8SQLStatementErrorCallback::handleEvent):

2010-05-30  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Darin Adler.

        Add a convenient helper getter for Frame* to RenderObject
        https://bugs.webkit.org/show_bug.cgi?id=39928

        document()->frame() is being called enough from RenderObject derivated classes
        that it worth adding a helper Frame getter as a shortcut.

        No behavior change, so no new tests.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isOffScreen):
        (WebCore::AccessibilityRenderObject::stringValue):
        (WebCore::AccessibilityRenderObject::selection):
        (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
        * page/EventHandler.cpp:
        (WebCore::canAutoscroll):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintCustomHighlight):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintCaret):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintCustomHighlight):
        * rendering/RenderDataGrid.cpp:
        (WebCore::RenderDataGrid::isActive):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::flattenFrameSet):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintFocusRings):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::addDashboardRegions):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::~RenderLayer):
        (WebCore::RenderLayer::panScrollFromPoint):
        (WebCore::RenderLayer::scrollByRecursively):
        (WebCore::RenderLayer::scrollToOffset):
        (WebCore::RenderLayer::autoscroll):
        (WebCore::RenderLayer::isActive):
        (showLayerTree):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::inspectorTimelineAgent):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintItemForeground):
        (WebCore::RenderListBox::paintItemBackground):
        (WebCore::RenderListBox::panScroll):
        (WebCore::RenderListBox::autoscroll):
        (WebCore::RenderListBox::isActive):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::~RenderObject):
        (WebCore::RenderObject::selectionBackgroundColor):
        (WebCore::RenderObject::selectionForegroundColor):
        (WebCore::RenderObject::destroy):
        (WebCore::RenderObject::addDashboardRegions):
        (WebCore::RenderObject::animation):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::document):
        (WebCore::RenderObject::frame):

2010-06-05  Jonathan Kliegman  <kliegs@chromium.org>

        Reviewed by Dirk Schulze.

        SVG doesn't support rgba colors
        https://bugs.webkit.org/show_bug.cgi?id=16183

        Enabled processing of rgba, hsl and hsla color specifications
        for SVG files.  SVG spec calls for CSS2 but common usage and
        other browsers suppor CSS3 colors being used in SVG files

        Removed unused svg paramater from CSSParser::parseColorFromValue

        Tests: svg/custom/fill-opacity-hsl.svg
               svg/custom/fill-opacity-rgba.svg

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseColorFromValue):
        * css/CSSParser.h:
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        (WebCore::CSSParser::parseSVGPaint):
        (WebCore::CSSParser::parseSVGColor):
        * svg/SVGColor.cpp:
        (WebCore::SVGColor::colorFromRGBColorString):

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] ContextMenuItemQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39780

        * platform/qt/ContextMenuItemQt.cpp:

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] ContextMenuQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39779

        * platform/qt/ContextMenuQt.cpp:

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] DragDataQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39777

        * platform/qt/DragDataQt.cpp:

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] FileChooserQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39776

        * platform/qt/FileChooserQt.cpp:

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] FileSystemQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39775

        * platform/qt/FileSystemQt.cpp:

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] KURLQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39774

        * platform/qt/KURLQt.cpp:

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] LoggingQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39772

        * platform/qt/LoggingQt.cpp:

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] PlatformKeyboardEventQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39770

        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::keyIdentifierForQtKeyCode):
        (WebCore::windowsKeyCodeForKeyEvent):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] PlatformScreenQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39768

        * platform/qt/PlatformMouseEventQt.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] RenderThemeQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39767

        * platform/qt/RenderThemeQt.cpp:

2010-06-05  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] ScrollbarQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39765

        * platform/qt/ScrollbarQt.cpp:

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        This patch changes us from using a jump table for each character to
        using absolute jumps between parser states.  This appears to be about a
        1% improvement on the parser bench mark (which is 1/10th of what we
        need to catch the old parser).

        I've kept the underlying logic as close to the old logic as possible.
        This new form will make it easier to handle the input stream part of
        the spec and to make further performance improvements.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::reset):
        (WebCore::HTML5Lexer::nextToken):
        (WebCore::HTML5Lexer::emitCurrentToken):
        * html/HTML5Lexer.h:

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        HTML5 parser should be within 1% of old parser performance
        https://bugs.webkit.org/show_bug.cgi?id=40172

        Stop using adopt().  I think this function is cause us to do extra
        mallocs that are hurting performance.  Instead of caching AtomicString
        on HTML5Token, just use the AtomicString on the old token.  Also,
        reserve inline capacity for 10 attributes.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::isAppropriateEndTag):
        * html/HTML5Lexer.h:
        * html/HTML5Token.h:
        (WebCore::HTML5Token::beginStartTag):
        (WebCore::HTML5Token::beginEndTag):
        (WebCore::HTML5Token::beginCharacter):
        (WebCore::HTML5Token::beginComment):
        (WebCore::HTML5Token::beginDOCTYPE):
        (WebCore::HTML5Token::name):
        (WebCore::HTML5Token::characters):
        (WebCore::HTML5Token::comment):
        * html/HTML5TreeBuilder.cpp:
        (WebCore::convertToOldStyle):
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):

2010-06-04  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] ScrollbarThemeQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39764

        * platform/qt/ScrollbarThemeQt.cpp:
        (WebCore::scPart):
        (WebCore::scrollbarPart):
        (WebCore::styleOptionSlider):

2010-06-04  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] SharedTimerQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39763

        * platform/qt/SharedTimerQt.cpp:

2010-06-04  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        WidgetQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39759

        * platform/qt/WidgetQt.cpp:

2010-06-04  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        TemporaryLinkStubsQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39761

        * platform/qt/TemporaryLinkStubsQt.cpp:

2010-06-04  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] SoundQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39762

        * platform/qt/SoundQt.cpp:

2010-06-04  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Dirk Schulze.

        Canvas createPattern(img, repetition) shouldn't throw INVALID_STATE_ERR when !img.complete
        https://bugs.webkit.org/show_bug.cgi?id=40166

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-createpattern

        Test: http/tests/misc/canvas-pattern-from-incremental-image.html (updated)

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

2010-06-04  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        [Qt] Localizations.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39773

        * platform/qt/Localizations.cpp:
        (WebCore::localizedMediaTimeDescription):

2010-06-04  Lyon Chen  <liachen@rim.com>

        Reviewed by Darin Adler.

        ApplicationCacheStorage::storeNewestCache() Crash WebKit when openDatabase(true) failed
        https://bugs.webkit.org/show_bug.cgi?id=40074

        Adding m_database.isOpen() check for every openDatabase(true) call, this is needed because
        openDatabase(true) could still fail, for example when cacheStorage is full or no longer available.

        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::store):
        (WebCore::ApplicationCacheStorage::storeNewestCache):

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

        Unreviewed, rolling out r60684.
        http://trac.webkit.org/changeset/60684
        https://bugs.webkit.org/show_bug.cgi?id=40196

        This patch broke chromium reliability tests (Requested by
        tonyg-cr on #webkit).

        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::evaluate):
        * bindings/v8/V8Proxy.h:

2010-06-04  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by David Kilzer.

        AX: need an aria-help
        https://bugs.webkit.org/show_bug.cgi?id=40010

        Test: accessibility/aria-help.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::helpText):
        * html/HTMLAttributeNames.in:

2010-06-04  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Canvas arc() with zero radius should draw a line to the start point
        https://bugs.webkit.org/show_bug.cgi?id=40164

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arc

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArc):

2010-06-04  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] RenderThemeGtk leaks memory
        https://bugs.webkit.org/show_bug.cgi?id=40168

        Call gtk_widget_destroy in the RenderThemeGtk destructor. This cleans
        up all widget resources when a theme is destroyed.

        No new tests, because functionality has not changed.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::~RenderThemeGtk): Call gtk_widget_destroy on m_gtkWindow.

2010-06-04  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] RenderThemeGtk leaks memory
        https://bugs.webkit.org/show_bug.cgi?id=40168

        Remove the use of releaseRef to assign a value to a RefPtr. This results in
        the original pointer taking an extra reference.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::initMediaStyling): Remove the use of releaseRef here.

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Gavin Barraclough.

        Try to fix the windows build
        https://bugs.webkit.org/show_bug.cgi?id=40189

        Suppress the "unreachable code" warning because we want to assert that
        we don't reach certain code points.

        * html/HTML5Lexer.cpp:

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        A couple more cases like the previous patch that I missed.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        Make all the state transitions in the machine explicit.  This allows us
        to remove all the break statements, which won't work correctly after we
        change the macro definitions.

        Also, while I was looking at every line of code, I fixed a bunch of the
        one-line-if style errors introduces in my previous patches.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Bug 40187 - Change function signature of NativeConstructor to match NativeFunction

        Mostly for consistency, but constructor & args arguments are redundant,
        and this will help if we wish to be able to JIT calls to more constructors.

        * bindings/js/JSArrayBufferConstructor.cpp:
        (WebCore::constructCanvasArrayBuffer):
        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::constructAudio):
        * bindings/js/JSEventSourceConstructor.cpp:
        (WebCore::constructEventSource):
        * bindings/js/JSFloatArrayConstructor.cpp:
        (WebCore::constructCanvasFloatArray):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::constructImage):
        * bindings/js/JSInt16ArrayConstructor.cpp:
        (WebCore::constructCanvasShortArray):
        * bindings/js/JSInt32ArrayConstructor.cpp:
        (WebCore::constructCanvasIntArray):
        * bindings/js/JSInt8ArrayConstructor.cpp:
        (WebCore::constructCanvasByteArray):
        * bindings/js/JSMessageChannelConstructor.cpp:
        (WebCore::JSMessageChannelConstructor::construct):
        * bindings/js/JSMessageChannelConstructor.h:
        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::constructHTMLOptionElement):
        * bindings/js/JSSharedWorkerConstructor.cpp:
        (WebCore::constructSharedWorker):
        * bindings/js/JSUint16ArrayConstructor.cpp:
        (WebCore::constructCanvasUnsignedShortArray):
        * bindings/js/JSUint32ArrayConstructor.cpp:
        (WebCore::constructCanvasUnsignedIntArray):
        * bindings/js/JSUint8ArrayConstructor.cpp:
        (WebCore::constructCanvasUnsignedByteArray):
        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
        (WebCore::constructWebKitCSSMatrix):
        * bindings/js/JSWebKitPointConstructor.cpp:
        (WebCore::constructWebKitPoint):
        * bindings/js/JSWebSocketConstructor.cpp:
        (WebCore::constructWebSocket):
        * bindings/js/JSWorkerConstructor.cpp:
        (WebCore::constructWorker):
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::constructXMLHttpRequest):
        * bindings/js/JSXSLTProcessorConstructor.cpp:
        (WebCore::constructXSLTProcessor):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/runtime_object.cpp:
        (JSC::Bindings::callRuntimeConstructor):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        Change the intent of the loop to match what it's going to be once we
        remove the loop.  This is a whitespace only change that will make the
        final diff much, much smaller.  Sorry for the transient ugly style.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        Introduce ADVANCE_TO macro.  This is the last macro we need to
        introduce.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        Fix the rest of the RECONSUME_IN cases that were missed by our script.
        Also, reorder some assigment to prepare for the ADVANCE_TO patch.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        This patch handles the FLUSH_AND_ADVANCE_TO case.  Again, this patch
        introduces style errors that will be fixed shortly.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        This patch handles the FLUSH_EMIT_AND_RESUME_IN case.  This patch
        introduces some bad style w.r.t. one-line if statements, but we'll fix
        them all automatically in cleanup patch when we're done.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        More small steps.  This patch deals with emitting tokens.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        The next step: using macros to delimit each state.  Evetually, we're
        going to change what these macros expand to.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        We're going to do this patch in small steps to make it easier to verify correctness.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-06-04  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by David Levin.

        [chromium] Adding support for the left and right Windows keys to the
                   NativeWebKeyboardEvent.
        https://bugs.webkit.org/show_bug.cgi?id=39752

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

2010-06-04  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG filter on filter don't work
        https://bugs.webkit.org/show_bug.cgi?id=32708
        
        Any child of <text> was not allowed to use the same filter as the text root. 
        I couldn't found any reason in the SVG specification that legimitate this.
        Only batik also doesn't allow the same filter on the text root as on it's childs,
        while any other effect is still allowed.
        I removed this limitation so that the result looks like the result on Firefox.

        Test: svg/filters/filter-on-filter-for-text.svg

        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
        (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
        (WebCore::SVGRootInlineBox::paint):

2010-06-04  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Factor PageCache functionality out of FrameLoader and into
        PageCache itself.

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

        Refactor only, so no new tests.

        * history/PageCache.cpp:
        (WebCore::pageCacheLogPrefix):
        (WebCore::pageCacheLog):
        (WebCore::logCanCacheFrameDecision):
        (WebCore::logCanCachePageDecision):
        (WebCore::PageCache::canCachePageContainingThisFrame):
        (WebCore::PageCache::canCache):
        (WebCore::PageCache::add):
        (WebCore::PageCache::get):
        * history/PageCache.h:
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::commitIfReady):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::prepareForCachedPageRestore):
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
        (WebCore::FrameLoader::navigateToDifferentDocument):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::quickRedirectComing):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2010-06-04  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Web Inspector: it would be better to push object properties to JSON string in order of insertion.
        https://bugs.webkit.org/show_bug.cgi?id=40140

        * inspector/InspectorValues.cpp:
        (WebCore::InspectorObject::writeJSON):
        * inspector/InspectorValues.h:
        (WebCore::InspectorObject::setBool):
        (WebCore::InspectorObject::setNumber):
        (WebCore::InspectorObject::setString):
        (WebCore::InspectorObject::set):

2010-06-04  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Persist V8's ScriptData to the memory cache.
        https://bugs.webkit.org/show_bug.cgi?id=38661

        This stores V8's ScriptData in the memory cache and also causes the
        network platform layer to be notified of the available cacheable
        metadata.

        Chromium's morejs benchmark shows a 3-4% improvement on fast hardware.

        No new tests because no new functionality.

        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        (WebCore::ScriptSourceCode::cachedScript):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::precompileScript):
        (WebCore::V8Proxy::evaluate):
        * bindings/v8/V8Proxy.h:

2010-06-04  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Utilize new takeFirst() method where appropriate.
        https://bugs.webkit.org/show_bug.cgi?id=40089

        No new tests because no new functionality.

        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
        * dom/XMLTokenizerLibxml2.cpp:
        (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::reset):
        (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::advanceSubstring):
        * storage/Database.cpp:
        (WebCore::Database::scheduleTransaction):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::getNextStatement):
        * storage/SQLTransactionCoordinator.cpp:
        (WebCore::SQLTransactionCoordinator::processPendingTransactions):

2010-06-04  Nikita Vasilyev  <me@elv1s.ru>

        Reviewed by Pavel Feldman.

        Web Inspector: better Function.prototype.bind for the internal code.

        In the "Event Listeners" pane show handler function instead of Function.prototype.bind.

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

        * inspector/front-end/utilities.js:
        (Function.prototype.bind.bound):
        (Function.prototype.bind.bound.toString):
        (Function.prototype.bind):

2010-06-04  Alexander Pavlov  <apavlov@chromium.org>

        Unreviewed, fix Qt build.

        Add references to a new file.

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

2010-06-04  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Eliminate direct dependency of StylesSidebarPane on InspectorBackend
        https://bugs.webkit.org/show_bug.cgi?id=40069

        No new tests are needed, as this is a refactoring.

        * inspector/front-end/CSSStyleModel.js: Added.
        (WebInspector.CSSStyleModel):
        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
        (WebInspector.CSSStyleModel.prototype.addRule):
        (WebInspector.CSSStyleModel.prototype.toggleStyleEnabled):
        (WebInspector.CSSStyleModel.prototype.setCSSText):
        (WebInspector.CSSStyleModel.prototype.applyStyleText):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update.stylesCallback):
        (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
        (WebInspector.StylesSidebarPane.prototype.update):
        (WebInspector.StylesSidebarPane.prototype._arrayContainsInheritedProperty):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.StylePropertyTreeElement.prototype.):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):

2010-06-04  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Compilation fails when compiling against Qt 4.7 and Qt Mobility is installed
        https://bugs.webkit.org/show_bug.cgi?id=40116

        CONFIG += mobility has the side-effect of pulling in mobility includes, which conflict
        with Qt 4.7's bearer managenent includes and break the build.

        * WebCore.pro:

2010-06-04  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Dimitri Glazkov.

        [chromium] Fix scrolling bug with pages using accelerated compositing.
        https://bugs.webkit.org/show_bug.cgi?id=40037

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

2010-06-04  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Darin Adler.

        CG implementation needed for compression quality in canvas.toDataURL
        https://bugs.webkit.org/show_bug.cgi?id=38492

        Took toDataURL.jpeg.quality.basic.html test off of Skipped list. Passes.

        Went the route of avoiding in-band signaling to flag the use of a quality 
        parameter or not. So, instead of simply passing the quality down as a
        double, instead I pass a reference to the quality parameter from where
        it comes in just after the JS bindings. Thus, no need for any global
        constants to signify when the quality is not specified. Updated the other 
        platforms to support this (qt was on the only one currently with any
        implementation). 

        * bindings/js/JSHTMLCanvasElementCustom.cpp: Moved range check logic for quality parameter down lower. Updated
        call to toDataURL to use double* instead of just passing the quality directly.
        (WebCore::JSHTMLCanvasElement::toDataURL):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Updated toDataURL call to pass double*
        (WebCore::V8HTMLCanvasElement::toDataURLCallback):
        * dom/CanvasSurface.cpp: Updated method prototype.
        (WebCore::CanvasSurface::toDataURL):
        * dom/CanvasSurface.h: Updated method prototype.
        (WebCore::CanvasSurface::toDataURL):
        * platform/graphics/ImageBuffer.h: Updated method signature to use double* for quality param.
        * platform/graphics/cairo/ImageBufferCairo.cpp: Updated prototype for consistency.
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/cg/ImageBufferCG.cpp: Implemented support for quality parametejr when jpeg MIME type used.
        (WebCore::jpegUTI):
        (WebCore::utiFromMIMEType):
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/haiku/ImageBufferHaiku.cpp: Updated prototype for consistency.
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/qt/ImageBufferQt.cpp: Updated prototype for consistency.
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/skia/ImageBufferSkia.cpp: Updated prototype for consistency.
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/wince/ImageBufferWince.cpp: Updated prototype for consistency.
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/wx/ImageBufferWx.cpp: Updated prototype for consistency.
        (WebCore::ImageBuffer::toDataURL):

2010-06-04  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        Leaks in listDirectory
        https://bugs.webkit.org/show_bug.cgi?id=40008

        Fixed both leaks.

        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::listDirectory):

2010-06-04  Anton Muhin  <antonm@chromium.org>

        Reviewed by Nate Chapin.

        [Chromium] get rid of named interceptor on HTMLDocument and introduce/remove accessors when named items get deleted/removed
        https://bugs.webkit.org/show_bug.cgi?id=39877

        This patch makes callbacks invoked on named items addition/removal
        install API accessors and thus there is no more need in
        named and indexed interceptors on HTMLDocument which
        speeds up invocation of methods on document.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::checkDocumentWrapper):
        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
        (WebCore::getter):
        (WebCore::V8DOMWindowShell::namedItemAdded):
        (WebCore::V8DOMWindowShell::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::WrapInShadowObject):
        (WebCore::V8HTMLDocument::GetNamedProperty):
        (WebCore::V8HTMLDocument::allAccessorSetter):
        (WebCore::toV8):

2010-06-04  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        Change filenameFromString to return CString
        https://bugs.webkit.org/show_bug.cgi?id=39494

        filenameFromString returns a newly allocated string and the caller must
        free the string. GTK and EFL ports use g_free while all others ports use
        fastFree. This is confusing because the same function behaves
        differently with respect to ports. Change filenameFromString to return
        CString.

        * platform/FileSystem.cpp:
        (WebCore::filenameFromString):
        * platform/FileSystem.h:
        * platform/efl/FileSystemEfl.cpp:
        (WebCore::filenameFromString):
        * platform/gtk/FileChooserGtk.cpp:
        (WebCore::FileChooser::basenameForWidth):
        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::filenameFromString):
        (WebCore::filenameForDisplay):
        (WebCore::fileExists):
        (WebCore::deleteFile):
        (WebCore::deleteEmptyDirectory):
        (WebCore::getFileSize):
        (WebCore::getFileModificationTime):
        (WebCore::makeAllDirectories):
        (WebCore::pathGetFileName):
        (WebCore::directoryName):
        (WebCore::listDirectory):
        * platform/gtk/SharedBufferGtk.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::startHttp):
        * platform/posix/SharedBufferPOSIX.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):

2010-06-04  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Fix compilation with QT_NO_FEATURE
        https://bugs.webkit.org/show_bug.cgi?id=38324

        The #ifdef QT_NO_GRAPHICSEFFECT was in the wrong place, would have
        made AC not work at all.

        No new tests.

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

2010-06-04  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arcTo.ensuresubpath.1.html
        https://bugs.webkit.org/show_bug.cgi?id=38645

        Path arcto function need to ensure there is subpath before it.

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArcTo):

2010-06-04  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arc.angle.3.html
        https://bugs.webkit.org/show_bug.cgi?id=38537

        For path.arc function handle span > 2PI

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArc):

2010-06-04  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Set attributes.stencil to false by default at context creation
        https://bugs.webkit.org/show_bug.cgi?id=40090

        * platform/graphics/GraphicsContext3D.h: Set default attributes.stencil to false.
        (WebCore::GraphicsContext3D::Attributes::Attributes):

2010-06-03  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Eric Carlson.

        Fix a crash when trying to use an invalid media src url by
        moving the isValid url checks to a central location in
        isSafeToLoadURL function. Also added an empty string check
        in DocumentLoader::didTellClientAboutLoad.

        Test: media/invalid-media-url-crash.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::isSafeToLoadURL):
        (WebCore::HTMLMediaElement::selectNextSourceChild):
        (WebCore::HTMLMediaElement::getPluginProxyParams):
        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::didTellClientAboutLoad):

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

        Unreviewed, rolling out r60642.
        http://trac.webkit.org/changeset/60642
        https://bugs.webkit.org/show_bug.cgi?id=40151

        Broke rendering of border images on rotated elements
        (Requested by jamesr on #webkit).

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawImage):
        (WebCore::GraphicsContext::drawTiledImage):
        * platform/graphics/GraphicsContext.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintNinePieceImage):

2010-06-03  Damian Kaleta  <dkaleta@apple.com>

        Reviewed by Beth Dakin.

        Pixel cracks in border images when drawing with a scale factor > 1
        <rdar://problem/7994266>pixel cracks in border images
        https://bugs.webkit.org/show_bug.cgi?id=15720
        
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawImage):
        (WebCore::GraphicsContext::drawTiledImage):
        * platform/graphics/GraphicsContext.h: Added two new methods to support drawing using FloatRect.
        If the boolean flag roundToPixels is true, the pixels are adjusted with the pixel boundaries.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintNinePieceImage):

2010-06-03  James Robinson  <jamesr@chromium.org>

        Reviewed by Dan Bernstein.

        Take container's scroll offset and clip into account when initializing LayoutState
        https://bugs.webkit.org/show_bug.cgi?id=38506

        When doing a subtree layout, the initial LayoutState creation needs to
        take the layout root container's offset and its scroll offset into account
        to create the initial offset.  Otherwise if a subtree layout occurs
        for a layout root whose container has a non-zero scroll offset
        the LayoutState's offset and clip are wrong, resulting in a mispaint.
        See the test cases for examples.

        Tests: fast/repaint/layout-state-scrolloffset.html
               fast/repaint/layout-state-scrolloffset2.html
               fast/repaint/layout-state-scrolloffset3.html

        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):

2010-06-03  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY (speculative Qt build fix II).

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::call):
        (JSC::Bindings::QtRuntimeConnectionMethod::call):

2010-06-03  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY (speculative Qt build fix).

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::call):
        (JSC::Bindings::QtRuntimeConnectionMethod::call):

2010-06-02  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Bug 40094 - The return type of NativeFunction should be EncodedJSValue
        On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not.

        * bindings/js/JSCallbackData.cpp:
        (WebCore::JSCallbackData::invokeCallback):
        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent):
        * bindings/js/JSHTMLAllCollectionCustom.cpp:
        (WebCore::callHTMLAllCollection):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::callHTMLCollection):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::open):
        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::InjectedScriptHost::createInjectedScript):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::acceptNode):
        * bindings/js/JSNodeListCustom.cpp:
        (WebCore::callNodeList):
        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::callPlugin):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::create):
        (WebCore::ScheduledAction::executeFunctionInContext):
        * bindings/js/ScriptFunctionCall.cpp:
        (WebCore::ScriptFunctionCall::call):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::SerializingTreeWalker::convertIfTerminal):
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject callWebScriptMethod:withArguments:]):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/NP_jsobject.cpp:
        (_NPN_InvokeDefault):
        (_NPN_Invoke):
        (_NPN_Construct):
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::call):
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::callObjCFallbackObject):
        * bridge/runtime_method.cpp:
        (JSC::callRuntimeMethod):
        * bridge/runtime_object.cpp:
        (JSC::Bindings::callRuntimeObject):

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

        Unreviewed, rolling out r60614.
        http://trac.webkit.org/changeset/60614
        https://bugs.webkit.org/show_bug.cgi?id=40123

        It made fast/dom/Window/window-postmessage-clone.html fail on
        Mac bots (Requested by Ossy on #webkit).

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):
        * dom/Document.cpp:
        (WebCore::Document::createEvent):
        (WebCore::Document::addListenerTypeIfNeeded):
        * dom/Document.h:
        (WebCore::Document::):
        * dom/Document.idl:
        * dom/Element.h:
        * dom/Element.idl:
        * dom/Event.cpp:
        (WebCore::Event::fromUserGesture):
        * dom/Event.h:
        * dom/EventNames.h:
        * dom/TransformActionEvent.cpp: Removed.
        * dom/TransformActionEvent.h: Removed.
        * dom/TransformActionEvent.idl: Removed.
        * html/HTMLAttributeNames.in:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:

2010-06-03  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: show "Object" as description for values with anonymous constructor
        https://bugs.webkit.org/show_bug.cgi?id=40121

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

2010-06-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix NPAPI support on Mac OS X/Cocoa-32

        qt_mac_window_for() returns a NSWindow on Cocoa, so we were
        passing in a NSWindow instead of a WindowRef as part of the
        NP_CGContext.

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

        * WebCore.gypi: Reflect rename
        * WebCore.pro: Reflect rename
        * plugins/mac/PluginViewMac.cpp: Renamed to PluginViewMac.mm
        and fix bug by getting the Carbon windowRef from the NSWindow.
        * wscript: Reflect rename

2010-06-03  Kim Grönholm  <kim.1.gronholm@nokia.com>

        Reviewed by Simon Hausmann.

        Add TransformActionEvent support
        https://bugs.webkit.org/show_bug.cgi?id=39757

        Added only the necessary TransformAction event interfaces and not e.g.
        any eventhandler hooks that generate and dispatch them.

        Test: fast/events/transformaction/create-transformaction-event.html
        More tests will be added with the machinery that generates and
        dispatches these events.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::transformactionEnabled):
        (WebCore::RuntimeEnabledFeatures::setTransformActionEnabled):
        (WebCore::RuntimeEnabledFeatures::ontransformactionstartEnabled):
        (WebCore::RuntimeEnabledFeatures::ontransformactionupdateEnabled):
        (WebCore::RuntimeEnabledFeatures::ontransformactionendEnabled):
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):
        * dom/Document.cpp:
        (WebCore::Document::createEvent):
        (WebCore::Document::addListenerTypeIfNeeded):
        * dom/Document.h:
        (WebCore::Document::):
        * dom/Document.idl:
        * dom/Element.h:
        * dom/Element.idl:
        * dom/Event.cpp:
        (WebCore::Event::isTransformActionEvent):
        (WebCore::Event::fromUserGesture):
        * dom/Event.h:
        * dom/EventNames.h:
        * dom/TransformActionEvent.cpp: Added.
        (WebCore::TransformActionEvent::TransformActionEvent):
        (WebCore::TransformActionEvent::initTransformActionEvent):
        * dom/TransformActionEvent.h: Added.
        (WebCore::TransformActionEvent::create):
        (WebCore::TransformActionEvent::translateX):
        (WebCore::TransformActionEvent::translateY):
        (WebCore::TransformActionEvent::translateSpeedX):
        (WebCore::TransformActionEvent::translateSpeedY):
        (WebCore::TransformActionEvent::scale):
        (WebCore::TransformActionEvent::scaleSpeed):
        (WebCore::TransformActionEvent::rotate):
        (WebCore::TransformActionEvent::rotateSpeed):
        (WebCore::TransformActionEvent::TransformActionEvent):
        (WebCore::TransformActionEvent::isTransformActionEvent):
        * dom/TransformActionEvent.idl: Added.
        * html/HTMLAttributeNames.in:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: a number of fixes that make InspectorController
        happy with null redirects.

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

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::didReceiveResponse):
        (WebCore::InspectorController::didReceiveContentLength):
        (WebCore::InspectorController::didFinishLoading):
        (WebCore::InspectorController::didFailLoading):

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

        Not reviewed. Rolling out aggressive cache part of the r60391
        described in the bug below. It was orthogonal to the rest of
        the patch and caused regression.

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

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

2010-06-02  Darin Fisher  <darin@chromium.org>

        Reviewed by Brady Eidson.

        location.href and outgoing referrer not updated properly by
        pushState/replaceState
        https://bugs.webkit.org/show_bug.cgi?id=40027

        Tests: fast/loader/stateobjects/pushstate-updates-location.html
               fast/loader/stateobjects/replacestate-updates-location.html
               http/tests/navigation/pushstate-updates-referrer.html
               http/tests/navigation/replacestate-updates-referrer.html

        * dom/Document.cpp:
        (WebCore::Document::updateURLForPushOrReplaceState):
        Update the FrameLoader's notion of the current URL as well!

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadInSameDocument):
        Use the 'url' parameter instead of m_URL since m_URL might have
        changed during the handling of the PopState event.  Eventually,
        this will become irrelevant since the PopState event should be
        dispatched asynchronously, but just in case we patch HashChange
        to be asynchronous before PopState, this change would be needed.

2010-06-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        REGRESSION(60409): document.write is not synchronous when using the HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=40047

        The HTML5 spec states that we should "spin the event loop" while
        waiting for stylesheets to load.  Currently we do that by yielding
        out of the parser when stylesheets are loading.  Because it was easy
        we made inline <scripts> yield for stylesheet loads as well.  However,
        this caused document.write() to return after encountering the first
        inline <script> tag in many cases which is incorrect.  document.write
        is supposed to block until the entire document is parsed (including)
        executing inline script tags.  To match the exiting parser, we'll just
        make inline <script> tags not block on stylesheets for now.

        This is tested by WebCore/benchmarks/html-parser.html as well
        as likely several other tests in LayoutTests which we haven't
        triaged yet.

        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::executeScript):
         - ASSERT that either stylesheets have loaded or we're executing an
           inline <script> tag.
        (WebCore::HTML5ScriptRunner::runScript):
         - Remove the code to block inline <script> tags on stylesheet loads.

2010-06-02  MORITA Hajime  <morrita@google.com>

        Unreviewd, Chromium windows build fix.

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintProgressBar):

2010-06-02  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.
        
        [Chromium] Linux: progress bar image pieces should be painted with same resampling mode
        https://bugs.webkit.org/show_bug.cgi?id=40045

        computeResamplingMode(), used by Image::drawPattern() and
        BitmapImage::draw(), chooses an image resampling mode based on the
        size of given image and the destination rectangle. But when
        painting single component (i.e. a progress bar) from multiple
        images, it can choose different resampling modes for images of
        same component. That difference creates unexpected visual artifacts
        like seams between images of single component.
        
        This change introduced "image resampling hint" to allow callers to
        control the resampling mode. Using the hint,
        RenderThemeChromiumSkia now able to hold same resampling mode
        during draw a progress bar.
        
        No new tests. Expectations will come after ENABLE_PROGRESS_BAR get
        enabled on chromium.
        
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::computeResamplingMode):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::save):        
        (PlatformContextSkia::setImageResamplingHint): Added
        (PlatformContextSkia::clearImageResamplingHint): Added
        (PlatformContextSkia::hasImageResamplingHint): Added
        (PlatformContextSkia::imageResamplingHint): Added
        * platform/graphics/skia/PlatformContextSkia.h:
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintProgressBar):

2010-06-03  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        [Chromium] Support HTML5 <progress> element on Linux.
        https://bugs.webkit.org/show_bug.cgi?id=37310
        
        Implemented RenderThemeChromiumSkia::paintProgressBar(), extracing
        determinateProgressValueRectFor() from RenderThemeChromiumWin to
        RenderThemeChromiumSkia
        
        No new tests. Expectations will come after ENABLE_PROGRESS_BAR get
        enabled on chromium.

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::determinateProgressValueRectFor):
        (WebCore::RenderThemeChromiumSkia::indeterminateProgressValueRectFor):
        (WebCore::RenderThemeChromiumSkia::animationRepeatIntervalForProgressBar):
        (WebCore::RenderThemeChromiumSkia::animationDurationForProgressBar):
        (WebCore::RenderThemeChromiumSkia::paintProgressBar):
        (WebCore::RenderThemeChromiumSkia::progressValueRectFor):
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintProgressBar):

2010-06-02  Nico Weber  <thakis@chromium.org>

        Reviewed by Simon Fraser.

        Scroll events are sent twice per keypress for ports that don't have a platformWidget scrollbar
        https://bugs.webkit.org/show_bug.cgi?id=39918

        This was regressed by http://trac.webkit.org/changeset/58615 . Fix this by slightly tweaking
        that patch.

        Test: editing/input/page-up-down-scrolls.html

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollPositionChanged):
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::valueChanged):
        * platform/ScrollView.h:
        (WebCore::ScrollView::repaintFixedElementsAfterScrolling):

2010-06-02  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: use platform-specific key designations in shortcuts help for mac
        https://bugs.webkit.org/show_bug.cgi?id=39158

        * inspector/front-end/KeyboardShortcut.js:
        (WebInspector.KeyboardShortcut.shortcutToString):
        (WebInspector.KeyboardShortcut._keyName):
        (WebInspector.KeyboardShortcut._modifiersToString):
        * inspector/front-end/inspector.js:
        (WebInspector._registerShortcuts):

2010-06-02  Kenneth Russell  <kbr@google.com>

        Reviewed by Darin Fisher.

        Enable WebGL on more platforms even if accelerated compositing is disabled
        https://bugs.webkit.org/show_bug.cgi?id=40085

        Conditionalize the code which prevents a WebGL rendering context
        from being created if accelerated compositing is disabled.
        Currently Chromium is the only port which will create a context if
        accelerated compositing is disabled; other ports may opt in to
        this code path if desired.

        Tested with existing WebGL layout tests in Safari and Chromium on
        Mac OS X.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):

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

        Unreviewed, rolling out r60580.
        http://trac.webkit.org/changeset/60580
        https://bugs.webkit.org/show_bug.cgi?id=40087

        This broke dragging links if the selection was in a
        contentEditable element. (Requested by arv on #webkit).

        * page/FocusController.cpp:
        (WebCore::clearSelectionIfNeeded):

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

        Reviewed by Ojan Vafai.

        REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
        https://bugs.webkit.org/show_bug.cgi?id=38548

        Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html

        * page/FocusController.cpp:
        (WebCore::clearSelectionIfNeeded):

2010-06-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        Just disable the current version of multi-column layout completely when the new
        pagination model is in effect.

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

2010-06-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        Turn off unforced page breaking at paint time when the new page breaking model is being used.

        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::paint):

2010-06-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        Don't check page break properties at paint time if we're using the new page breaking model.

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

2010-06-02  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] Fix an infinite recursion crash when trying to wrap
        media elements without a media player.

        No test because there isn't a good way to ensure the media player
        is off.

        * dom/make_names.pl: Call, e.g., V8HTMLElement::wrap(HTMLElement*)
          instead of toV8(HTMLElement*).

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

        Reviewed by Darin Adler.

        Notification object ref counting is not correct.
        https://bugs.webkit.org/show_bug.cgi?id=39998

        Return PassRefPtr<Notification> instead of a raw pointer from the create methods
        for Web Notifications. 

        No new tests are needed, as existing tests show the problem when sending the 
        "display" event asynchronously.

        * notifications/Notification.h:
        (WebCore::Notification::create):
        * notifications/NotificationCenter.h:
        (WebCore::NotificationCenter::createHTMLNotification):
        (WebCore::NotificationCenter::createNotification):

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: add Console API for retrieving memory stats

        Add 'console.memory' property which returns an object. Currently
        it has two fields: totalJSHeapSize and usedJSHeapSize. Later, it can be
        extended for reporting total browser's memory consumption.

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

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::memory):
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::memoryAccessorGetter):
        * page/Console.h:
        * page/Console.idl:
        * page/MemoryInfo.cpp: Added.
        (WebCore::MemoryInfo::MemoryInfo):
        * page/MemoryInfo.h: Added.
        (WebCore::MemoryInfo::create):
        (WebCore::MemoryInfo::totalJSHeapSize):
        (WebCore::MemoryInfo::usedJSHeapSize):
        * page/MemoryInfo.idl: Added.

2010-06-02  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: support "Continue to Here" in debugger
        https://bugs.webkit.org/show_bug.cgi?id=39953

        * English.lproj/localizedStrings.js:
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.setOneTimeBreakpoint):
        (WebInspector.BreakpointManager.prototype.removeOneTimeBreakpoint):
        (WebInspector.BreakpointManager.prototype.addBreakpoint):
        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView):
        (WebInspector.ScriptView.prototype._continueToLine):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.continueToLine):
        (WebInspector.ScriptsPanel.prototype.debuggerPaused):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView):
        (WebInspector.SourceView.prototype._continueToLine):
        (WebInspector.SourceView.prototype.updateLocalContent):

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

        Unreviewed, rolling out r60563.
        http://trac.webkit.org/changeset/60563
        https://bugs.webkit.org/show_bug.cgi?id=39646

        windows build failed

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSConsoleCustom.cpp:
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        * page/Console.h:
        * page/Console.idl:
        * page/MemoryInfo.cpp: Removed.
        * page/MemoryInfo.h: Removed.
        * page/MemoryInfo.idl: Removed.

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: add Console API for retrieving memory stats

        Add 'console.memory' property which returns an object. Currently
        it has two fields: totalJSHeapSize and usedJSHeapSize. Later, it can be
        extended for reporting total browser's memory consumption.

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

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::memory):
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::memoryAccessorGetter):
        * page/Console.h:
        * page/Console.idl:
        * page/MemoryInfo.cpp: Added.
        (WebCore::MemoryInfo::MemoryInfo):
        * page/MemoryInfo.h: Added.
        (WebCore::MemoryInfo::create):
        (WebCore::MemoryInfo::totalJSHeapSize):
        (WebCore::MemoryInfo::usedJSHeapSize):
        * page/MemoryInfo.idl: Added.

2010-06-02  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add test for resource parameters.

        https://bugs.webkit.org/show_bug.cgi?id=40026
        
        Test: http/tests/inspector/resource-parameters.html

        * inspector/front-end/HAREntry.js:
        (WebInspector.HAREntry.prototype._buildParameters):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype._parseParameters):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshParms):

2010-06-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix make install on Symbian for headers in package builds when INSTALL_HEADERS is not defined

        First we wrote inst_headers.output with $$[QT_INSTALL_HEADERS] and then
        overwrote it with the $$INSTALL_HEADERS variant without checking if the
        variable was set.

        Fixed and cleaned up the logic of falling back to $$[QT_INSTALL_HEADERS].

        * WebCore.pro:

2010-06-02  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Style fixes for the generated code in DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=39949

        Get rid of extra spaces and wrong indentation in the generated
        code.

        * bindings/scripts/CodeGeneratorGObject.pm:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        (webkit_dom_test_callback_callback_with_class1param):
        (webkit_dom_test_callback_callback_with_class2param):
        (webkit_dom_test_callback_callback_with_non_bool_return_type):
        (webkit_dom_test_callback_set_property):
        (webkit_dom_test_callback_get_property):
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
        (webkit_dom_test_interface_set_property):
        (webkit_dom_test_interface_get_property):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_void_method):
        (webkit_dom_test_obj_void_method_with_args):
        (webkit_dom_test_obj_int_method):
        (webkit_dom_test_obj_int_method_with_args):
        (webkit_dom_test_obj_obj_method):
        (webkit_dom_test_obj_obj_method_with_args):
        (webkit_dom_test_obj_method_that_requires_all_args):
        (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
        (webkit_dom_test_obj_serialized_value):
        (webkit_dom_test_obj_method_with_exception):
        (webkit_dom_test_obj_with_dynamic_frame):
        (webkit_dom_test_obj_with_dynamic_frame_and_arg):
        (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
        (webkit_dom_test_obj_with_script_state_void):
        (webkit_dom_test_obj_with_script_state_obj):
        (webkit_dom_test_obj_with_script_state_void_exception):
        (webkit_dom_test_obj_with_script_state_obj_exception):
        (webkit_dom_test_obj_method_with_optional_arg):
        (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
        (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
        (webkit_dom_test_obj_get_read_only_int_attr):
        (webkit_dom_test_obj_get_read_only_string_attr):
        (webkit_dom_test_obj_get_read_only_test_obj_attr):
        (webkit_dom_test_obj_get_int_attr):
        (webkit_dom_test_obj_set_int_attr):
        (webkit_dom_test_obj_get_long_long_attr):
        (webkit_dom_test_obj_set_long_long_attr):
        (webkit_dom_test_obj_get_unsigned_long_long_attr):
        (webkit_dom_test_obj_set_unsigned_long_long_attr):
        (webkit_dom_test_obj_get_string_attr):
        (webkit_dom_test_obj_set_string_attr):
        (webkit_dom_test_obj_get_test_obj_attr):
        (webkit_dom_test_obj_set_test_obj_attr):
        (webkit_dom_test_obj_get_attr_with_exception):
        (webkit_dom_test_obj_set_attr_with_exception):
        (webkit_dom_test_obj_get_attr_with_setter_exception):
        (webkit_dom_test_obj_set_attr_with_setter_exception):
        (webkit_dom_test_obj_get_attr_with_getter_exception):
        (webkit_dom_test_obj_set_attr_with_getter_exception):
        (webkit_dom_test_obj_get_script_string_attr):
        (webkit_dom_test_obj_set_property):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:

2010-06-02  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Added conversion of inspector's resource representation into HAR.
        Moved common resource accessors from ResourceView to Resource.
        https://bugs.webkit.org/show_bug.cgi?id=30567

        Test: http/tests/inspector/resource-har-conversion.html

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/HAREntry.js: Added.
        (WebInspector.HAREntry):
        (WebInspector.HAREntry.prototype.build):
        (WebInspector.HAREntry.prototype._buildRequest):
        (WebInspector.HAREntry.prototype._buildResponse):
        (WebInspector.HAREntry.prototype._buildContent):
        (WebInspector.HAREntry.prototype._buildTimings):
        (WebInspector.HAREntry.prototype._buildHeaders):
        (WebInspector.HAREntry.prototype._buildPostData):
        (WebInspector.HAREntry.prototype._buildParameters):
        (WebInspector.HAREntry.prototype._buildParameter):
        (WebInspector.HAREntry.prototype._toMilliseconds):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.prototype.set url):
        (WebInspector.Resource.prototype.get receiveDuration):
        (WebInspector.Resource.prototype.requestHeaderValue):
        (WebInspector.Resource.prototype.get requestFormData):
        (WebInspector.Resource.prototype.set requestFormData):
        (WebInspector.Resource.prototype.responseHeaderValue):
        (WebInspector.Resource.prototype.get queryParameters):
        (WebInspector.Resource.prototype.get formParameters):
        (WebInspector.Resource.prototype._parseParameters):
        (WebInspector.Resource.prototype._headerValue):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshQueryString):
        (WebInspector.ResourceView.prototype._refreshFormData):
        (WebInspector.ResourceView.prototype._refreshParms):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

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

        Unreviewed, rolling out r60547.
        http://trac.webkit.org/changeset/60547
        https://bugs.webkit.org/show_bug.cgi?id=40051

        It made fast/overflow/overflow-with-local-background-
        attachment.html crash (Requested by Ossy on #webkit).

        * notifications/Notification.h:
        (WebCore::Notification::create):
        * notifications/NotificationCenter.h:
        (WebCore::NotificationCenter::createHTMLNotification):
        (WebCore::NotificationCenter::createNotification):

2010-06-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5 parser does not track line numbers
        https://bugs.webkit.org/show_bug.cgi?id=39984

        This adds rudimentary line-number tracking to the HTML5Lexer.
        We'll still need to handle \r\n cases eventually, but this
        fixes the vast majority of our line-number related failures.

        Fixes 268 layout tests. :)

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::reset):
         - Reset m_lineNumber to 0.
        (WebCore::HTML5Lexer::consumeEntity):
         - Pass m_lineNumber to advance().
        (WebCore::HTML5Lexer::nextToken):
         - Pass m_lineNumber to advance().
        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::lineNumber):
         - Expose m_lineNumber for HTML5Tokenizer.
        (WebCore::HTML5Lexer::columnNumber):
         - Mirrors the implementation in the old HTMLTokenizer.
           we might some day support column number tracking in
           the Lexer.  It certainly would be possible.
        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
         - ASSERT we're passed a host.
        (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
         - Use PendingScript.startingLineNumber when PendingScript is an inline script.
        (WebCore::HTML5ScriptRunner::execute):
         - Now expects a start line number passed from the TreeBuilder.
        (WebCore::HTML5ScriptRunner::runScript):
         - Now expects a start line number.
        * html/HTML5ScriptRunner.h:
        (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
         - Track startingLineNumber for any inline script.
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::begin):
         - Add a FIXME.  The old HTMLTokenizer resets its "lexer" state here.
        (WebCore::HTML5Tokenizer::pumpLexer):
         - Pass scriptStartLine to the HTML5ScriptRunner
        (WebCore::HTML5Tokenizer::lineNumber):
         - Implementation for Tokenizer.h
        (WebCore::HTML5Tokenizer::columnNumber):
         - Implementation for Tokenizer.h
        * html/HTML5Tokenizer.h:
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
         - Initialize the new line number tracking variables.
        (WebCore::HTML5TreeBuilder::handleScriptEndTag):
         - Save off the line number from the start tag to pass to the ScriptRunner.
        (WebCore::HTML5TreeBuilder::takeScriptToProcess):
         - Return the line number from the start tag.
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
         - Save off the line number of ever script start tag we see.
        * html/HTML5TreeBuilder.h:
         - Keep both the line number of the last start tag, and the
           line number of the script we know we're expecting our caller to
           run before resuming parsing.  These are separate to keep the code
           clean, especially since the last script start tag line number is
           a hack specific to using the old HTMLParser.

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

        Reviewed by Pavel Feldman.

        Web Inspector: Timeline should nicely format the Timer timeout
        https://bugs.webkit.org/show_bug.cgi?id=40040

        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): Format the Timer's timeout time.

2010-06-02  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Dimitri Glazkov.

        [Chromium] Clamp dirtyRect updates of composited layer contents to the size
        of the layer to avoid writing outside texture bounds.
        https://bugs.webkit.org/show_bug.cgi?id=40030

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::updateTextureContents):

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

        Reviewed by Darin Adler.

        Notification object ref counting is not correct.
        https://bugs.webkit.org/show_bug.cgi?id=39998

        Return PassRefPtr<Notification> instead of a raw pointer from the create methods
        for Web Notifications. 

        No new tests are needed, as existing tests show the problem when sending the 
        "display" event asynchronously.

        * notifications/Notification.h:
        (WebCore::Notification::create):
        * notifications/NotificationCenter.h:
        (WebCore::NotificationCenter::createHTMLNotification):
        (WebCore::NotificationCenter::createNotification):

2010-06-02  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Dirk Schulze.

        [Qt] Image shadow doesn't work
        https://bugs.webkit.org/show_bug.cgi?id=37804

        Implement the code for image shadow

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

2010-06-02  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Darin Fisher.

        Adding the precision qualifier to fragment shaders used by the GL
        compositor in chromium to turn them into valid GLSL ES.
        https://bugs.webkit.org/show_bug.cgi?id=40022

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

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

        Reviewed by David Levin.

        Fix type qualifier is meaningless on cast type in SVGFEColorMatrixElement::build
        https://bugs.webkit.org/show_bug.cgi?id=40015

        No new tests as there is no new functionality.

        Remove const from the cast type.

        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::build):

2010-06-02  Sterling Swigart  <sswigart@google.com>

        Reviewed by David Levin.

        Image Resizer Patch 0: Added compilation argument to conditionally compile pending patches.
        https://bugs.webkit.org/show_bug.cgi?id=39906

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * WebCore.pri:

2010-06-01  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG repaintRect should be empty if content got clipped away
        https://bugs.webkit.org/show_bug.cgi?id=39965
        
        The SVG repaintRect of the renderer was not empty, if the content got clipped away.
        The MaskerData/ClipperData <-> RenderObject mapping is set up during the layout phase now, to be able to
        relayout a RenderObject, if it's repaintRect is empty. This has the following reason:
        We apply the object to the resource on painting at the moment.
        With an empty repaintRect, paint() quits earlier and therefore the object doesn't get applied to the resource.
        This can cause problems, if the resource get changed by animations or scripts.
        On a change, the resource tells all it's callers to relayout.
        If the reference to the caller (our RenderObject) is missing, the object won't ever update
        and therefore won't get drawn.
        We already have LayoutTests that cover this problem. The complete repaintRect calculation
        (including the smallest clipping area and shadow size calculation) moved from the renderers to SVGRenderSupport.
        This eliminates redundant code.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::updateCachedBoundaries):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
        * rendering/RenderSVGResource.h:
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
        * rendering/RenderSVGResourceClipper.h:
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
        * rendering/RenderSVGResourceFilter.h:
        * rendering/RenderSVGResourceGradient.h:
        (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
        * rendering/RenderSVGResourceMarker.h:
        (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.h:
        * rendering/RenderSVGResourcePattern.h:
        (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
        * rendering/RenderSVGResourceSolidColor.h:
        (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::strokeBoundingBox):
        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::intersectRepaintRectWithResources):
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeResources):
        * rendering/style/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::hasClipper):
        (WebCore::SVGRenderStyle::hasMasker):
        (WebCore::SVGRenderStyle::hasFilter):

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

        Unreviewed, rolling out r60539.
        http://trac.webkit.org/changeset/60539
        https://bugs.webkit.org/show_bug.cgi?id=40043

        Accidentally added an unreviewed and invalid change to the
        patch. (Requested by krit on #webkit).

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::updateCachedBoundaries):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
        * rendering/RenderSVGResource.h:
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
        * rendering/RenderSVGResourceClipper.h:
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
        * rendering/RenderSVGResourceFilter.h:
        * rendering/RenderSVGResourceGradient.h:
        (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
        * rendering/RenderSVGResourceMarker.h:
        (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.h:
        * rendering/RenderSVGResourcePattern.h:
        (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
        * rendering/RenderSVGResourceSolidColor.h:
        (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::strokeBoundingBox):
        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
        (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
        (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeResources):
        * rendering/style/SVGRenderStyle.h:
        * svg/SVGColor.cpp:
        (WebCore::SVGColor::colorFromRGBColorString):

2010-06-01  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG repaintRect should be empty if content got clipped away
        https://bugs.webkit.org/show_bug.cgi?id=39965
        
        The SVG repaintRect of the renderer was not empty, if the content got clipped away.
        The MaskerData/ClipperData <-> RenderObject mapping is set up during the layout phase now, to be able to
        relayout a RenderObject, if it's repaintRect is empty. This has the following reason:
        We apply the object to the resource on painting at the moment.
        With an empty repaintRect, paint() quits earlier and therefore the object doesn't get applied to the resource.
        This can cause problems, if the resource get changed by animations or scripts.
        On a change, the resource tells all it's callers to relayout.
        If the reference to the caller (our RenderObject) is missing, the object won't ever update
        and therefore won't get drawn.
        We already have LayoutTests that cover this problem. The complete repaintRect calculation
        (including the smallest clipping area and shadow size calculation) moved from the renderers to SVGRenderSupport.
        This eliminates redundant code.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::updateCachedBoundaries):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
        * rendering/RenderSVGResource.h:
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
        * rendering/RenderSVGResourceClipper.h:
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
        * rendering/RenderSVGResourceFilter.h:
        * rendering/RenderSVGResourceGradient.h:
        (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
        * rendering/RenderSVGResourceMarker.h:
        (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.h:
        * rendering/RenderSVGResourcePattern.h:
        (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
        * rendering/RenderSVGResourceSolidColor.h:
        (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::strokeBoundingBox):
        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::intersectRepaintRectWithResources):
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeResources):
        * rendering/style/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::hasClipper):
        (WebCore::SVGRenderStyle::hasMasker):
        (WebCore::SVGRenderStyle::hasFilter):

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

        Unreviewed, rolling out r60530.
        http://trac.webkit.org/changeset/60530
        https://bugs.webkit.org/show_bug.cgi?id=40041

        resource-har-conversion failed on GTK (Requested by abarth on
        #webkit).

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/HAREntry.js: Removed.
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.prototype.set url):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshQueryString):
        (WebInspector.ResourceView.prototype._refreshFormData):
        (WebInspector.ResourceView.prototype._refreshParms):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2010-06-01  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] GraphicsLayer: warnings when reloading page
        https://bugs.webkit.org/show_bug.cgi?id=39694

        Made sure recaching and masks aren't attempted on zero-size layers.

        No new tests. Old tests (e.g. LayoutTests/compositing/masks) show the problem.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::MaskEffectQt::draw):
        (WebCore::GraphicsLayerQtImpl::recache):

2010-06-01  anton muhin  <antonm@google.com>

        Reviewed by Nate Chapin.

        [Chromium] enforce presence of named property query callback if named property enumerator is present
        https://bugs.webkit.org/show_bug.cgi?id=40006
        We need to be able to distinguish between enumerable and not enumerable properties
        in the presence of named interceptor.  V8 is migrating to use query
        callback to report enumerable properties and fallback check---
        using getter callback---would report properties as not enumerable.
        Thus if there is an enumerator callback, there should be query callback as well.
        (see V8's r4751).

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8NPObject.cpp:
        (WebCore::npObjectQueryProperty):
        (WebCore::createV8ObjectForNPObject):
        * bindings/v8/custom/V8StorageCustom.cpp:
        (WebCore::V8Storage::namedPropertyQuery):

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

        Reviewed by Pavel Feldman.

        WebInspector: Added conversion of inspector's resource representation into HAR.
        Moved common resource accessors from ResourceView to Resource.
        https://bugs.webkit.org/show_bug.cgi?id=30567

        Test: http/tests/inspector/resource-har-conversion.html

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/HAREntry.js: Added.
        (WebInspector.HAREntry):
        (WebInspector.HAREntry.prototype.build):
        (WebInspector.HAREntry.prototype._buildRequest):
        (WebInspector.HAREntry.prototype._buildResponse):
        (WebInspector.HAREntry.prototype._buildContent):
        (WebInspector.HAREntry.prototype._buildTimings):
        (WebInspector.HAREntry.prototype._buildHeaders):
        (WebInspector.HAREntry.prototype._buildPostData):
        (WebInspector.HAREntry.prototype._buildParameters):
        (WebInspector.HAREntry.prototype._buildParameter):
        (WebInspector.HAREntry.prototype._toMilliseconds):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.prototype.set url):
        (WebInspector.Resource.prototype.get receiveDuration):
        (WebInspector.Resource.prototype.requestHeaderValue):
        (WebInspector.Resource.prototype.get requestFormData):
        (WebInspector.Resource.prototype.set requestFormData):
        (WebInspector.Resource.prototype.responseHeaderValue):
        (WebInspector.Resource.prototype.get queryParameters):
        (WebInspector.Resource.prototype.get formParameters):
        (WebInspector.Resource.prototype._parseParameters):
        (WebInspector.Resource.prototype._headerValue):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshQueryString):
        (WebInspector.ResourceView.prototype._refreshFormData):
        (WebInspector.ResourceView.prototype._refreshParms):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

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

        Reviewed by Kenneth Rohde Christiansen.

        Fix "variable may be used before being set" warning in TextResourceDecoder::checkForHeadCharset
        https://bugs.webkit.org/show_bug.cgi?id=40001

        No new tests as there is no new functionality.

        Initialize len to 0 just to eliminate the compiler warning.

        * loader/TextResourceDecoder.cpp:
        (WebCore::TextResourceDecoder::checkForHeadCharset):

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

        Reviewed by Pavel Feldman.

        WebInspector: Safari specific files InspectorFrontendClientLocal were removed from chromium project.
        https://bugs.webkit.org/show_bug.cgi?id=39993

        * WebCore.gypi:

2010-06-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Fix broken code generation in GenerateParametersCheckExpression.
        https://bugs.webkit.org/show_bug.cgi?id=39960

        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/test/JS/JSTestObj.cpp: Updated baseline.

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

        Rubber-stamped by Adam Roben.

        Remove Breakpoint.js. It was emptied in r60450 but for some reason it was not
        deleted at that time. The presence of empty files within the inspector's resource
        folder causes Mac OS X production builds to fail.

        * inspector/front-end/Breakpoint.js: Removed.

2010-05-24  James Hawkins  <jhawkins@chromium.org>

        Reviewed by Darin Fisher.

        Added ability for PopupMenuClient to signal when
        * selection changed, and
        * selection cleared.

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

        No new tests because this functionality is intentionally hidden from
        everything other than renderer.

        * platform/PopupMenuClient.h:
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::selectIndex):
        (WebCore::PopupListBox::clearSelection):
        * rendering/RenderMenuList.h:
        (WebCore::RenderMenuList::RenderMenuList::selectionChanged):
        (WebCore::RenderMenuList::RenderMenuList::selectionCleared):
        * rendering/RenderTextControlSingleLine.h:
        (WebCore::RenderTextControlSingleLine::selectionChanged):
        (WebCore::RenderTextControlSingleLine::selectionCleared):

2010-06-01  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Check if a database needs to be auto-vacuumed only after transactions that have deleted something.
        https://bugs.webkit.org/show_bug.cgi?id=39688

        * storage/Database.cpp:
        (WebCore::Database::resetDeletes):
        (WebCore::Database::hadDeletes):
        * storage/Database.h:
        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::resetDeletes):
        (WebCore::DatabaseAuthorizer::dropTable):
        (WebCore::DatabaseAuthorizer::dropTempTable):
        (WebCore::DatabaseAuthorizer::dropIndex):
        (WebCore::DatabaseAuthorizer::dropTempIndex):
        (WebCore::DatabaseAuthorizer::dropTrigger):
        (WebCore::DatabaseAuthorizer::dropTempTrigger):
        (WebCore::DatabaseAuthorizer::dropView):
        (WebCore::DatabaseAuthorizer::dropTempView):
        (WebCore::DatabaseAuthorizer::dropVTable):
        (WebCore::DatabaseAuthorizer::allowDelete):
        (WebCore::DatabaseAuthorizer::updateDeletesBasedOnTableName): Added.
        * storage/DatabaseAuthorizer.h:
        (WebCore::DatabaseAuthorizer::hadDeletes):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::openTransactionAndPreflight):
        (WebCore::SQLTransaction::postflightAndCommit):

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

        Reviewed by Anders Carlsson.

        Add a preference for paginating during layout (the new model for computing page breaks).

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setPaginateDuringLayoutEnabled):
        (WebCore::Settings::paginateDuringLayoutEnabled):

2010-06-01  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Clean up the DB classes in preparation for a bigger refactoring.
        https://bugs.webkit.org/show_bug.cgi?id=39041

        * storage/ChangeVersionWrapper.cpp:
        * storage/ChangeVersionWrapper.h:
        * storage/Database.cpp:
        (WebCore::Database::Database):
        (WebCore::Database::lastActionChangedDatabase):
        (WebCore::Database::lastActionWasInsert):
        (WebCore::Database::inProgressTransactionCompleted):
        (WebCore::Database::securityOrigin):
        * storage/Database.h:
        (WebCore::Database::sqliteDatabase):
        (WebCore::Database::databaseDebugName):
        * storage/DatabaseTask.cpp:
        (WebCore::DatabaseTransactionTask::doPerformTask):
        * storage/DatabaseTask.h:
        * storage/SQLStatement.cpp:
        (WebCore::SQLStatement::execute):
        * storage/SQLStatement.h:
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::SQLTransaction):
        (WebCore::SQLTransaction::openTransactionAndPreflight):
        (WebCore::SQLTransaction::runStatements):
        (WebCore::SQLTransaction::runCurrentStatement):
        (WebCore::SQLTransaction::postflightAndCommit):
        (WebCore::SQLTransaction::cleanupAfterSuccessCallback):
        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
        * storage/SQLTransaction.h:

2010-06-01  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Nikolas Zimmermann.

        Large SVG rect with shadow fails to render
        https://bugs.webkit.org/show_bug.cgi?id=38851

        Store intermediate shadow calculation in floats to prevent integer overflow.

        Test: svg/filters/shadow-on-rect-large.svg

        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::getSVGShadowExtent):
        (WebCore::SVGRenderStyle::inflateForShadow):

2010-06-01  Jer Noble  <jer.noble@apple.com>

        Reviewed by Sam Weinig.

        QuickTime 7.6.4 + Safari Nightly = Crash
        https://bugs.webkit.org/show_bug.cgi?id=40019
        rdar://problem/8035443
        
        Check the return value of QTCFPropertyListCreateXMLData before calling CFDataGetLength().

        * platform/graphics/win/QTCFDictionary.cpp:
        (QTCFDictionaryCreateCopyWithDataCallback):

2010-06-01  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Dirk Schulze.

        Manipulating SVG element attributes in Javascript does not work as expected
        https://bugs.webkit.org/show_bug.cgi?id=34328

        Reset the viewBox to be empty when removing the viewBox attribute.

        Test: svg/custom/svg-viewBox-dynamic.html

        * svg/SVGFitToViewBox.cpp:
        (WebCore::SVGFitToViewBox::parseViewBox):
        (WebCore::SVGFitToViewBox::parseMappedAttribute):
        * svg/SVGFitToViewBox.h:
        * svg/SVGViewSpec.cpp:
        (WebCore::SVGViewSpec::setViewBoxString):
        (WebCore::SVGViewSpec::parseViewSpec):

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

        Reviewed by Beth Dakin.

        AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
        https://bugs.webkit.org/show_bug.cgi?id=39324
 
        There are some parameters that super handles that are not explicitly returned by the list of the element's attributes.
        In those cases, super should handle.

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

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

        Reviewed by Beth Dakin.

        https://bugs.webkit.org/show_bug.cgi?id=15550, complete implementation of column-span.  Add support for nested column
        spans.  When a column span is nested inside multiple enclosing blocks, the blocks have to be split around the column-span.
        We do this using block element continuations, the same kind of solution we employed for blocks inside inlines.
        
        The code for block continuations is very similar to the code for inline continuations.  It may be possible to refactor the
        code into RenderBoxModelObject so that more of it can be shared, but this first pass avoids that so as not to risk
        causing any regressions in core rendering.

        Note also that - just as with inline continuations - you can't unsplit block continuations yet.  There is no technical limitation
        here... the functions just need to be written to handle it.
        
        Added new tests in fast/multicol/span.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::styleDidChange):
        (WebCore::RenderBlock::continuationBefore):
        (WebCore::RenderBlock::addChildToContinuation):
        (WebCore::RenderBlock::containingColumnsBlock):
        (WebCore::RenderBlock::clone):
        (WebCore::RenderBlock::splitBlocks):
        (WebCore::RenderBlock::splitFlow):
        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
        (WebCore::RenderBlock::columnsBlockForSpanningElement):
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
        (WebCore::RenderBlock::addChild):
        (WebCore::RenderBlock::addChildIgnoringContinuation):
        (WebCore::RenderBlock::blockElementContinuation):
        (WebCore::RenderBlock::layoutColumns):
        * rendering/RenderBlock.h:

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

        Build fix.

        Hopefully, touching WebCore.base.exp will actually rebuild the export file.

        * WebCore.Geolocation.exp:
        * WebCore.base.exp:

2010-06-01  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Execute void callbacks in the context they were created in.
        https://bugs.webkit.org/show_bug.cgi?id=39145

        * bindings/v8/custom/V8CustomVoidCallback.cpp:
        (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
        (WebCore::V8CustomVoidCallback::handleEvent):
        * bindings/v8/custom/V8CustomVoidCallback.h:

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

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=39434
        REGRESSION (r59811): Geolocation callbacks cannot be created

        * DerivedSources.make: Don't append both WebCore.Geolocation.exp and WebCore.ClientBasedGeolocation.exp,
        they are mutually exclusive.

        * WebCore.Geolocation.exp: Touched to force .exp file rebuild.

        * WebCore.xcodeproj/project.pbxproj: Removed GeolocationService related files.

        * bindings/js/JSGeolocationCustom.cpp:
        (WebCore::createPositionCallback): Functions defined in JavaScript code no longer inherit
        from InternalFunction, they inherit from JSFunction. This check is still imperfect, because
        it's not clear what definition of "function" should really be used, if any - other bindings
        code never checks callback type.
        (WebCore::createPositionErrorCallback): Ditto.

        * page/Geolocation.h: Don't include GeolocationService.h unless it's going to be used.

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

        Reviewed by Darin Fisher.

        IndexedDB cleanup
        https://bugs.webkit.org/show_bug.cgi?id=40007

        Remove the exception code parameter since this function can no longer
        cause an exception.

        * storage/IDBObjectStoreRequest.idl:
        * storage/IndexedDatabase.h:
        * storage/IndexedDatabaseImpl.cpp:
        (WebCore::IndexedDatabaseImpl::open):
        * storage/IndexedDatabaseImpl.h:
        * storage/IndexedDatabaseRequest.cpp:
        (WebCore::IndexedDatabaseRequest::open):
        * storage/IndexedDatabaseRequest.h:
        * storage/IndexedDatabaseRequest.idl:

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

        Reviewed by Xan Lopez.

        [GTK] Double clicks cause three button press events
        https://bugs.webkit.org/show_bug.cgi?id=38853

        Add GOwnPtr wrapper for GdkEvent and expose a setter for
        PlatformMouseEvent::m_clickCount.

        * GNUmakefile.am: Add GOwnPtrGtk.{cpp,h} to the sources list.
        * platform/PlatformMouseEvent.h: 
        (WebCore::PlatformMouseEvent::setClickCount): Added.
        * platform/gtk/GOwnPtrGtk.cpp: Added.
        (WTF::GdkEvent):
        * platform/gtk/GOwnPtrGtk.h: Added.

2010-06-01  Adam Langley  <agl@chromium.org>

        Reviewed by Eric Seidel.

        [chromium] respect the user's embedded bitmap settings on Linux.

        We plumbed everything through Skia and Chrome, but forgot to connect
        the two wires inside WebCore.

        (Note: no layout test because test_shell forces this option off. Also,
         the test font which triggers this behaviour is 32MB.)

        https://bugs.webkit.org/show_bug.cgi?id=39894
        http://code.google.com/p/chromium/issues/detail?id=21149

        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::setupPaint):

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

        Reviewed by Laszlo Gombos.

        [Qt] Fix installation of the QtWebKit module .pri file when building inside of Qt

        * WebCore.pro:

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

        Reviewed by Simon Hausmann.

        [Qt] Fix a QtWebKit.pc corruption problem.
        https://bugs.webkit.org/show_bug.cgi?id=36826

        The problem occurs while installing QtWebKit from trunk
        or a source package.

        * WebCore.pro:

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

        Reviewed by Laszlo Gombos.

        [Qt] Fix Symbian package dependencies of apps against QtWebKit when installing into Qt

        Install the versioning qt_webkit_version.pri into $$[QMAKE_MKSPECS]/modules, which is
        where mkspecs/features/qt.prf expects it.

        * WebCore.pro:

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

        Unreviewed, rolling out r60470.
        http://trac.webkit.org/changeset/60470
        https://bugs.webkit.org/show_bug.cgi?id=39990

        Need to rollout until bot can be updated (Requested by jorlow
        on #webkit).

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::namedPropertyDeleter):
        (WebCore::V8HTMLDocument::namedPropertyGetter):
        (WebCore::V8HTMLDocument::indexedPropertyGetter):
        (WebCore::V8HTMLDocument::allAccessorSetter):
        (WebCore::toV8):

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

        Reviewed by Nate Chapin.

        [Chromium] get rid of named interceptor on HTMLDocument and introduce/remove accessors when named items get deleted/removed
        https://bugs.webkit.org/show_bug.cgi?id=39877

        This patch makes callbacks invoked on named items addition/removal
        install API accessors and thus there is no more need in
        named and indexed interceptors on HTMLDocument which
        speeds up invocation of methods on document.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::checkDocumentWrapper):
        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
        (WebCore::getter):
        (WebCore::V8DOMWindowShell::namedItemAdded):
        (WebCore::V8DOMWindowShell::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::WrapInShadowObject):
        (WebCore::V8HTMLDocument::GetNamedProperty):
        (WebCore::V8HTMLDocument::allAccessorSetter):
        (WebCore::toV8):

2010-06-01  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Dirk Schulze.

        Make the spot light anti-alias effect look similar to SVG expected values.
        https://bugs.webkit.org/show_bug.cgi?id=39477

        The W3 standard only mention, that the edge of the spotlight should be
        anti-aliased but it does not specify how. The provided expected values
        gives some hint about their intentions. The algorithm uses a fixed
        range, which computed as follows: let a = cos(spot light cutoff range)
        the light fades off in the [a-0.016, a] range.

        Test: svg/W3C-SVG-1.1/filters-light-04-f.svg
        Updated pixel test: svg/W3C-SVG-1.1/filters-light-01-f.svg

        * svg/graphics/filters/SVGLightSource.cpp:
        (WebCore::SpotLightSource::initPaintingData):

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

        Reviewed by Eric Seidel.

        Fix default action for EndTagOpenState
        https://bugs.webkit.org/show_bug.cgi?id=39982

        Add a test for a bogus end tag to webkit01.dat and update expected
        results now that we pass some more tests.

        Adding this test revealed a bug in resuming the bogus comment state.
        I've left these broken expectations, but I'll fix the bug in a future
        patch. (The bug existed prior to this patch, just not the test.)

        * html5lib/resources/webkit01.dat:
        * html5lib/runner-expected-html5.txt:
        * html5lib/webkit-resumer-expected-html5.txt:

2010-05-31  Lyon Chen  <liachen@rim.com>

        Reviewed by Kent Tamura.

        Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
        https://bugs.webkit.org/show_bug.cgi?id=35530

        Change enum EAlteration from { MOVE, EXTEND } to { AlterationMove, AlterationExtend } and enum EDirection { FORWARD, BACKWARD, RIGHT, LEFT} to { DirectionForward, DirectionBackward, DirectionRight, DirectionLeft } to avoid macro conflict, and also better coding style conformance.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
        (WebCore::AccessibilityRenderObject::doAXRangeForLine):
        * editing/Editor.cpp:
        (WebCore::Editor::deleteWithDirection):
        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        * editing/EditorCommand.cpp:
        (WebCore::executeDeleteBackward):
        (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter):
        (WebCore::executeDeleteForward):
        (WebCore::executeDeleteToBeginningOfLine):
        (WebCore::executeDeleteToBeginningOfParagraph):
        (WebCore::executeDeleteToEndOfLine):
        (WebCore::executeDeleteToEndOfParagraph):
        (WebCore::executeDeleteWordBackward):
        (WebCore::executeDeleteWordForward):
        (WebCore::executeForwardDelete):
        (WebCore::executeMoveBackward):
        (WebCore::executeMoveBackwardAndModifySelection):
        (WebCore::executeMoveDown):
        (WebCore::executeMoveDownAndModifySelection):
        (WebCore::executeMoveForward):
        (WebCore::executeMoveForwardAndModifySelection):
        (WebCore::executeMoveLeft):
        (WebCore::executeMoveLeftAndModifySelection):
        (WebCore::executeMovePageDown):
        (WebCore::executeMovePageDownAndModifySelection):
        (WebCore::executeMovePageUp):
        (WebCore::executeMovePageUpAndModifySelection):
        (WebCore::executeMoveRight):
        (WebCore::executeMoveRightAndModifySelection):
        (WebCore::executeMoveToBeginningOfDocument):
        (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
        (WebCore::executeMoveToBeginningOfLine):
        (WebCore::executeMoveToBeginningOfLineAndModifySelection):
        (WebCore::executeMoveToBeginningOfParagraph):
        (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
        (WebCore::executeMoveToBeginningOfSentence):
        (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
        (WebCore::executeMoveToEndOfDocument):
        (WebCore::executeMoveToEndOfDocumentAndModifySelection):
        (WebCore::executeMoveToEndOfSentence):
        (WebCore::executeMoveToEndOfSentenceAndModifySelection):
        (WebCore::executeMoveToEndOfLine):
        (WebCore::executeMoveToEndOfLineAndModifySelection):
        (WebCore::executeMoveToEndOfParagraph):
        (WebCore::executeMoveToEndOfParagraphAndModifySelection):
        (WebCore::executeMoveParagraphBackwardAndModifySelection):
        (WebCore::executeMoveParagraphForwardAndModifySelection):
        (WebCore::executeMoveUp):
        (WebCore::executeMoveUpAndModifySelection):
        (WebCore::executeMoveWordBackward):
        (WebCore::executeMoveWordBackwardAndModifySelection):
        (WebCore::executeMoveWordForward):
        (WebCore::executeMoveWordForwardAndModifySelection):
        (WebCore::executeMoveWordLeft):
        (WebCore::executeMoveWordLeftAndModifySelection):
        (WebCore::executeMoveWordRight):
        (WebCore::executeMoveWordRightAndModifySelection):
        (WebCore::executeMoveToLeftEndOfLine):
        (WebCore::executeMoveToLeftEndOfLineAndModifySelection):
        (WebCore::executeMoveToRightEndOfLine):
        (WebCore::executeMoveToRightEndOfLineAndModifySelection):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::willBeModified):
        (WebCore::SelectionController::modify):
        * editing/SelectionController.h:
        (WebCore::SelectionController::):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::modify):
        (WebCore::DOMSelection::deleteFromDocument):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleKeyboardSelectionMovement):

2010-05-31  Eric Seidel <eric@webkit.org>

        Reviewed by Adam Barth.

        REGRESSION(60409): window.onload never fires when using HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39981

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::finish):
         - The logic was just wrong here.  We should only be setting
           m_wasWaitingOnScriptsDuringFinish if isWaitingForScripts()
           is true, and we should be calling end() when it is not.
        (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
         - Add another ASSERT to catch cases like this.
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::finished):
         - Add a comment about why we don't need to call m_document->finishedParsing()

2010-05-31  Tony Chang  <tony@chromium.org>

        Reviewed by Dan Bernstein.

        REGRESSION (r58665): Infinite recursion in Position::getInlineBoxAndOffset()
        https://bugs.webkit.org/show_bug.cgi?id=39946
        
        r58665 added an infinite recursion check, but didn't take into consideration recursion between two
        Positions.  This adds a check for when
        downstreamIgnoringEditingBoundaries(p1) == p2 and upstreamIgnoringEditingBoundaries(p2) == p1

        Test: editing/selection/mixed-editability-12.html

        * dom/Position.cpp:
        (WebCore::Position::getInlineBoxAndOffset):

2010-05-31  Leo Yang  <leo.yang@torchmobile.com.cn>

        Reviewed by George Staikos.

        Fix canvas.toDataURL(type, quality, ...) to let it support quality parameter. 
        And implement it in Qt port. 
        https://bugs.webkit.org/show_bug.cgi?id=37304

        Tests: platform/qt/fast/canvas/toDataURL-jpeg-alpha.html
               platform/qt/fast/canvas/toDataURL-jpeg-primarycolors.html
               platform/qt/fast/canvas/toDataURL-jpeg-quality-basic.html
               platform/qt/fast/canvas/toDataURL-jpeg-quality-notnumber.html
               platform/qt/fast/canvas/toDataURL-jpeg-quality-outsiderange.html

        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        (WebCore::JSHTMLCanvasElement::toDataURL):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::V8HTMLCanvasElement::toDataURLCallback):
        * dom/CanvasSurface.cpp:
        (WebCore::CanvasSurface::toDataURL):
        * dom/CanvasSurface.h:
        (WebCore::CanvasSurface::toDataURL):
        * html/HTMLCanvasElement.idl:
        * platform/graphics/ImageBuffer.h:
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/haiku/ImageBufferHaiku.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/wince/ImageBufferWince.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore::ImageBuffer::toDataURL):

2010-05-31  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Add Context Menu implementation
        https://bugs.webkit.org/show_bug.cgi?id=39821

        * platform/ContextMenu.h: add port-specific attributes.
        * platform/ContextMenuItem.h: create PlatformMenuItemDescription as in
        other ports
        (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
        * platform/efl/ContextMenuEfl.cpp:implement needed methods for this
        port.
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::~ContextMenu):
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenu::setPlatformDescription):
        (WebCore::ContextMenu::releasePlatformDescription):
        * platform/efl/ContextMenuItemEfl.cpp:  implement needed methods for
        this port.
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::~ContextMenuItem):
        (WebCore::ContextMenuItem::releasePlatformDescription):
        (WebCore::ContextMenuItem::type):
        (WebCore::ContextMenuItem::setType):
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::setAction):
        (WebCore::ContextMenuItem::title):
        (WebCore::ContextMenuItem::setTitle):
        (WebCore::ContextMenuItem::platformSubMenu):
        (WebCore::ContextMenuItem::setSubMenu):
        (WebCore::ContextMenuItem::checked):
        (WebCore::ContextMenuItem::setChecked):
        (WebCore::ContextMenuItem::enabled):
        (WebCore::ContextMenuItem::setEnabled):

2010-05-31  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Classes for native serialization to JSON were implemented.
        https://bugs.webkit.org/show_bug.cgi?id=34204

        * GNUmakefile.am:
        * WebCore.Inspector.exp:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorValues.cpp: Added.
        (WebCore::escapeChar):
        (WebCore::doubleQuoteString):
        (WebCore::InspectorBaseValue::toJSONString):
        (WebCore::InspectorBaseValue::writeJSON):
        (WebCore::InspectorValue::writeJSON):
        (WebCore::InspectorString::writeJSON):
        (WebCore::InspectorObject::writeJSON):
        (WebCore::InspectorArray::writeJSON):
        * inspector/InspectorValues.h: Added.
        (WebCore::InspectorBaseValue::InspectorBaseValue):
        (WebCore::InspectorBaseValue::~InspectorBaseValue):
        (WebCore::InspectorBaseValue::null):
        (WebCore::InspectorBaseValue::):
        (WebCore::InspectorBaseValue::type):
        (WebCore::InspectorValue::create):
        (WebCore::InspectorValue::InspectorValue):
        (WebCore::InspectorValue::):
        (WebCore::InspectorString::create):
        (WebCore::InspectorString::InspectorString):
        (WebCore::InspectorObject::create):
        (WebCore::InspectorObject::~InspectorObject):
        (WebCore::InspectorObject::InspectorObject):
        (WebCore::InspectorArray::create):
        (WebCore::InspectorArray::~InspectorArray):
        (WebCore::InspectorArray::length):
        (WebCore::InspectorArray::InspectorArray):
        (WebCore::InspectorObject::setBool):
        (WebCore::InspectorObject::setNumber):
        (WebCore::InspectorObject::setString):
        (WebCore::InspectorObject::set):
        (WebCore::InspectorArray::pushBool):
        (WebCore::InspectorArray::pushNumber):
        (WebCore::InspectorArray::pushString):
        (WebCore::InspectorArray::push):

2010-05-31  Olivier Goffart <olivier.goffart@nokia.com>

        Reviewed by Oliver Hunt.

        [PATCH] compilation error with clang in JSDOMBinding.h
        https://bugs.webkit.org/show_bug.cgi?id=39945

        JSNode is only forward declared at this point. And since neither
        "wrapper" nor JSValue are type-dependent. Compilers should report errors
        at the first compilation pass.

        The fix is to move the conversion the line above, as the call to the
        function getCachedDOMNodeWrapper is type-dependent, the conversion will
        happen at template-instantiation time.

        See also http://llvm.org/bugs/show_bug.cgi?id=7244

        * bindings/js/JSDOMBinding.h:
        (WebCore::getDOMNodeWrapper):

2010-05-31  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Moved breakpoints add/remove logic to the BreakpointManager.

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

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/Breakpoint.js:
        * inspector/front-end/BreakpointManager.js: Added.
        (WebInspector.BreakpointManager):
        (WebInspector.BreakpointManager.prototype.addBreakpoint):
        (WebInspector.BreakpointManager.prototype.removeBreakpoint):
        (WebInspector.BreakpointManager.prototype.breakpointsForSourceID):
        (WebInspector.BreakpointManager.prototype.breakpointsForURL):
        (WebInspector.BreakpointManager.prototype.reset):
        (WebInspector.BreakpointManager.prototype._saveBreakpointOnBackend):
        (WebInspector.BreakpointManager.prototype._removeBreakpointFromBackend):
        (WebInspector.Breakpoint):
        (WebInspector.Breakpoint.prototype.get enabled):
        (WebInspector.Breakpoint.prototype.set enabled):
        (WebInspector.Breakpoint.prototype.get sourceText):
        (WebInspector.Breakpoint.prototype.set sourceText):
        (WebInspector.Breakpoint.prototype.get label):
        (WebInspector.Breakpoint.prototype.get id):
        (WebInspector.Breakpoint.prototype.get condition):
        (WebInspector.Breakpoint.prototype.set condition):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointsSidebarPane):
        (WebInspector.BreakpointsSidebarPane.prototype.reset):
        (WebInspector.BreakpointsSidebarPane.prototype._breakpointAdded):
        (WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved):
        (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
        * inspector/front-end/Object.js:
        (WebInspector.Object.prototype.dispatchEventToListeners):
        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype._addBreakpoint):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
        (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
        (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
        (WebInspector.ScriptsPanel.prototype.editScriptSource):
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._contextMenu):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._addBreakpoint):
        (WebInspector.SourceView.prototype._removeBreakpoint):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.restoredBreakpoint):
        (WebInspector.reset):

2010-05-31  Alexander Pavlov  <apavlov@chromium.org>

        Unreviewed, build fix.

        Add references to inspector/front-end/TabbedPane.js wherever applicable.

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

2010-05-31  Alexander Pavlov  <apavlov@chromium.org>

        Unreviewed, add a file not added in r60445.

        * inspector/front-end/TabbedPane.js: Added

2010-05-31  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Text copied from a WebView cannot be pasted into gnome-terminal
        https://bugs.webkit.org/show_bug.cgi?id=39827

        Switch all methods in Pasteboard to use the PasteboardHelper + DataObjectGtk
        approach used in other parts of WebKit GTK+.

        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::writeSelection): Switch to using PasteboardHelper.
        (WebCore::Pasteboard::writePlainText): Ditto.
        (WebCore::Pasteboard::writeURL): Ditto.
        (WebCore::Pasteboard::writeImage): Ditto.
        (WebCore::Pasteboard::clear): Small cleanup.
        (WebCore::Pasteboard::documentFragment): Switch to using PasteboardHelper.
        (WebCore::Pasteboard::plainText): Ditto.

2010-05-31  Darin Adler  <darin@apple.com>

        Updated bindings test results for change in JavaScript host calling convention change
        from 2 days ago.

        * bindings/scripts/test/JS/JSTestObj.cpp: Regenerated and inspected to see that the new
        result is correct.
        * bindings/scripts/test/JS/JSTestObj.h: Ditto.

2010-05-31  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Implement additional tabs support in ResourceView
        https://bugs.webkit.org/show_bug.cgi?id=39822

        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView):
        (WebInspector.ResourceView.prototype._selectHeadersTab):
        (WebInspector.ResourceView.prototype._innerSelectContentTab):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype.show):
        (WebInspector.SourceView.prototype.hide):
        (WebInspector.SourceView.prototype.resize):
        (WebInspector.SourceView.prototype.updateLocalContent):
        (WebInspector.SourceView.prototype.selectLocalContentTab):
        * inspector/front-end/TabbedPane.js: Added.
        (WebInspector.TabbedPane):
        (WebInspector.TabbedPane.prototype.appendTab):
        (WebInspector.TabbedPane.prototype.tabObjectForId):
        (WebInspector.TabbedPane.prototype.hideTab):
        (WebInspector.TabbedPane.prototype.selectTabById):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._getSelection):
        * inspector/front-end/inspector.html:

2010-05-31  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Implement retrieval of CSS stylesheets for source editing
        https://bugs.webkit.org/show_bug.cgi?id=39833

        Test: inspector/styles-source-offsets.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::parseSheet):
        (WebCore::CSSParser::createStyleRule):
        * css/CSSParser.h:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::getStyleSheet):
        (WebCore::InspectorBackend::getRuleRangesForStyleSheetId):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::getRuleRangesForStyleSheet):
        (WebCore::InspectorCSSStore::asCSSStyleRule):
        (WebCore::InspectorCSSStore::styleSheetForId):
        * inspector/InspectorCSSStore.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getStyleSheet):
        (WebCore::InspectorDOMAgent::getRuleRangesForStyleSheetId):
        (WebCore::InspectorDOMAgent::buildObjectForStyle):
        (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
        (WebCore::InspectorDOMAgent::buildObjectForRule):
        (WebCore::InspectorDOMAgent::getParentStyleSheet):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::didGetStyleSheet):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.CSSStyleDeclaration):

2010-05-31  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Xan Lopez.

        [GStreamer] float variables misused
        https://bugs.webkit.org/show_bug.cgi?id=38842

        Use 0.0f for float variables instead of 0.0. Also added some
        missing casts around GST_SECOND.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::playbackPosition):
        (WebCore::MediaPlayerPrivateGStreamer::duration):
        (WebCore::MediaPlayerPrivateGStreamer::currentTime):
        (WebCore::MediaPlayerPrivateGStreamer::seek):
        (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
        (WebCore::MediaPlayerPrivateGStreamer::setRate):
        (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
        (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded):
        (WebCore::MediaPlayerPrivateGStreamer::totalBytes):

2010-05-31  Steve Block  <steveblock@google.com>

        Unreviewed, rolling out r60069.
        http://trac.webkit.org/changeset/60069
        https://bugs.webkit.org/show_bug.cgi?id=39288

        Roll out r60069 while the need for Geolocation::stop() is
        investigated.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        * page/Geolocation.cpp:
        (WebCore::Geolocation::disconnectFrame):
        * page/Geolocation.h:

2010-05-31  Olivier Tilloy  <olivier@tilloy.net>

        Reviewed by Gustavo Noronha Silva.

        [Gtk] Implement RenderThemeGtk::systemColor to apply the correct colors
        from the current GTK theme.
        https://bugs.webkit.org/show_bug.cgi?id=37779

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::RenderThemeGtk):
        (WebCore::RenderThemeGtk::systemColor):
        (WebCore::RenderThemeGtk::gtkButton):
        * platform/gtk/RenderThemeGtk.h:

2010-05-31  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG Filter: Crash if parent and child elements use the same filter
        https://bugs.webkit.org/show_bug.cgi?id=39536

        If a parent and a child used the same filter, the temporary saved
        context reference got overwritten by the child. The reference is
        stored in FilterData now. FilterData depends to the target object
        and avoids overwriting any reference.

        Test: svg/filters/parent-children-with-same-filter.svg

        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
        (WebCore::RenderSVGResourceFilter::applyResource):
        (WebCore::RenderSVGResourceFilter::postApplyResource):
        * rendering/RenderSVGResourceFilter.h:

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

        Reviewed by Gustavo Noronha.

        Fix all compiler warnings.

        * plugins/gtk/gtk2xtbin.c:
        (xt_event_dispatch):
        (gtk_xtbin_get_type):
        (gtk_xtbin_set_position):
        (xt_add_focus_listener):
        (xt_remove_focus_listener):

2010-05-31  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Escape backslashes in the .pro files

        qmake in Qt 4.7 warns about unescaped backspaces and deprecates them.

        * WebCore.pro:

2010-05-31  Anton Muhin  <antonm@chromium.org>

        Reviewed by Darin Adler.

        Make NodeList getters take AtomicString instead of plain String
        https://bugs.webkit.org/show_bug.cgi?id=39892

        Those methods turn String into AtomicString later.  And this conversion
        is faster if underlying string is already atomic.
        That buys small (~2-3%) speed up for Chromium on Dromaeo DOM Core.
        I don't know if Safari benefits from it.

        * dom/Node.cpp:
        (WebCore::Node::getElementsByTagName):
        (WebCore::Node::getElementsByTagNameNS):
        * dom/Node.h:

2010-05-30  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Fix LayoutTests/fast/parser/xml-declaration-missing-ending-mark.html in HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39939

        Turns out we need to implement the bogus comment state.  :)

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):

2010-05-30  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        fast/tokenizer/write-partial-entity.html hits ASSERT SegmentedString in the HTML5 Parser
        https://bugs.webkit.org/show_bug.cgi?id=39935

        Test: fast/tokenizer/write-partial-entity.html

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::executeScript):
         - Use m_source.append(oldInsertionPoint) instead of
           oldInsertionPoint.prepend(m_source) because m_source may have had
           characters pushed onto it and prepend() does not handle that case.

2010-05-30  Lyon Chen  <liachen@rim.com>

        Reviewed by Kent Tamura.

        This is a coding style cleanup before fixing to bug 35530.

        Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
        https://bugs.webkit.org/show_bug.cgi?id=35530

        * editing/Editor.cpp:
        (WebCore::Editor::deleteWithDirection):
        (WebCore::Editor::fontForSelection):
        (WebCore::Editor::applyStyle):
        (WebCore::Editor::applyParagraphStyle):
        (WebCore::Editor::applyStyleToSelection):
        (WebCore::Editor::applyParagraphStyleToSelection):
        (WebCore::triStateOfStyleInComputedStyle):
        (WebCore::Editor::selectionStartHasStyle):
        (WebCore::Editor::selectionHasStyle):
        (WebCore::Editor::paste):
        (WebCore::Editor::ignoreSpelling):
        (WebCore::Editor::learnSpelling):
        (WebCore::findFirstMisspellingInRange):
        (WebCore::findFirstGrammarDetailInRange):
        (WebCore::findFirstBadGrammarInRange):
        (WebCore::findFirstMisspellingOrBadGrammarInRange):
        (WebCore::Editor::advanceToNextMisspelling):
        (WebCore::Editor::isSelectionMisspelled):
        (WebCore::isRangeUngrammatical):
        (WebCore::Editor::guessesForMisspelledSelection):
        (WebCore::guessesForMisspelledOrUngrammaticalRange):
        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        * editing/EditorCommand.cpp:
        (WebCore::applyCommandToFrame):
        (WebCore::executeToggleStyleInList):
        (WebCore::executeApplyParagraphStyle):
        (WebCore::executeDelete):
        (WebCore::executeForwardDelete):
        (WebCore::executeInsertLineBreak):
        (WebCore::supportedCopyCut):
        (WebCore::supportedPaste):
        (WebCore::enabledDelete):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::modifyExtendingRight):
        (WebCore::SelectionController::modifyExtendingForward):
        (WebCore::SelectionController::modifyMovingRight):
        (WebCore::SelectionController::modifyMovingForward):
        (WebCore::SelectionController::modifyExtendingLeft):
        (WebCore::SelectionController::modifyExtendingBackward):
        (WebCore::SelectionController::modifyMovingLeft):
        (WebCore::SelectionController::modifyMovingBackward):
        (WebCore::SelectionController::modify):
        (WebCore::SelectionController::xPosForVerticalArrowNavigation):
        (WebCore::SelectionController::debugRenderer):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        (WebCore::TypingCommand::insertLineBreak):
        (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
        (WebCore::TypingCommand::insertParagraphSeparator):
        (WebCore::TypingCommand::doApply):
        (WebCore::TypingCommand::insertText):
        (WebCore::TypingCommand::updatePreservesTypingStyle):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::handleMouseReleaseEvent):
        (WebCore::EventHandler::selectCursor):
        (WebCore::EventHandler::canHandleDragAndDropForTarget):
        (WebCore::EventHandler::dispatchMouseEvent):
        (WebCore::EventHandler::sendContextMenuEvent):
        (WebCore::EventHandler::handleKeyboardSelectionMovement):
        (WebCore::EventHandler::handleDrag):

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

        Unreviewed, attempt to fix the build after http://trac.webkit.org/changeset/60418.

        * html/HTMLFormControlElement.h:
        (WebCore::HTMLFormControlElement::isEnabledFormControl):
        (WebCore::HTMLFormControlElement::isReadOnlyFormControl):
        (WebCore::HTMLFormControlElement::isFormControlElement):
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::isPasswordField):

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

        Reviewed by Sam Weinig.

        Make more HTML DOM members private, especially constructors, third and final batch
        https://bugs.webkit.org/show_bug.cgi?id=39916

        * dom/Document.cpp:
        (WebCore::Document::implicitClose):
        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::createDeletionUI):
        * editing/EditorCommand.cpp:
        (WebCore::executeInsertHorizontalRule):
        (WebCore::executeInsertImage):
        * editing/htmlediting.cpp:
        (WebCore::createDefaultParagraphElement):
        (WebCore::createListItemElement):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError):
        (WebCore::HTMLParser::headCreateErrorCheck):
        (WebCore::HTMLParser::formCreateErrorCheck):
        (WebCore::HTMLParser::createHead):
        (WebCore::HTMLParser::handleIsindex):
        (WebCore::HTMLParser::finished):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createContainingTable):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::createSubtreeIfNeeded):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
        Use create instead of new to create HTML elements.

        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::formCollectionInfo):
        (WebCore::HTMLFormCollection::item):
        (WebCore::HTMLFormCollection::getNamedFormItem):
        (WebCore::HTMLFormCollection::updateNameCache):
        * html/HTMLFormControlElement.h:
        Updated for name and privacy changes in HTMLFormElement.

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::HTMLFormElement):
        (WebCore::HTMLFormElement::create):
        (WebCore::HTMLFormElement::~HTMLFormElement):
        (WebCore::HTMLFormElement::length):
        (WebCore::HTMLFormElement::submitImplicitly):
        (WebCore::HTMLFormElement::createFormData):
        (WebCore::HTMLFormElement::submit):
        (WebCore::HTMLFormElement::reset):
        (WebCore::HTMLFormElement::formElementIndex):
        (WebCore::HTMLFormElement::registerFormElement):
        (WebCore::HTMLFormElement::removeFormElement):
        (WebCore::HTMLFormElement::registerImgElement):
        (WebCore::HTMLFormElement::removeImgElement):
        (WebCore::HTMLFormElement::defaultButton):
        (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
        (WebCore::HTMLFormElement::addElementAlias):
        (WebCore::HTMLFormElement::documentDidBecomeActive):
        * html/HTMLFormElement.h:
        Added create functions. Made constructors and other members private.
        Used an OwnPtr for m_elementAliases. Renamed collectionInfo to
        m_collectionCache and used an OwnPtr for it. Renamed formElements to
        m_associatedElements (since its contents are what HTML5 calls
        "form-associated element", not form elements). Renamed imgElements to
        m_imageElements.

        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
        (WebCore::HTMLFrameSetElement::create):
        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
        * html/HTMLFrameSetElement.h:
        Added create functions. Made constructors and other members private.
        Renamed m_rows and m_cols to m_rowLengths and m_colLengths and used
        OwnArrayPtr for both.

        * html/HTMLLabelElement.cpp:
        (WebCore::nodeAsLabelableFormControl): Made this cast to Element instead
        of HTMLElement, since isFormControlElement is available on Element.
        (WebCore::HTMLLabelElement::HTMLLabelElement):
        (WebCore::HTMLLabelElement::create):
        * html/HTMLLabelElement.h:
        Added create functions. Made constructors and other members private.

        * html/HTMLLegendElement.cpp:
        (WebCore::HTMLLegendElement::HTMLLegendElement):
        (WebCore::HTMLLegendElement::create):
        (WebCore::HTMLLegendElement::associatedControl):
        (WebCore::HTMLLegendElement::focus):
        (WebCore::HTMLLegendElement::accessKeyAction):
        * html/HTMLLegendElement.h:
        Added create functions. Made constructors and other members private.
        Renamed formElement to associatedControl since hte control associated
        with this legend is not a "form element".

        * editing/DeleteButton.cpp:
        (WebCore::DeleteButton::DeleteButton):
        (WebCore::DeleteButton::create):
        * editing/DeleteButton.h:
        * html/HTMLDivElement.cpp:
        (WebCore::HTMLDivElement::HTMLDivElement):
        (WebCore::HTMLDivElement::create):
        * html/HTMLDivElement.h:
        * html/HTMLFontElement.cpp:
        (WebCore::HTMLFontElement::create):
        * html/HTMLFontElement.h:
        * html/HTMLHRElement.cpp:
        (WebCore::HTMLHRElement::HTMLHRElement):
        (WebCore::HTMLHRElement::create):
        * html/HTMLHRElement.h:
        * html/HTMLHeadElement.cpp:
        (WebCore::HTMLHeadElement::HTMLHeadElement):
        (WebCore::HTMLHeadElement::create):
        * html/HTMLHeadElement.h:
        * html/HTMLHeadingElement.cpp:
        (WebCore::HTMLHeadingElement::HTMLHeadingElement):
        (WebCore::HTMLHeadingElement::create):
        * html/HTMLHeadingElement.h:
        * html/HTMLHtmlElement.cpp:
        (WebCore::HTMLHtmlElement::HTMLHtmlElement):
        (WebCore::HTMLHtmlElement::create):
        * html/HTMLHtmlElement.h:
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::HTMLImageElement):
        (WebCore::HTMLImageElement::create):
        * html/HTMLImageElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::HTMLInputElement):
        (WebCore::HTMLInputElement::create):
        (WebCore::HTMLInputElement::createTemporaryFormForIsIndex):
        * html/HTMLInputElement.h:
        * html/HTMLIsIndexElement.cpp:
        (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
        (WebCore::HTMLIsIndexElement::create):
        * html/HTMLIsIndexElement.h:
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::HTMLLIElement):
        (WebCore::HTMLLIElement::create):
        * html/HTMLLIElement.h:
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::HTMLLinkElement):
        (WebCore::HTMLLinkElement::create):
        * html/HTMLLinkElement.h:
        Added create functions. Made constructors and other members private.

        * html/HTMLTagNames.in: Removed the createWithNew flag from all the
        tags that were still using it: div, font, form, frameset, h1, h2, h3,
        h4, h5, h6, head, hr, html, image, img, input, ins, isindex, label,
        legend, li, and link.

        * html/HTMLTextAreaElement.h: Removed unneeded definition of the readOnly
        function, since the one in HTMLFormElement does the same thing.

        * loader/ImageDocument.cpp:
        (WebCore::ImageDocumentElement::ImageDocumentElement):
        (WebCore::ImageDocumentElement::create):
        (WebCore::ImageDocument::createDocumentStructure):
        Added create functions. Made constructors and other members private.

        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag): Use the non-virtual disabled
        function instead of the virtual isEnabledFormControl function, which just
        turns around and calls the disabled function.

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
        (WebCore::MediaControlShadowRootElement::create):
        (WebCore::MediaControlElement::MediaControlElement):
        (WebCore::MediaControlElement::create):
        (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
        (WebCore::MediaControlTimelineContainerElement::create):
        (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
        (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
        (WebCore::MediaControlVolumeSliderContainerElement::create):
        (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
        (WebCore::MediaControlStatusDisplayElement::create):
        (WebCore::MediaControlStatusDisplayElement::update):
        (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
        (WebCore::MediaControlInputElement::MediaControlInputElement):
        (WebCore::MediaControlInputElement::styleForElement):
        (WebCore::MediaControlInputElement::rendererIsNeeded):
        (WebCore::MediaControlInputElement::attach):
        (WebCore::MediaControlInputElement::updateStyle):
        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
        (WebCore::MediaControlMuteButtonElement::create):
        (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
        (WebCore::MediaControlMuteButtonElement::updateDisplayType):
        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
        (WebCore::MediaControlPlayButtonElement::create):
        (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
        (WebCore::MediaControlPlayButtonElement::updateDisplayType):
        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
        (WebCore::MediaControlSeekButtonElement::create):
        (WebCore::MediaControlSeekButtonElement::isForwardButton):
        (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
        (WebCore::MediaControlSeekButtonElement::seekTimerFired):
        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
        (WebCore::MediaControlRewindButtonElement::create):
        (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
        (WebCore::MediaControlReturnToRealtimeButtonElement::create):
        (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
        (WebCore::MediaControlTimelineElement::create):
        (WebCore::MediaControlTimelineElement::defaultEventHandler):
        (WebCore::MediaControlTimelineElement::update):
        (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
        (WebCore::MediaControlVolumeSliderElement::create):
        (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
        (WebCore::MediaControlVolumeSliderElement::update):
        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
        (WebCore::MediaControlFullscreenButtonElement::create):
        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
        (WebCore::MediaControlTimeDisplayElement::create):
        * rendering/MediaControlElements.h:
        Added create functions. Made constructors and other members private.

        * rendering/RenderFileUploadControl.cpp:
        (WebCore::ShadowInputElement::ShadowInputElement):
        (WebCore::ShadowInputElement::create):
        (WebCore::RenderFileUploadControl::updateFromElement):
        Added create functions. Made constructors and other members private.

        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::createControlsShadowRoot):
        (WebCore::RenderMedia::createPanel):
        (WebCore::RenderMedia::createMuteButton):
        (WebCore::RenderMedia::createPlayButton):
        (WebCore::RenderMedia::createSeekBackButton):
        (WebCore::RenderMedia::createSeekForwardButton):
        (WebCore::RenderMedia::createRewindButton):
        (WebCore::RenderMedia::createReturnToRealtimeButton):
        (WebCore::RenderMedia::createToggleClosedCaptionsButton):
        (WebCore::RenderMedia::createStatusDisplay):
        (WebCore::RenderMedia::createTimelineContainer):
        (WebCore::RenderMedia::createTimeline):
        (WebCore::RenderMedia::createVolumeSliderContainer):
        (WebCore::RenderMedia::createVolumeSlider):
        (WebCore::RenderMedia::createCurrentTimeDisplay):
        (WebCore::RenderMedia::createTimeRemainingDisplay):
        (WebCore::RenderMedia::createFullscreenButton):
        Use create instead of new.

        * rendering/RenderProgress.cpp:
        (WebCore::ProgressValueElement::ProgressValueElement):
        (WebCore::ProgressValueElement::create):
        (WebCore::RenderProgress::updateValuePartState):
        * rendering/RenderSlider.cpp:
        (WebCore::SliderThumbElement::SliderThumbElement):
        (WebCore::SliderThumbElement::create):
        (WebCore::RenderSlider::updateFromElement):
        Added create functions. Made constructors and other members private.

        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::TextControlInnerElement):
        (WebCore::TextControlInnerElement::create):
        (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
        (WebCore::TextControlInnerTextElement::create):
        (WebCore::TextControlInnerTextElement::defaultEventHandler):
        (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
        (WebCore::SearchFieldResultsButtonElement::create):
        (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
        (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
        (WebCore::SearchFieldCancelButtonElement::create):
        (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
        (WebCore::SpinButtonElement::SpinButtonElement):
        (WebCore::SpinButtonElement::create):
        (WebCore::SpinButtonElement::defaultEventHandler):
        * rendering/TextControlInnerElements.h:
        Added create functions. Made constructors and other members private.

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

        Reviewed by Darin Adler.

        Incorrect build dependencies for GObject DOM Bindings
        https://bugs.webkit.org/show_bug.cgi?id=39932

        -include does not execute the implicit % expansion, we have to do
        it manually.

        * GNUmakefile.am:

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

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Enhance Qt DRT implementation to support platform scroll wheel events.

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

        Fix the bug in webkit.org/b/29601 for Qt.  A delta not divisible by 120
        indicates a device that is sending fine-resolution scroll events, so
        use the delta as the number of pixels to scroll.

        * platform/qt/WheelEventQt.cpp:
        (WebCore::PlatformWheelEvent::applyDelta):

2010-05-30  Jessie Berlin  <jberlin@webkit.org>

        Reviewed by Pavel Feldman.

        https://bugs.webkit.org/show_bug.cgi?id=39224
        Bug 39224 - Web Inspector: There should be a way to clean up profiles

        Adds a button to clear the profiles from the profiles panel like that
        used for the console, the audits panel, and the timeline panel.
        Consolidates the css rules, since they all use the same image.
        Also allows for individual profiles to be deleted via the keyboard
        (U+0008 or U+007F) and uses this new schema for the Elements Tree.

        * English.lproj/localizedStrings.js:
        Add tooltip text for the button to clear the profiles pane.

        * inspector/InspectorBackend.idl:
        Add ability to remove the profiles from the backend when they are
        deleted or cleared in the frontend.
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::removeProfile):
        (WebCore::InspectorBackend::clearProfiles):
        * inspector/InspectorBackend.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::removeProfile):
        (WebCore::InspectorController::clearProfiles):
        * inspector/InspectorController.h:

        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel):
        Use the 'clear-status-bar-item' class.
        * inspector/front-end/ChangesView.js:
        (WebInspector.ChangesView):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
        * inspector/front-end/audits.css:
        * inspector/front-end/inspector.css:
        (.clear-status-bar-item .glyph):
        * inspector/front-end/inspector.html:

        * inspector/front-end/ElementsTreeOutline.js:
        Replace the keyDown handler on the Outline with specific methods to
        handle delete and enter on the TreeElements.
        (WebInspector.ElementsTreeOutline):
        (WebInspector.ElementsTreeOutline.prototype.get editing):
        Return whether or not an element in the tree is currently being edited.
        (WebInspector.ElementsTreeElement.prototype.ondelete):
        (WebInspector.ElementsTreeElement.prototype.onenter):

        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.createSidebar):
        Make the TreeOutline for a Panel's sidebar aware of its enclosing Panel.

        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        Add the clear button.
        (WebInspector.ProfilesPanel.prototype.get statusBarItems):
        (WebInspector.ProfilesPanel.prototype._clearProfiles):
        Remove the profiles from the backend, the reset the frontend interface.
        (WebInspector.ProfilesPanel.prototype.removeProfileHeader):
        Remove the profile from both the frontend and the backend, and clear the
        view when the last profile is removed.
        (WebInspector.ProfilesPanel.prototype._updateInterface):
        Hide the clear button when profiling is disabled.
        (WebInspector.ProfileSidebarTreeElement.prototype.onselect):
        Replace access to global variable with reference to the Panel held by the
        TreeOutline.
        (WebInspector.ProfileSidebarTreeElement.prototype.ondelete):
        Remove the profile corresponding the tree element when the user deletes
        that tree element.

        * inspector/front-end/treeoutline.js:
        (TreeOutline.prototype._treeKeyDown):
        Allow the selected tree element to handle the user pressing a delete
        key or enter key.

2010-05-29  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Darin Adler.

        Check if a CC environment variable is defined before hard-coding gcc's
        path. Simply hard-coding it breaks cross-compilation and Linux
        distributions with more than one gcc installed (or not in the default
        path).
        https://bugs.webkit.org/show_bug.cgi?id=35551

        No new functionality, so no new tests.

        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/IDLParser.pm:
        * dom/make_names.pl:

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

        Reviewed by Timothy Hatcher.

        Web Inspector: [REGRESSION] caller locations are not shown on Timeline Panel.

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

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

2010-05-29  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5 parser should block script execution until stylesheets load
        https://bugs.webkit.org/show_bug.cgi?id=39903

        All <script> tag execution now blocks on stylesheet load, including
        inline <script> content which the old parser doesn't support blocking.

        Hyatt says we could now get rid of updateLayoutIgnorePendingStylesheets
        once our primary parser knows how to wait for stylesheets
        before executing inline <script> content.

        All of http/tests/local passes in --html5-parser mode now.
        Also fixed fast/parser/tokenizer-close-during-document-write.html.

        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
         - Added a m_hasScriptsWaitingForStylesheets bool so that we can
           detect when we're actually waiting on stylesheets or not.
           If we're not waiting on stylesheets then we're still parsing and
           executing scripts would cause parser/script reentrancy and bad news bears.
        (WebCore::HTML5ScriptRunner::isPendingScriptReady):
         - Re-enable the check that the stylesheets have loaded.
        (WebCore::HTML5ScriptRunner::executePendingScript):
         - ASSERT that stylesheets have loaded.
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
         - ASSERT that this is never called reentrantly.
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
         - Execute any scripts which were blocked on stylesheet loads.
         - ASSERT (in two ways) that this is never called reentrantly.
        * html/HTML5ScriptRunner.h:
        (WebCore::HTML5ScriptRunner::hasScriptsWaitingForStylesheets):
         - Callers need to check this before calling executeScriptsWaitingForLoad.
        (WebCore::HTML5ScriptRunner::inScriptExecution):
         - Used by callers to ASSERT that we're not called re-entrantly.
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
         - Add m_hasScriptsWaitingForStylesheets for tracking if we've paused
           due to stylesheets or not.  Callers need to know this to know if they
           should ignore executeScriptsWaitingForStylesheets calls from
           Document (which may be generated when parsing </script> tags).
           We only care about executeScriptsWaitingForStylesheets calls when
           we've actually blocked the parser due to waiting on a stylesheet load.
        (WebCore::HTML5Tokenizer::end):
         - Move m_source.close() back to this method now that I understand more
           about when finish() is called.  This should fix several layout test ASSERTS.
        (WebCore::HTML5Tokenizer::finish):
         - This should not close m_source since scripts may still write to
           the document.  Set m_wasWaitingOnScriptsDuringFinish to indicate
           that we were not able to end parsing during finish.
        (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
         - ASSERT that this is never caller re-entrantly.
        (WebCore::HTML5Tokenizer::executeScript):
         - ASSERT that the ScriptRunner always thinks we're running scripts when this is called.
        (WebCore::HTML5Tokenizer::executingScript):
         - Added implementation to fix fast/parser/tokenizer-close-during-document-write.html
        (WebCore::HTML5Tokenizer::notifyFinished):
         - ASSERT that this is never called re-entrantly.
        (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
         - Call the ScriptRunner to tell it that stylesheets have loaded if
           it is blocked on stylesheet loads.
         - ASSERT(m_hasScriptsWaitingForStylesheets).  We can't just assert
           isPaused() since we may be paused for script loads.
        * html/HTML5Tokenizer.h:

2010-05-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Darin Adler.

        Remove set but never used variables
        https://bugs.webkit.org/show_bug.cgi?id=35252

        No new tests as there is no new functionality.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::lastChildConsideringContinuation):
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFontFaceUnicodeRange):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::loadManifestHostHashes):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleWheelEvent):
        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::getTimeToNextEvent):
        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        (WebCore::AutoTableLayout::layout):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::calcInlinePrefWidths):
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::createClipData):
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::canEstablishDatabase):

2010-05-29  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r60405.
        http://trac.webkit.org/changeset/60405
        https://bugs.webkit.org/show_bug.cgi?id=39921

        It broke GTK build. (Requested by Ossy on #webkit).

        * dom/Node.cpp:
        (WebCore::Node::getElementsByTagName):
        (WebCore::Node::getElementsByTagNameNS):
        * dom/Node.h:

2010-05-29  Anton Muhin  <antonm@chromium.org>

        Reviewed by Darin Adler.

        Make NodeList getters take AtomicString instead of plain String
        https://bugs.webkit.org/show_bug.cgi?id=39892

        Those methods turn String into AtomicString later.  And this conversion
        is faster if underlying string is already atomic.
        That buys small (~2-3%) speed up for Chromium on Dromaeo DOM Core.
        I don't know if Safari benefits from it.

        * dom/Node.cpp:
        (WebCore::Node::getElementsByTagName):
        (WebCore::Node::getElementsByTagNameNS):
        * dom/Node.h:

2010-05-29  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Adam Barth.

        Allow descendant frame navigation for file URLs when allowFileAccessFromFileURLs is false
        https://bugs.webkit.org/show_bug.cgi?id=39750

        Fix for local HTML package breakage when each file is its own origin. 
        In this case we should allow descendant file: frames to navigate each 
        other when they share the same top frame.

        Test: fast/frames/location-change-no-file-access.html

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

2010-05-29  Geoffrey Garen  <ggaren@apple.com>

        Qt build fix: Updated for ArgList changes.

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

2010-05-29  Geoffrey Garen  <ggaren@apple.com>

        Qt build fix: Updated for ArgList changes.

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::call):
        (JSC::Bindings::QtRuntimeConnectionMethod::call):

2010-05-29  Geoffrey Garen  <ggaren@apple.com>

        Qt build fix: Updated for ArgList changes.

        * bridge/qt/qt_pixmapruntime.cpp:
        (JSC::Bindings::QtPixmapInstance::invokeMethod):
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::findMethodIndex):
        (JSC::Bindings::QtRuntimeMetaMethod::call):
        (JSC::Bindings::QtRuntimeConnectionMethod::call):
        * bridge/qt/qt_runtime.h:

2010-05-29  Geoffrey Garen  <ggaren@apple.com>

        Qt build fix: Updated for ArgList changes.

        * bridge/qt/qt_pixmapruntime.cpp:
        (JSC::Bindings::QtPixmapAssignToElementMethod::invoke):
        (JSC::Bindings::QtPixmapToDataUrlMethod::invoke):
        (JSC::Bindings::QtPixmapToStringMethod::invoke):
        (JSC::Bindings::QtPixmapInstance::invokeMethod):
        * bridge/qt/qt_pixmapruntime.h:

2010-05-29  Geoffrey Garen  <ggaren@apple.com>

        Qt build fix: Keep this borken class limping along.

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::invokeMethod):
        * bridge/qt/qt_instance.h:

2010-05-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.

        Simplified the host calling convention.

        PART ONE: Functional code changes.
        
        [ None in WebCore ]
        
        PART TWO: Global search and replace.
        
        In the areas below, I used global search-and-replace to change
            (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
            args.size() => exec->argumentCount()
            args.at(i) => exec->argument(i)

        * bindings/js/JSArrayBufferViewCustom.cpp:
        (WebCore::JSArrayBufferView::slice):
        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::setWebGLArrayHelper):
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::setFillColor):
        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
        (WebCore::JSCanvasRenderingContext2D::strokeRect):
        (WebCore::JSCanvasRenderingContext2D::drawImage):
        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
        (WebCore::JSCanvasRenderingContext2D::setShadow):
        (WebCore::JSCanvasRenderingContext2D::createPattern):
        (WebCore::JSCanvasRenderingContext2D::createImageData):
        (WebCore::JSCanvasRenderingContext2D::putImageData):
        (WebCore::JSCanvasRenderingContext2D::fillText):
        (WebCore::JSCanvasRenderingContext2D::strokeText):
        * bindings/js/JSClipboardCustom.cpp:
        (WebCore::JSClipboard::clearData):
        (WebCore::JSClipboard::getData):
        (WebCore::JSClipboard::setDragImage):
        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        (WebCore::JSDOMApplicationCache::hasItem):
        (WebCore::JSDOMApplicationCache::add):
        (WebCore::JSDOMApplicationCache::remove):
        * bindings/js/JSDOMFormDataCustom.cpp:
        (WebCore::JSDOMFormData::append):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::open):
        (WebCore::JSDOMWindow::showModalDialog):
        (WebCore::JSDOMWindow::postMessage):
        (WebCore::JSDOMWindow::setTimeout):
        (WebCore::JSDOMWindow::setInterval):
        (WebCore::JSDOMWindow::addEventListener):
        (WebCore::JSDOMWindow::removeEventListener):
        (WebCore::JSDOMWindow::openDatabase):
        * bindings/js/JSDatabaseCustom.cpp:
        (WebCore::JSDatabase::changeVersion):
        (WebCore::createTransaction):
        (WebCore::JSDatabase::transaction):
        (WebCore::JSDatabase::readTransaction):
        * bindings/js/JSDatabaseSyncCustom.cpp:
        (WebCore::JSDatabaseSync::changeVersion):
        (WebCore::createTransaction):
        (WebCore::JSDatabaseSync::transaction):
        (WebCore::JSDatabaseSync::readTransaction):
        * bindings/js/JSDedicatedWorkerContextCustom.cpp:
        (WebCore::JSDedicatedWorkerContext::postMessage):
        * bindings/js/JSDesktopNotificationsCustom.cpp:
        (WebCore::JSNotificationCenter::requestPermission):
        * bindings/js/JSFloatArrayCustom.cpp:
        (WebCore::JSFloatArray::set):
        * bindings/js/JSGeolocationCustom.cpp:
        (WebCore::JSGeolocation::getCurrentPosition):
        (WebCore::JSGeolocation::watchPosition):
        * bindings/js/JSHTMLAllCollectionCustom.cpp:
        (WebCore::callHTMLAllCollection):
        (WebCore::JSHTMLAllCollection::item):
        (WebCore::JSHTMLAllCollection::namedItem):
        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        (WebCore::JSHTMLCanvasElement::getContext):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::callHTMLCollection):
        (WebCore::JSHTMLCollection::item):
        (WebCore::JSHTMLCollection::namedItem):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::open):
        (WebCore::documentWrite):
        (WebCore::JSHTMLDocument::write):
        (WebCore::JSHTMLDocument::writeln):
        * bindings/js/JSHTMLInputElementCustom.cpp:
        (WebCore::JSHTMLInputElement::setSelectionRange):
        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
        (WebCore::JSHTMLOptionsCollection::add):
        (WebCore::JSHTMLOptionsCollection::remove):
        * bindings/js/JSHTMLSelectElementCustom.cpp:
        (WebCore::JSHTMLSelectElement::remove):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::pushState):
        (WebCore::JSHistory::replaceState):
        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::databaseForId):
        (WebCore::JSInjectedScriptHost::currentCallFrame):
        (WebCore::JSInjectedScriptHost::nodeForId):
        (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
        (WebCore::JSInjectedScriptHost::selectDatabase):
        (WebCore::JSInjectedScriptHost::selectDOMStorage):
        (WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
        * bindings/js/JSInspectorFrontendHostCustom.cpp:
        (WebCore::JSInspectorFrontendHost::platform):
        (WebCore::JSInspectorFrontendHost::port):
        (WebCore::JSInspectorFrontendHost::showContextMenu):
        * bindings/js/JSInt16ArrayCustom.cpp:
        (WebCore::JSInt16Array::set):
        * bindings/js/JSInt32ArrayCustom.cpp:
        (WebCore::JSInt32Array::set):
        * bindings/js/JSInt8ArrayCustom.cpp:
        (WebCore::JSInt8Array::set):
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::evaluate):
        (WebCore::JSJavaScriptCallFrame::scopeType):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::replace):
        (WebCore::JSLocation::reload):
        (WebCore::JSLocation::assign):
        (WebCore::JSLocation::toString):
        * bindings/js/JSMessageEventCustom.cpp:
        (WebCore::JSMessageEvent::initMessageEvent):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::postMessage):
        * bindings/js/JSMessagePortCustom.h:
        (WebCore::handlePostMessage):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::insertBefore):
        (WebCore::JSNode::replaceChild):
        (WebCore::JSNode::removeChild):
        (WebCore::JSNode::appendChild):
        * bindings/js/JSNodeListCustom.cpp:
        (WebCore::callNodeList):
        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::callPlugin):
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item):
        * bindings/js/JSSQLTransactionCustom.cpp:
        (WebCore::JSSQLTransaction::executeSql):
        * bindings/js/JSSQLTransactionSyncCustom.cpp:
        (WebCore::JSSQLTransactionSync::executeSql):
        * bindings/js/JSSVGLengthCustom.cpp:
        (WebCore::JSSVGLength::convertToSpecifiedUnits):
        * bindings/js/JSSVGMatrixCustom.cpp:
        (WebCore::JSSVGMatrix::multiply):
        (WebCore::JSSVGMatrix::inverse):
        (WebCore::JSSVGMatrix::rotateFromVector):
        * bindings/js/JSSVGPODListCustom.h:
        (WebCore::JSSVGPODListCustom::clear):
        (WebCore::JSSVGPODListCustom::initialize):
        (WebCore::JSSVGPODListCustom::getItem):
        (WebCore::JSSVGPODListCustom::insertItemBefore):
        (WebCore::JSSVGPODListCustom::replaceItem):
        (WebCore::JSSVGPODListCustom::removeItem):
        (WebCore::JSSVGPODListCustom::appendItem):
        * bindings/js/JSSVGPathSegListCustom.cpp:
        (WebCore::JSSVGPathSegList::clear):
        (WebCore::JSSVGPathSegList::initialize):
        (WebCore::JSSVGPathSegList::getItem):
        (WebCore::JSSVGPathSegList::insertItemBefore):
        (WebCore::JSSVGPathSegList::replaceItem):
        (WebCore::JSSVGPathSegList::removeItem):
        (WebCore::JSSVGPathSegList::appendItem):
        * bindings/js/JSUint16ArrayCustom.cpp:
        (WebCore::JSUint16Array::set):
        * bindings/js/JSUint32ArrayCustom.cpp:
        (WebCore::JSUint32Array::set):
        * bindings/js/JSUint8ArrayCustom.cpp:
        (WebCore::JSUint8Array::set):
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::JSWebGLRenderingContext::bufferData):
        (WebCore::JSWebGLRenderingContext::bufferSubData):
        (WebCore::getObjectParameter):
        (WebCore::JSWebGLRenderingContext::getBufferParameter):
        (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
        (WebCore::JSWebGLRenderingContext::getParameter):
        (WebCore::JSWebGLRenderingContext::getProgramParameter):
        (WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
        (WebCore::JSWebGLRenderingContext::getShaderParameter):
        (WebCore::JSWebGLRenderingContext::getTexParameter):
        (WebCore::JSWebGLRenderingContext::getUniform):
        (WebCore::JSWebGLRenderingContext::getVertexAttrib):
        (WebCore::JSWebGLRenderingContext::texImage2D):
        (WebCore::JSWebGLRenderingContext::texSubImage2D):
        (WebCore::dataFunctionf):
        (WebCore::dataFunctioni):
        (WebCore::dataFunctionMatrix):
        (WebCore::JSWebGLRenderingContext::uniform1fv):
        (WebCore::JSWebGLRenderingContext::uniform1iv):
        (WebCore::JSWebGLRenderingContext::uniform2fv):
        (WebCore::JSWebGLRenderingContext::uniform2iv):
        (WebCore::JSWebGLRenderingContext::uniform3fv):
        (WebCore::JSWebGLRenderingContext::uniform3iv):
        (WebCore::JSWebGLRenderingContext::uniform4fv):
        (WebCore::JSWebGLRenderingContext::uniform4iv):
        (WebCore::JSWebGLRenderingContext::uniformMatrix2fv):
        (WebCore::JSWebGLRenderingContext::uniformMatrix3fv):
        (WebCore::JSWebGLRenderingContext::uniformMatrix4fv):
        (WebCore::JSWebGLRenderingContext::vertexAttrib1fv):
        (WebCore::JSWebGLRenderingContext::vertexAttrib2fv):
        (WebCore::JSWebGLRenderingContext::vertexAttrib3fv):
        (WebCore::JSWebGLRenderingContext::vertexAttrib4fv):
        * bindings/js/JSWebSocketCustom.cpp:
        (WebCore::JSWebSocket::send):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::importScripts):
        (WebCore::JSWorkerContext::setTimeout):
        (WebCore::JSWorkerContext::setInterval):
        (WebCore::JSWorkerContext::openDatabase):
        (WebCore::JSWorkerContext::openDatabaseSync):
        * bindings/js/JSWorkerCustom.cpp:
        (WebCore::JSWorker::postMessage):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::open):
        (WebCore::JSXMLHttpRequest::send):
        * bindings/js/JSXSLTProcessorCustom.cpp:
        (WebCore::JSXSLTProcessor::importStylesheet):
        (WebCore::JSXSLTProcessor::transformToFragment):
        (WebCore::JSXSLTProcessor::transformToDocument):
        (WebCore::JSXSLTProcessor::setParameter):
        (WebCore::JSXSLTProcessor::getParameter):
        (WebCore::JSXSLTProcessor::removeParameter):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::create):
        (WebCore::ScheduledAction::ScheduledAction):
        * bindings/js/ScheduledAction.h:
        * bindings/js/ScriptCallFrame.cpp:
        (WebCore::ScriptCallFrame::ScriptCallFrame):
        * bindings/js/ScriptCallFrame.h:
        * bindings/js/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::ScriptCallStack):
        (WebCore::ScriptCallStack::initialize):
        * bindings/js/ScriptCallStack.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CInstance::invokeMethod):
        (JSC::Bindings::CInstance::invokeDefaultMethod):
        * bridge/c/c_instance.h:
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaInstance::invokeMethod):
        * bridge/jni/jsc/JavaInstanceJSC.h:
        * bridge/jsc/BridgeJSC.h:
        (JSC::Bindings::Instance::invokeDefaultMethod):
        * bridge/objc/objc_instance.h:
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::invokeMethod):
        (ObjcInstance::invokeObjcMethod):
        (ObjcInstance::invokeDefaultMethod):
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::callObjCFallbackObject):
        * bridge/runtime_method.cpp:
        (JSC::callRuntimeMethod):
        * bridge/runtime_object.cpp:
        (JSC::Bindings::callRuntimeObject):

2010-05-28  Stephen White  <senorblanco@chromium.org>

        Reviewed by Darin Fisher.

        Implement GraphicsContext::setImageInterpolation() for the Chromium
        port.  This is preparatory work for bug 38233.  A number of
        background-resize tests will need a rebaseline, since the images are
        taken during the initial "low quality" phase (<800ms).

        [CHROMIUM] Chromium port should support image interpolation quality
        https://bugs.webkit.org/show_bug.cgi?id=38686

        Covered by fast/backgrounds/size/backgroundSize15.html, and others.

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        Implement WebCore::GraphicsContext::setImageInterpolationQuality.
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::computeResamplingMode):  Only enable high quality
        interpolation if it has been requested in the GraphicsContext.
        (WebCore::drawResampledBitmap):  Enable cacheing of resampled images
        even if the size is not full (fix from Brett Wilson).
        (WebCore::paintSkBitmap):  Pass in the PlatformContextSkia to
        computeResamplingMode, so it can query it for interpolation quality.
        (WebCore::Image::drawPattern):  Ibid.
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::State::State):
        (PlatformContextSkia::interpolationQuality):
        (PlatformContextSkia::setInterpolationQuality):
        * platform/graphics/skia/PlatformContextSkia.h:
        Add a member fn and accessors to retain the image interpolation quality
        in the platform context, and to save/restore it with the state.

2010-05-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Remove compiler warnings about uninitialized variable.
        https://bugs.webkit.org/show_bug.cgi?id=39871

        No new tests, just cosmetic changes.

        * platform/efl/WidgetEfl.cpp:
        (WebCore::Widget::applyCursor):

2010-05-28  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Dimitri Glazkov.

        Prevent chromium composited layers from rendering on top of the scrollbars.
        https://bugs.webkit.org/show_bug.cgi?id=39851

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

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

        Reviewed by Darin Fisher.

        Added isXHTMLDocument() to WebCore::Document.

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

        * dom/Document.h: Add isXHTMLDocument().
        (WebCore::Document::isXHTMLDocument): Ditto.

2010-05-28  Peter Kasting  <pkasting@google.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=39857
        Make GIFs loop the correct number of times.  Previously, everyone looped
        one time too few for non-infinitely-looping GIFs.

        Modified a Qt manual test to be correct and moved it to the general
        manual test directory.

        * manual-tests/animated-gif-looping.html: Copied from WebCore/manual-tests/qt/qt-gif-test.html.
        * manual-tests/qt/qt-10loop-anim.gif: Removed.
        * manual-tests/qt/qt-anim.gif: Removed.
        * manual-tests/qt/qt-gif-test.html: Removed.
        * manual-tests/qt/qt-noanim.gif: Removed.
        * manual-tests/resources/animated-10x.gif: Copied from WebCore/manual-tests/qt/qt-10loop-anim.gif and modified.
        * manual-tests/resources/animated-infinite.gif: Copied from WebCore/manual-tests/qt/qt-anim.gif.
        * manual-tests/resources/non-animated.gif: Copied from WebCore/manual-tests/qt/qt-noanim.gif.
        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::internalAdvanceAnimation): For a loop count of n, show a total of n + 1 animation cycles.
        * platform/graphics/ImageSource.h:
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::repetitionCount):
        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::repetitionCount): Remove translation code now that WebCore matches Qt's internal handling of the loop count.  Qt itself may still have a bug here.
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::repetitionCount):
        * platform/image-decoders/gif/GIFImageReader.cpp:
        (GIFImageReader::read): Translate loop count 0 to "loop infinitely" (by restoring one piece of the Mozilla code we'd removed).

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

        Reviewed by Darin Adler.

        openFile(...) in FIleSystemPOSIX does not call fileSystemRepresentation
        https://bugs.webkit.org/show_bug.cgi?id=39882

        No new tests. Existing tests in fast/files should suffice.

        * platform/posix/FileSystemPOSIX.cpp:
        (WebCore::openFile): pass the path parameter through fileSystemRepresentation before using it.

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

        Reviewed by Eric Seidel.

        Named entities in attributes aren't parsed correctly by HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39873

        I misplaced this if statement when writing this code originally.  Now
        that we have test coverage for this paragraph in the spec, we can see
        and fix the bug.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::consumeEntity):

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

        Reviewed by Eric Seidel.

        Handle edge cases in HTML5 entity parsing
        https://bugs.webkit.org/show_bug.cgi?id=39823

        The HTML5 specification tells us to handle HTML entities in a somewhat
        complicated way.  This patch attempts to correctly handle numeric
        entities.  Some of this code is duplicated from HTMLTokenizer.

        * html/HTML5Lexer.cpp:
        (WebCore::HTMLNames::):
        (WebCore::HTMLNames::adjustEntity):
        (WebCore::HTMLNames::legalEntityFor):
        (WebCore::HTML5Lexer::consumeEntity):
        (WebCore::HTML5Lexer::processEntity):
        (WebCore::HTML5Lexer::nextToken):
        (WebCore::HTML5Lexer::emitCodePoint):
        * html/HTML5Lexer.h:

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

        Reviewed by Beth Dakin.

        AX: stop prepping value conversion in accessibilityAttributeValueForParameter
        https://bugs.webkit.org/show_bug.cgi?id=39880

        Cleaning up a FIXME so that all values are not converted before they're needed in accessibilityAttributeValue:forParameter:

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (visiblePositionForTextMarker):
        (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

2010-05-28  Adam Treat  <atreat@rim.com>

        Reviewed by Daniel Bates.

        RIM Bug #293 and https://bugs.webkit.org/show_bug.cgi?id=39859

        Layout is not dependent upon ScrollView::frameRect when useFixedLayout
        is true.  No reason to set the needs layout flag in this case.

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

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

        Unreviewed. Revert 60353 -- immature.

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

        * bindings/js/JSConsoleCustom.cpp:
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        * page/Console.cpp:
        * page/Console.h:
        * page/Console.idl:

2010-05-27  Darin Adler  <darin@apple.com>

        Reviewed by David Levin.

        Make more HTML DOM members private, especially constructors, batch 2
        https://bugs.webkit.org/show_bug.cgi?id=39706

        Refactoring so no new tests.

        Worked my way up from the bottom of HTMLTagNames.in.

        * html/HTMLTagNames.in: Removed createWithNew from keygen, listing,
        map, marquee, menu, meta, ol, optgroup, option, p, param, pre,
        script, select, source, style, table, tbody, td, textarea, tfoot,
        th, thead, title, tr, ul, video, xmp, and noscript.

        * editing/htmlediting.cpp:
        (WebCore::createOrderedListElement): Use create function instead of new.
        (WebCore::createUnorderedListElement): Ditto.
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError): Ditto.
        (WebCore::HTMLParser::mapCreateErrorCheck): Ditto.
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
        (WebCore::HTMLViewSourceDocument::addLine): Ditto.

        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::HTMLKeygenElement): Use create function
        instead of new.
        (WebCore::HTMLKeygenElement::create): Added.
        * html/HTMLKeygenElement.h: Made constructor and virtual function
        overrides private, added create function.

        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::HTMLMapElement):
        (WebCore::HTMLMapElement::create):
        * html/HTMLMapElement.h:
        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
        (WebCore::HTMLMarqueeElement::create):
        * html/HTMLMarqueeElement.h:
        * html/HTMLMenuElement.cpp:
        (WebCore::HTMLMenuElement::HTMLMenuElement):
        (WebCore::HTMLMenuElement::create):
        * html/HTMLMenuElement.h:
        * html/HTMLMetaElement.cpp:
        (WebCore::HTMLMetaElement::HTMLMetaElement):
        (WebCore::HTMLMetaElement::create):
        * html/HTMLMetaElement.h:
        * html/HTMLNoScriptElement.cpp:
        (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
        (WebCore::HTMLNoScriptElement::create):
        (WebCore::HTMLNoScriptElement::childShouldCreateRenderer):
        * html/HTMLNoScriptElement.h:
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::HTMLOListElement):
        (WebCore::HTMLOListElement::create):
        * html/HTMLOListElement.h:
        * html/HTMLOptGroupElement.cpp:
        (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
        (WebCore::HTMLOptGroupElement::create):
        * html/HTMLOptGroupElement.h:
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::HTMLOptionElement):
        (WebCore::HTMLOptionElement::create):
        * html/HTMLOptionElement.h:
        * html/HTMLParagraphElement.cpp:
        (WebCore::HTMLParagraphElement::HTMLParagraphElement):
        (WebCore::HTMLParagraphElement::create):
        * html/HTMLParagraphElement.h:
        * html/HTMLParamElement.cpp:
        (WebCore::HTMLParamElement::HTMLParamElement):
        (WebCore::HTMLParamElement::create):
        * html/HTMLParamElement.h:
        * html/HTMLPreElement.cpp:
        (WebCore::HTMLPreElement::HTMLPreElement):
        (WebCore::HTMLPreElement::create):
        * html/HTMLPreElement.h:
        * html/HTMLQuoteElement.cpp:
        (WebCore::HTMLQuoteElement::HTMLQuoteElement):
        (WebCore::HTMLQuoteElement::create):
        * html/HTMLQuoteElement.h:
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::HTMLScriptElement):
        (WebCore::HTMLScriptElement::create):
        * html/HTMLScriptElement.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::create):
        * html/HTMLSelectElement.h:
        * html/HTMLSourceElement.cpp:
        (WebCore::HTMLSourceElement::HTMLSourceElement):
        (WebCore::HTMLSourceElement::create):
        * html/HTMLSourceElement.h:
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::HTMLStyleElement):
        (WebCore::HTMLStyleElement::create):
        * html/HTMLStyleElement.h:
        * html/HTMLTableRowElement.cpp:
        (WebCore::HTMLTableRowElement::HTMLTableRowElement):
        (WebCore::HTMLTableRowElement::create):
        (WebCore::HTMLTableRowElement::insertCell):
        * html/HTMLTableRowElement.h:
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::HTMLTableSectionElement):
        (WebCore::HTMLTableSectionElement::create):
        (WebCore::HTMLTableSectionElement::insertRow):
        * html/HTMLTableSectionElement.h:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::create):
        * html/HTMLTextAreaElement.h:
        * html/HTMLTitleElement.cpp:
        (WebCore::HTMLTitleElement::HTMLTitleElement):
        (WebCore::HTMLTitleElement::create):
        * html/HTMLTitleElement.h:
        * html/HTMLUListElement.cpp:
        (WebCore::HTMLUListElement::HTMLUListElement):
        (WebCore::HTMLUListElement::create):
        * html/HTMLUListElement.h:
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::HTMLVideoElement):
        (WebCore::HTMLVideoElement::create):
        * html/HTMLVideoElement.h:
        Made constructors and virtual function overrides private, added
        create function.

        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::HTMLTableCellElement): Updated
        names of data members. Renamed _row to m_row, _col to m_col,
        rSpan to m_rowSpan, cSpan to m_colSpan, and removed unused
        rowHeight and m_solid.
        (WebCore::HTMLTableCellElement::create): Added.
        (WebCore::HTMLTableCellElement::parseMappedAttribute): Updated names.
        * html/HTMLTableCellElement.h: Ditto.

        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::create): Added.
        (WebCore::HTMLTableElement::createTHead): Used create instead of new.
        (WebCore::HTMLTableElement::createTFoot): Ditto.
        (WebCore::HTMLTableElement::insertRow): Ditto.
        * html/HTMLTableElement.h:

        * html/HTMLTablePartElement.h: Made members protected instead of
        public.

2010-05-28  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] REGRESSION(r59837): Incorrect clipping of TransparencyLayers
        https://bugs.webkit.org/show_bug.cgi?id=39784

        Move coordinate transformation from TransparencyLayer to clipToImageBuffer()

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

2010-05-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [EF] Implement methods for supporting PopupMenu
        https://bugs.webkit.org/show_bug.cgi?id=39629

        * platform/PopupMenu.h: add needed attribute
        * platform/efl/PopupMenuEfl.cpp: implement methods to show/hide popup
        menu
        (WebCore::PopupMenu::PopupMenu): initialize new attribute
        (WebCore::PopupMenu::show): ditto.
        (WebCore::PopupMenu::hide): ditto.

2010-05-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        Reorder class initializers to remove compiler warnings.
        https://bugs.webkit.org/show_bug.cgi?id=39596

        * platform/efl/PlatformKeyboardEventEfl.cpp: ditto.
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): ditto.
        * platform/efl/PlatformMouseEventEfl.cpp: ditto.
        (WebCore::PlatformMouseEvent::PlatformMouseEvent): ditto.
        * platform/efl/PlatformWheelEventEfl.cpp: ditto
        (WebCore::PlatformWheelEvent::PlatformWheelEvent): ditto.

2010-05-27  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Add IndexedDB's IDBIndex
        https://bugs.webkit.org/show_bug.cgi?id=39850

        Flesh out IDBIndex as much as possible until Andrei finishes
        his patch to get around passing Frame*'s all around.  I also
        cleaned up a bunch of existing files as I noticed style
        violations (while basing my new files off of the old).

        Not hooked up enough to test.  Will add tests soon.

        * Android.derived.jscbindings.mk
        * Android.derived.v8bindings.mk
        * Android.mk
        * CMakeLists.txt
        * DerivedSources.cpp
        * DerivedSources.make
        * GNUmakefile.am
        * WebCore.pri
        * WebCore.pro
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj
        * WebCore.xcodeproj/project.pbxproj
        * bindings/js/JSIDBAnyCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8IDBAnyCustom.cpp:
        (WebCore::toV8):
        * storage/IDBAny.cpp:
        (WebCore::IDBAny::idbIndexRequest):
        (WebCore::IDBAny::set):
        * storage/IDBAny.h:
        (WebCore::IDBAny::):
        * storage/IDBCallbacks.h:
        * storage/IDBDatabase.h:
        * storage/IDBDatabaseError.h:
        (WebCore::IDBDatabaseError::):
        * storage/IDBDatabaseError.idl:
        * storage/IDBDatabaseException.h:
        * storage/IDBDatabaseException.idl:
        * storage/IDBDatabaseImpl.cpp:
        * storage/IDBDatabaseImpl.h:
        * storage/IDBDatabaseRequest.cpp:
        * storage/IDBDatabaseRequest.h:
        * storage/IDBDatabaseRequest.idl:
        * storage/IDBIndex.h: Added.
        (WebCore::IDBIndex::~IDBIndex):
        * storage/IDBIndexImpl.cpp: Added.
        (WebCore::IDBIndexImpl::IDBIndexImpl):
        (WebCore::IDBIndexImpl::~IDBIndexImpl):
        * storage/IDBIndexImpl.h: Added.
        (WebCore::IDBIndexImpl::create):
        (WebCore::IDBIndexImpl::name):
        (WebCore::IDBIndexImpl::keyPath):
        (WebCore::IDBIndexImpl::unique):
        * storage/IDBIndexRequest.cpp: Added.
        (WebCore::IDBIndexRequest::IDBIndexRequest):
        (WebCore::IDBIndexRequest::~IDBIndexRequest):
        * storage/IDBIndexRequest.h: Added.
        (WebCore::IDBIndexRequest::create):
        (WebCore::IDBIndexRequest::name):
        (WebCore::IDBIndexRequest::keyPath):
        (WebCore::IDBIndexRequest::unique):
        * storage/IDBIndexRequest.idl: Added.
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::IDBObjectStore):
        (WebCore::IDBObjectStore::~IDBObjectStore):
        (WebCore::IDBObjectStore::indexNames):
        (WebCore::IDBObjectStore::createIndex):
        (WebCore::IDBObjectStore::index):
        (WebCore::IDBObjectStore::removeIndex):
        * storage/IDBObjectStore.h:
        * storage/IDBObjectStoreRequest.cpp:
        (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
        (WebCore::IDBObjectStoreRequest::name):
        (WebCore::IDBObjectStoreRequest::keyPath):
        (WebCore::IDBObjectStoreRequest::indexNames):
        (WebCore::IDBObjectStoreRequest::createIndex):
        (WebCore::IDBObjectStoreRequest::index):
        (WebCore::IDBObjectStoreRequest::removeIndex):
        * storage/IDBObjectStoreRequest.h:
        * storage/IDBObjectStoreRequest.idl:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess):
        * storage/IDBRequest.h:
        * storage/IndexedDatabaseRequest.idl:

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

        Reviewed by Pavel Feldman.

        Web Inspector: hide node highlight when inspected page closes.
        https://bugs.webkit.org/show_bug.cgi?id=39872

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

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: add Console API for retrieving memory stats

        Add 'console.memory' property which returns an object. Currently
        it has two fields: totalHeapSize and usedHeapSize. Later, it can be
        extended for reporting total browser's memory consumption.

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

        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::memory):
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::memoryAccessorGetter):
        * page/Console.cpp:
        (WebCore::Console::memory):
        * page/Console.h:
        * page/Console.idl:

2010-05-28  Xan Lopez  <xlopez@igalia.com>

        Add new file to the build system.

        * GNUmakefile.am:

2010-05-28  Antti Koivisto  <koivisto@iki.fi>

        Reviewed by Kenneth Rohde Christiansen.

        https://bugs.webkit.org/show_bug.cgi?id=39874
        [Qt] Make tiled backing store more configurable
    
        Make tile size, tile creation delay and tiling area dynamically configurable.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::TiledBackingStore):
        (WebCore::TiledBackingStore::setTileSize):
        (WebCore::TiledBackingStore::setTileCreationDelay):
        (WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
        (WebCore::TiledBackingStore::createTiles):
        * platform/graphics/TiledBackingStore.h:
        (WebCore::TiledBackingStore::tileSize):
        (WebCore::TiledBackingStore::tileCreationDelay):
        (WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):

2010-05-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        document.write does not work correctly in the HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39828

        Added a new HTML5ScriptRunnerHost interface which
        HTML5Tokenizer implements.  This allows HTML5ScriptController
        to delegate the actual ScriptController::executeScript back to
        HTML5Tokenizer.  HTML5Tokenizer saves off the current m_source
        before calling ScriptController::executeScript to allow safe
        reentrancy through document.write().

        * WebCore.xcodeproj/project.pbxproj:
         - Added HTML5ScriptRunnerHost.h
        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
        (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
         - Unregister m_parsingBlockingScript if stopped before
           load completion.  This was probably causing some of the
           crashes on page navigation we saw during LayoutTest runs.
        (WebCore::documentURLForScriptExecution):
         - Unify our documentURL handling so all callsites get it right.
        (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
         - Use documentURLForScriptExecution
        (WebCore::HTML5ScriptRunner::executePendingScript):
         - Call stopWatchingForLoad instead of removeClient()
         - Call executeScript instead of ScriptController directly.
        (WebCore::HTML5ScriptRunner::executeScript):
         - Wraps calls to HTML5ScriptRunnerHost::executeScript
        (WebCore::HTML5ScriptRunner::watchForLoad):
         - Wraps calls to HTML5ScriptRunnerHost::watchForLoad
        (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
         - Wraps calls to HTML5ScriptRunnerHost::stopWatchingForLoad
        (WebCore::HTML5ScriptRunner::requestScript):
         - Only watch for load if the CachedScript isn't already loaded.
           This gets rid of rentrancy due to addClient calls, and as a result
           also stops us from hitting ASSERT(m_scriptNestingLevel)
           in executePendingScript.
        (WebCore::HTML5ScriptRunner::runScript):
         - Use the new fancy documentURLForScriptExecution and executeScript.
        * html/HTML5ScriptRunner.h:
        (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
         - Add a watchingForLoad bool so we know if we ever called watchForLoad
           with this CachedScript*.
        * html/HTML5ScriptRunnerHost.h: Added.
        (WebCore::HTML5ScriptRunnerHost::~HTML5ScriptRunnerHost):
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
         - Store an m_document pointer since we need to access
           m_document->frame()->script() for script execution.
        (WebCore::HTML5Tokenizer::pumpLexer):
         - Always pause or unpause the TreeBuilder after script execution.
           Previously nested script execution would leave the TreeBuilder
           paused even though the top-level loop wanted to resume parsing.
           Now whenever m_scriptRunner->execute returns "continue parsing"
           parsing will actually continue.  This fixed cases where we would
           ignore the rest of the document after document.write() of a script tag.
        (WebCore::HTML5Tokenizer::write):
         - Explain how document.write() reentrancy is safe in the new world.
        (WebCore::HTML5Tokenizer::watchForLoad):
         - HTML5ScriptRunnerHost implementation.  We assert that this call will
           never cause script execution since that's our current design.
        (WebCore::HTML5Tokenizer::stopWatchingForLoad):
         - HTML5ScriptRunnerHost implementation.
        (WebCore::HTML5Tokenizer::executeScript):
         - HTML5ScriptRunnerHost implementation. Save off the current source
           before executing scripts in case document.write is called during
           script execution.
        * html/HTML5Tokenizer.h:
         - Implement HTML5ScriptRunnerHost.

2010-05-28  Nathan Lawrence  <nlawrence@apple.com>

        Reviewed by Geoffrey Garen.

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

        Because not just <img> and <image> elements can preload images, we
        dont want to restrict the element associated with the loader.

        No new tests. Should share the same tests as the last patch.

        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::notifyFinished):

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

        Reviewed by Ojan Vafai.

        Cursor movement and text selection does not work well if a block is followed by an inline.
        https://bugs.webkit.org/show_bug.cgi?id=32123

        RenderInline::setSelectionState() missed selection state
        propagation for ancestors.  This fix pulled
        RenderBlock::setSelectionState() up to RenderBoxModelObject, to
        share it with RenderInline.

        Test: editing/selection/range-between-block-and-inline.html: Added.
        
        * rendering/RenderBlock.cpp:
        * rendering/RenderBlock.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::setSelectionState):
        * rendering/RenderBoxModelObject.h:
        Moved setSelectionState() from RenderBlock to RenderBoxModelObject.
        
2010-05-27  MORITA Hajime  <morrita@google.com>

        Not reviewed. Fixed typo

        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):

2010-05-27  Darin Adler  <darin@apple.com>

        Reviewed by David Levin.

        Make more HTML DOM members private, especially constructors
        https://bugs.webkit.org/show_bug.cgi?id=39697

        Refactoring, so no new tests needed.

        Working my way through HTMLTagNames.in from top to bottom, skipping any
        that are non-trivial for some reason.

        * html/HTMLTagNames.in: Removed createWithNew from audio, base, basefont,
        blockquote, body, br, button, canvas, caption, col, colgroup, datagrid,
        datalist, dcell, dcol, drow, del, dir, dl, and fieldset.

        * mathml/mathtags.in: Removed createWithNew from msub, and msup.

        * dom/Document.cpp:
        (WebCore::Document::implicitClose): Use create function instead of new.
        (WebCore::Document::getCSSCanvasElement): Ditto.
        * editing/IndentOutdentCommand.cpp:
        (WebCore::createIndentBlockquoteElement): Ditto.
        * editing/htmlediting.cpp:
        (WebCore::createBreakElement): Ditto.
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::createCaption): Ditto.
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::setInnerTextValue): Ditto.

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError): Use create function instead of new.
        Required reordering the code slightly, but the new order works fine.

        * html/HTMLAudioElement.cpp:
        (WebCore::HTMLAudioElement::create):
        * html/HTMLAudioElement.h:
        * html/HTMLBRElement.cpp:
        (WebCore::HTMLBRElement::create):
        * html/HTMLBRElement.h:
        * html/HTMLBaseElement.cpp:
        (WebCore::HTMLBaseElement::create):
        * html/HTMLBaseElement.h:
        * html/HTMLBaseFontElement.cpp:
        (WebCore::HTMLBaseFontElement::create):
        * html/HTMLBaseFontElement.h:
        * html/HTMLBlockquoteElement.cpp:
        (WebCore::HTMLBlockquoteElement::create):
        * html/HTMLBlockquoteElement.h:
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::create):
        * html/HTMLBodyElement.h:
        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::create):
        * html/HTMLButtonElement.h:
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::create):
        * html/HTMLCanvasElement.h:
        * html/HTMLDListElement.cpp:
        (WebCore::HTMLDListElement::create):
        * html/HTMLDListElement.h:
        * html/HTMLDataGridCellElement.cpp:
        (WebCore::HTMLDataGridCellElement::create):
        * html/HTMLDataGridCellElement.h:
        * html/HTMLDataGridColElement.cpp:
        (WebCore::HTMLDataGridColElement::create):
        * html/HTMLDataGridColElement.h:
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::create):
        * html/HTMLDataGridElement.h:
        * html/HTMLDataGridRowElement.cpp:
        (WebCore::HTMLDataGridRowElement::create):
        * html/HTMLDataGridRowElement.h:
        * html/HTMLDataListElement.cpp:
        (WebCore::HTMLDataListElement::create):
        * html/HTMLDataListElement.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setInnerText):
        * html/HTMLFieldSetElement.cpp:
        (WebCore::HTMLFieldSetElement::create):
        * html/HTMLFieldSetElement.h:
        * html/HTMLModElement.cpp:
        (WebCore::HTMLModElement::HTMLModElement):
        (WebCore::HTMLModElement::create):
        * html/HTMLModElement.h:
        * html/HTMLTableCaptionElement.cpp:
        (WebCore::HTMLTableCaptionElement::create):
        * html/HTMLTableCaptionElement.h:
        Made constructors and virtual function overrides private, added create functions.
        Made constructors inline in cases where they were called in only one place.

        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::HTMLTableColElement): Changed data member name
        from _span to m_span.
        (WebCore::HTMLTableColElement::create): Added.
        (WebCore::HTMLTableColElement::parseMappedAttribute): Updated to use m_span.
        * html/HTMLTableColElement.h:
        Made constructor and virtual function overrides private, added create function.
        Renamed _span to m_span.

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

        Reviewed by Darin Adler.

        wx port: build fix for Linux
        https://bugs.webkit.org/show_bug.cgi?id=39860

        Use uint16_t instead of uint16.

        * plugins/PluginPackageNone.cpp:
        (WebCore::PluginPackage::NPVersion):

2010-05-27  Nathan Lawrence  <nlawrence@apple.com>

        Reviewed by Geoffrey Garen.

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

        Fixes the issue where images prefetched by JavaScript do not report
        their memory usage to the GC.

        There is a new test manual-tests/image-prefetch-stress.html that loads
        a new 4MB image every half a second.

        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::notifyFinished):
        * manual-tests/image-prefetch-stress.html: Added.

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

        Reviewed by Adam Barth.

        Add v8 bindings for async DB API in workers
        https://bugs.webkit.org/show_bug.cgi?id=39145

        No new tests.  This should share layout tests with JSC.

        Tweak the callback generation to switch lots of Frame* to ScriptExecutionContext*, and use the context passed in to handleEvent where possible.
        * bindings/scripts/CodeGeneratorV8.pm:

        As with CodeGeneratorV8; these are pretty much all tiny tweaks.
        We do have to use a slightly different patch for callback invocation in invokeCallback, as V8Proxy::retrieve() doesn't work in the worker context.
        * bindings/v8/custom/V8CustomPositionCallback.cpp:
        (WebCore::V8CustomPositionCallback::handleEvent):
        * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
        (WebCore::V8CustomPositionErrorCallback::handleEvent):
        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
        (WebCore::V8SQLStatementErrorCallback::handleEvent):
        * bindings/v8/custom/V8CustomVoidCallback.cpp:
        (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
        (WebCore::V8CustomVoidCallback::handleEvent):
        (WebCore::invokeCallback):
        * bindings/v8/custom/V8CustomVoidCallback.h:
        (WebCore::V8CustomVoidCallback::create):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::openDatabaseCallback):
        * bindings/v8/custom/V8DatabaseCustom.cpp:
        (WebCore::V8Database::changeVersionCallback):
        (WebCore::createTransaction):
        * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
        (WebCore::V8DatabaseSync::changeVersionCallback):
        (WebCore::createTransaction):
        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
        (WebCore::V8NotificationCenter::requestPermissionCallback):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::V8SQLTransaction::executeSqlCallback):

        Add openDatabaseCallback.
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::V8WorkerContext::openDatabaseCallback):
        Remove an obsolete parameter.
        (WebCore::V8WorkerContext::openDatabaseSyncCallback):

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: [REGRESSION] Query parameters are not displayed in the resources headers section.

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

        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView):
        (WebInspector.ResourceView.prototype._refreshRequestPayload):

2010-05-27  Nico Weber  <thakis@chromium.org>

        Reviewed by Eric Seidel

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

        Add Yank support to chromium mac. Do this by moving WebKit Mac's
        implementation of Editor::yankFromKillRing() into its own class and
        then using that.

        * editing/Editor.cpp:
          Use new KillRing class.
        * editing/Editor.h:
        (WebCore::Editor::killRing):
          Use new KillRing class.
        * editing/EditorCommand.cpp:
        (WebCore::executeYankAndSelect):
          Use new KillRing class.
        * platform/KillRing.h:
          Add new KillRing class, which acts as null object.
        (WebCore::KillRing::~KillRing):
        * platform/mac/KillRingMac.h:
          Add new KillRingMac class, which writes to the mac's kill ring.
        * platform/mac/KillRingMac.mm:
          Add new KillRingMac class, which writes to the mac's kill ring.

2010-05-27  Ben Murdoch  <benm@google.com>

        Reviewed by Jian Li.

        Build break in FileStream.cpp
        https://bugs.webkit.org/show_bug.cgi?id=39841

        When ENABLE_BLOB_SLICE is not defined, an undefined variable is used
        in FileStream.cpp:114. Fix by using the correct variable.

        Build fix so no new tests.

        * html/FileStream.cpp:
        (WebCore::FileStream::openForRead): Replace undefined variable with a defined one.

2010-05-27  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        [Chromium] Default popup window size should not depend on zoom level
        https://bugs.webkit.org/show_bug.cgi?id=39835

        V8DOMWindow::openCallback should not set width and height of new
        window unless specified in the function's arguments.

        There is already code to reset the new window's origin coordinates,
        but the same thing should be done to its dimensions as well. Otherwise,
        a new popup with unspecified size will have its size depending on the
        parent's zoom level, which is not desirable.

        This is the same as what is done in
        bindings/js/JSDOMWindowCustom.cpp:826.

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::openCallback):

2010-05-27  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        qt_instance.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39744

        Fix webkit coding style issues in qt_instance.cpp

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::getQtInstance):
        (JSC::Bindings::QtInstance::removeCachedMethod):
        (JSC::Bindings::QtInstance::markAggregate):
        (JSC::Bindings::QtInstance::getPropertyNames):
        (JSC::Bindings::QtInstance::stringValue):
        (JSC::Bindings::QtField::name):
        (JSC::Bindings::QtField::valueFromInstance):

2010-05-27  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        qt_instance.h has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39743

        Fix webkit coding style issues in qt_instance.h

        * bridge/qt/qt_instance.h:

2010-05-27  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        qt_class.h has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39742

        Fix webkit coding style issues in qt_class.h

        * bridge/qt/qt_class.h:

2010-05-27  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8016158> Crash in CVPixelBufferCreateResolvedAttributesDictionary with RLE
        compressed movie.

        Configure the visual context to generate Direct3D compatible pixel buffers when we are able to
        use a CAImageQueue so there will be less conversion required before display. This change also  
        works around the issue that causes the RLE compressed movie to crash.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Pass enum to QTMovieVisualContext
        constructor instead of CFDictionary.
        * platform/graphics/win/QTMovieVisualContext.cpp:
        (SetNumberValue):
        (getPixelBufferCreationOptions): New, create options dictionary appropriate for the visual 
        context type.
        (pixelBufferCreationOptions): New, return options dictionary appropriate for the visual 
        context type.
        (QTMovieVisualContextPriv::QTMovieVisualContextPriv): Get the options dictionary from
        getPixelBufferCreationOptions insteaad of taking it as a parameter.
        (QTMovieVisualContext::QTMovieVisualContext): Take enum instead of CFDictionary for 
        visual context configuration type.
        * platform/graphics/win/QTMovieVisualContext.h:

2010-05-27  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam Roben.

        [Qt] REGRESSION(r60258): It broke 10 tests.
        https://bugs.webkit.org/show_bug.cgi?id=39819

        * plugins/qt/PluginDataQt.cpp:
        (WebCore::PluginData::initPlugins):
        Append the MimeClassInfo object after it's been initialized.

2010-05-27  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fixes for Windows after recent changes.

        * platform/graphics/wx/FontWx.cpp:
        * wscript:

2010-05-27  Chris Fleizach  <cfleizach@apple.com>

        No review, build fixage.

        Bug 39324 - AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
        https://bugs.webkit.org/show_bug.cgi?id=39324

        Rolling out change from r60307 until a better fix is ready.

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

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

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: check that ScriptDebugListener was not removed
        while messages were dispatched in the nested loop.
        https://bugs.webkit.org/show_bug.cgi?id=39838

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::handleV8DebugEvent):

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

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: undefined script URL value should be converted to an emtpy
        WebCore::String instead of "undefined" string. Otherwise it's shown
        in the Scripts panel with "undefined:<line no>" URL.
        https://bugs.webkit.org/show_bug.cgi?id=39845

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):

2010-05-27  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
        https://bugs.webkit.org/show_bug.cgi?id=39324

        Make sure that accessibilityAttributeValue:forParameter: will default to its super's implementation. This is how AppKit expects objects to behave.

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

2010-05-27  Xan Lopez  <xlopez@igalia.com>

        More GTK+ distcheck fixes.

        * GNUmakefile.am:

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

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: notify ScriptDebugListener when execution is resumed
        https://bugs.webkit.org/show_bug.cgi?id=39838

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::handleV8DebugEvent):

2010-05-27  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        qt_pixmapruntime.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39745

        Fix webkit coding style issues in qt_pixmapruntime.cpp

        * bridge/qt/qt_pixmapruntime.cpp:

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

        Reviewed by Steve Block.

        Clean up IndexedDB layout tests
        https://bugs.webkit.org/show_bug.cgi?id=39748

        Remove an assert that always fires.

        Tests: storage/indexeddb/idb-database-request.html
               storage/indexeddb/indexed-database-request.html

        * storage/IDBDatabaseImpl.cpp:
        (WebCore::IDBDatabaseImpl::objectStores):

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

        Reviewed by Yury Semikhatsky.

        Web Inspector: Get CSS rule offsets lazily.

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

        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::getStartEndOffsets):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::buildObjectForRule):

2010-05-27  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        qt_class.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39741

        Fix webkit coding style issues in qt_class.cpp

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

2010-05-27  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        Remove bit-rotten INSTRUMENT_LAYOUT_SCHEDULING code from HTMLTokenizer
        https://bugs.webkit.org/show_bug.cgi?id=39714

        This came from a discussion on #webkit with Hyatt about this code
        being old and no longer used to either of our knowledge.

        No functional changes, thus no tests.

        I also removed a bogus FIXME I had added in an earlier patch
        before I understood what the HTMLTokenizer was trying to do.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptHandler):
        (WebCore::HTMLTokenizer::scriptExecution):
        (WebCore::HTMLTokenizer::continueProcessing):
        (WebCore::HTMLTokenizer::willWriteHTML):
        (WebCore::HTMLTokenizer::didWriteHTML):
        (WebCore::HTMLTokenizer::timerFired):
        (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):

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

        Reviewed by Adam Barth.

        Add callbacks to ScriptController to allow notifications on named items additions and removals
        https://bugs.webkit.org/show_bug.cgi?id=39679

        * bindings/js/ScriptController.h: Callbacks with empty implementation added.
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/ScriptController.cpp: Empty implementation of callbacks.
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/ScriptController.h: Callbacks added.
        * html/HTMLDocument.cpp: Hooking in callbacks.
        (WebCore::HTMLDocument::addItemToMap):
        (WebCore::HTMLDocument::removeItemFromMap):
        * html/HTMLDocument.h:

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

        Reviewed by Dimitri Glazkov.

        Implement lazy clearing of renderbuffers
        https://bugs.webkit.org/show_bug.cgi?id=36248

        Test: fast/canvas/webgl/renderbuffer-initialization.html

        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::WebGLFramebuffer): Init added members.
        (WebCore::WebGLFramebuffer::setAttachment): Set attachment object.
        (WebCore::WebGLFramebuffer::onBind): Perform buffer clearing if needed.
        (WebCore::WebGLFramebuffer::onAttachedObjectChange): Ditto.
        (WebCore::WebGLFramebuffer::isUninitialized): Check whether an attached object is uninitialized renderbuffer.
        (WebCore::WebGLFramebuffer::setInitialized): After initialize a renderbuffer, set the flag.
        (WebCore::WebGLFramebuffer::initializeRenderbuffers): Clear un-initialized renderbuffers if framebuffer is complete.
        * html/canvas/WebGLFramebuffer.h:
        (WebCore::WebGLFramebuffer::isDepthAttached): Changed to check object.
        (WebCore::WebGLFramebuffer::isStencilAttached): Ditto.
        (WebCore::WebGLFramebuffer::isDepthStencilAttached): Ditto.
        * html/canvas/WebGLRenderbuffer.cpp:
        (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): Init added members.
        * html/canvas/WebGLRenderbuffer.h:
        (WebCore::WebGLRenderbuffer::isInitialized): As the function name.
        (WebCore::WebGLRenderbuffer::setInitialized): Ditto.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::bindFramebuffer): Call onBind().
        (WebCore::WebGLRenderingContext::copyTexImage2D): Call onAttachedObjectChange().
        (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
        (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
        (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Call setAttachment.
        (WebCore::WebGLRenderingContext::framebufferTexture2D): Call onAttachedObjectChange().
        (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
        (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
        * platform/graphics/mac/GraphicsContext3DMac.cpp:
        (WebCore::GraphicsContext3D::reshape): Initialize internal buffers.

2010-05-27  Kristian Monsen  <kristianm@google.com>

        Reviewed by Darin Adler.

        Compile fix for Android, added include for Refcounted.h, this did not get
        included through Threading.h in Android.
        https://bugs.webkit.org/show_bug.cgi?id=39678

        Build fix only, no new tests.

        * storage/SQLTransactionSyncCallback.h:

2010-05-27  Joone Hur  <joone@kldp.org>

        Reviewed by Xan Lopez.

        Add GtkVersioning.h in ScrollbackGtk.cpp for maintaining compatibility with the previous GTK+

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

        * platform/gtk/ScrollbarGtk.cpp:

2010-05-27  Hans Wennborg  <hans@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Increase limit on number of (i)frames from 200 to 1000.
        https://bugs.webkit.org/show_bug.cgi?id=39427

        The limit on number of iframes was introduced in r3707 back in 2003.
        An example of a page that is broken because of this is:
        http://vimcolorschemetest.googlecode.com/svn/html/index-c.html
        Neither Firefox nor IE has such a limit.

        It seems that WebKit can handle a significantly higher number of frames, and
        the original reasons for imposing the limit are believed to be gone.

        Tests: compositing/iframes/lots-of-iframes.html
               compositing/iframes/lots-of-objects.html

        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::isURLAllowed):
        * page/FrameTree.cpp:
        (WebCore::FrameTree::uniqueChildName):
        * page/Page.h:
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::isURLAllowed):

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

        Reviewed by Xan Lopez.

        [GTK] writeToFile fails when length is large
        https://bugs.webkit.org/show_bug.cgi?id=39666

        writeToFile forgot to increment data pointer.

        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::writeToFile):

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

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.
        
        Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
        |to| argument to be a RenderBlock.
        
        Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
        by hand.

        Make the append forms of the functions just use the insert forms with a beforeChild of 0.
        
        Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
        case where it does an append.
        
        Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
        messed up when using append/insertChildNode.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
        (WebCore::RenderBlock::createAndAppendRootInlineBox):
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveChildrenTo):
        (WebCore::RenderBlock::makeChildrenNonInline):
        (WebCore::RenderBlock::removeChild):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveAllChildrenTo):
        (WebCore::RenderBlock::moveChildrenTo):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::addChild):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::insertChildNode):
        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::moveInlineChildren):

2010-05-27  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add <pre>/<listing> hack to HTML5Lexer to fix the last remaining HTML5 test suite regressions
        https://bugs.webkit.org/show_bug.cgi?id=39818

        HTML parsers are supposed to ignore the first \n after a <pre> or <listing> tag
        for authoring convenience.  Our new HTML5Lexer didn't have this hack yet
        so there were 4 HTML5 tests failing.  Fixing this fixed the last of the HTML5
        test suite regressions using the HTML5Lexer vs the old lexer.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::reset):
        (WebCore::HTML5Lexer::nextToken):
        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::skipLeadingNewLineForListing):
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):

2010-05-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Teach the HTML5 parser how to handle external scripts
        https://bugs.webkit.org/show_bug.cgi?id=39716

        Make it possible for the HTML5Tokenizer to run external scripts.
        I created a new class HTML5ScriptRunner to hold all of the
        script-logic which is scattered throughout the old HTMLTokenizer.

        The design is for the HTML5Tokenizer (the "controller") to hold
        the Lexer, TreeBuilder and ScriptRunner.  The Lexer returns back
        to the controller, which passes tokens to the TreeBuilder.  When the
        treebuilder encounters a </script> tag it pauses itself and returns
        back to the controller which calls the ScriptRunner.  The TreeBuilder
        is un-paused when the HTML5Tokenizer calls takeScriptToProcess().

        The ScriptRunner attempts to process the passed script, and additionally
        any blocked scripts it can.  It returns to the controller indicating if
        parsing should continue.  If not, callbacks when external scripts load
        or when stylesheets are finished parsing will cause the controller to
        kick off script execution and parsing again at a later point.

        * WebCore.xcodeproj/project.pbxproj:
         - Add HTML5ScriptRunner.*
        * bindings/js/CachedScriptSourceProvider.h:
         - Add missing include discovered while building.
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::finishParsingChildren):
         - Remove previous hack for inline <script> execution.
        * dom/ScriptElement.h:
         - Explain the HTML5 spec names for m_evaluated and m_createdByParser.
        * html/HTML5ScriptRunner.cpp: Added.
        (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
         - The HTML5Tokenizer is passed to the HTML5ScriptRunner as a
           CachedResourceClient.  The HTML5ScriptRunner will register the
           HTML5Tokenizer for notifyFinished callbacks when the scripts load.
           The HTML5Tokenizer is expected to call the HTML5ScriptRunner to
           execute any loaded scripts at that point.
        (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
        (WebCore::HTML5ScriptRunner::frame): Helper method.
        (WebCore::createScriptLoadEvent): Helper method.
        (WebCore::createScriptErrorEvent): Helper method.
        (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
         - Helper method for dealing with both inline and external script types.
        (WebCore::HTML5ScriptRunner::isPendingScriptReady):
         - Helper for dealing with both inline and external scripts.
        (WebCore::HTML5ScriptRunner::executePendingScript):
         - Execute one script.  Both external and inline scripts
           can become m_parsingBlockingScript if they can't be executed
           immediately after parsing.
        (WebCore::HTML5ScriptRunner::execute):
         - Takes a script element from the tree builder and tries
           to process it.
        (WebCore::HTML5ScriptRunner::executeParsingBlockingScripts):
         - Runs the current parsing blocking script if ready.
         - Running a script could add another parsing blocking script
           so we loop until there is no ready-to-run parsing blocking script.
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
         - Called by HTML5Tokenizer when a script loads.
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
         - Called by HTML5Tokenizer when stylesheets complete.
        (WebCore::HTML5ScriptRunner::requestScript):
         - Transcription of the HTML5 spec.
        (WebCore::HTML5ScriptRunner::runScript):
         - Transcription of the HTML5 spec.
        * html/HTML5ScriptRunner.h: Added.
         - New class to handle script loading and execution for the HTML5 parser.
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
         - Create a HTML5ScriptRunner and pass it "this" as the CachedResourceClient.
        (WebCore::HTML5Tokenizer::pumpLexer):
         - When the parser is paused, try to run scripts.
        (WebCore::HTML5Tokenizer::write):
         - Only pump the lexer when the parser is not paused.
        (WebCore::HTML5Tokenizer::end):
         - finish() tells us that we've reached EOF, not end()
         - Only pump the lexer when the parser is not paused.
        (WebCore::HTML5Tokenizer::finish):
         - Mark EOF, and end() if we're not waiting on scripts.
        (WebCore::HTML5Tokenizer::isWaitingForScripts):
         - isPaused() seems to mean isPausedForExternalScripts().
        (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
        (WebCore::HTML5Tokenizer::notifyFinished):
        (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
        * html/HTML5Tokenizer.h:
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
         - Add an m_isPaused flag.
        (WebCore::HTML5TreeBuilder::handleScriptStartTag):
        (WebCore::HTML5TreeBuilder::handleScriptEndTag):
        (WebCore::HTML5TreeBuilder::takeScriptToProcess):
         - Acknowledge that the caller has received the script element.
           It is the caller's responsibility to execute the script if necessary
           and re-pause the tree builder if necessary.
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
         - Save off the current script tag so that it can be passed to
           the HTML5ScriptRunner when we're paused.
        * html/HTML5TreeBuilder.h:
        (WebCore::HTML5TreeBuilder::setPaused):
        (WebCore::HTML5TreeBuilder::isPaused):

2010-05-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Implement SegmentedString::lookAheadSlowCase
        https://bugs.webkit.org/show_bug.cgi?id=39802

        The slow case is need by the resumer test suite.  Sadly, the resumer
        test suite is really slow and produces infinite errors (many of which
        are false positives).  I'll land more of the resumer test suite in a
        future patch.

        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::advance):
        * platform/text/SegmentedString.h:
        (WebCore::SegmentedString::lookAhead):
        (WebCore::SegmentedString::lookAheadIgnoringCase):
        (WebCore::SegmentedString::equalsLiterally):
        (WebCore::SegmentedString::equalsIgnoringCase):
        (WebCore::SegmentedString::lookAheadInline):
        (WebCore::SegmentedString::lookAheadSlowCase):

2010-05-26  Jer Noble  <jer.noble@apple.com>

        Patch edited by Adele Peterson and Mark Rowe.
        Reviewed by Eric Carlson

        Video elements show no video on Windows machines that do not support accelerated compositing
        https://bugs.webkit.org/show_bug.cgi?id=39446
        rdar://problem/7999794
        
        Create the visual context in setUpVideoRendering (as opposed to in load), and destroy it in
        tearDownVideoRendering (as opposed to in the destructor.)

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::~MediaPlayerPrivateQuickTimeVisualContext):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Moved creation of the visual context to setUpVideoRendering.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Return early if the visual context isn't set up.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::currentRenderingMode): If the visual context isn't set up,
        return MediaRenderingNone.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering): Create the visual context.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering): Destroy the visual context.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::hasSetUpVideoRendering): For software rendering mode, 
        make sure the visual context has been set up when saying the setup has been done.
        * platform/graphics/win/QTMovieVisualContext.cpp:
        (QTMovieVisualContextPriv::~QTMovieVisualContextPriv): Destruction moved to tearDownVideoRendering.
        Also, make sure to cancel the visual context's newImageAvailable callback in the visual context's destructor.
        (QTMovieVisualContext::create): Added.
        * platform/graphics/win/QTMovieVisualContext.h:

2010-05-26  Gustavo Noronha Silva  <gns@gnome.org>

        Build fixes for make distcheck.

        * GNUmakefile.am:

2010-05-26  Zelidrag Hornung  <zelidrag@chromium.org>

        Reviewed by Ojan Vafai.

        Fixed frame page up/down scrolling calculation. Made sure that the
        cursor moves with page up/down event. Please note that now for mac
        editing behavior we will scroll the content to center the cursor on
        page up/down while other platforms will align the cursor with the top of
        displayed frame.
        https://bugs.webkit.org/show_bug.cgi?id=38213

        Tests: editing/input/option-page-up-down.html (fixed)
               editing/input/scroll-viewport-page-up-down.html

        * WebCore.base.exp:
        * editing/EditorCommand.cpp:
        (WebCore::verticalScrollDistance): Fixed page scroll calculation. Now scroll height is calculated only from the visible portion not the entire frame height.
        (WebCore::executeMovePageDown): Now it can tell SelectionController to move the cursor with the page scroll up/down events.
        (WebCore::executeMovePageDownAndModifySelection): Ditto.
        (WebCore::executeMovePageUp): Ditto.
        (WebCore::executeMovePageUpAndModifySelection): Ditto.
        * editing/SelectionController.cpp:
        * editing/SelectionController.cpp: Exposed an enum param that lets EditorCommand.cpp control how cursor position will be aligned when page moves.
        (WebCore::SelectionController::setSelection): Ditto.
        (WebCore::SelectionController::modify): Ditto.
        * editing/SelectionController.h: Ditto.
        (WebCore::SelectionController::): Ditto.
        (WebCore::SelectionController::setSelection): Ditto.

2010-05-26  Jaime Yap  <jaimeyap@google.com>

        Reviewed by Pavel Feldman.

        ScriptCallStack::callLocation() sometimes passed an empty handle to
        toWebCoreString() causing a null pointer deref.
        https://bugs.webkit.org/show_bug.cgi?id=39681

        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::callLocation):

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

        Reviewed by Mark Rowe.

        Web Inspector: Tooltip on Pause on Exceptions doesn't show up until it is clicked.
        https://bugs.webkit.org/show_bug.cgi?id=39804
        
        Initialize the title attribute of the Pause on Exceptions button when we initialize other information
        about it. 

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

2010-05-26  Adam Barth  <abarth@webkit.org>

        Unreviewed, rolling out r60262.
        http://trac.webkit.org/changeset/60262
        https://bugs.webkit.org/show_bug.cgi?id=39783

        Broke every build and is blocking me from working.  :(

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveAllChildrenTo):
        (WebCore::RenderBlock::makeChildrenNonInline):
        (WebCore::RenderBlock::removeChild):
        * rendering/RenderBlock.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::addChild):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::insertChildNode):
        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::moveInlineChildren):
        (WebCore::RenderRubyBase::moveBlockChildren):
        (WebCore::RenderRubyBase::mergeBlockChildren):

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

        Unreviewed, rolling out r60256.
        http://trac.webkit.org/changeset/60256
        https://bugs.webkit.org/show_bug.cgi?id=39382

        Causes fast/dom/prototype-inheritance-2.html to start
        crashing.

        * history/PageCache.cpp:
        (WebCore::PageCache::PageCache):
        (WebCore::PageCache::add):
        * history/PageCache.h:
        (WebCore::PageCache::get):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::commitIfReady):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::canCachePageContainingThisFrame):
        (WebCore::FrameLoader::canCachePage):
        (WebCore::pageCacheLogPrefix):
        (WebCore::pageCacheLog):
        (WebCore::FrameLoader::logCanCachePageDecision):
        (WebCore::FrameLoader::logCanCacheFrameDecision):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::open):
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
        (WebCore::FrameLoader::cachePageForHistoryItem):
        (WebCore::FrameLoader::navigateToDifferentDocument):
        * loader/FrameLoader.h:
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

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

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.
        
        Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
        |to| argument to be a RenderBlock.
        
        Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
        by hand.

        Make the append forms of the functions just use the insert forms with a beforeChild of 0.
        
        Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
        case where it does an append.
        
        Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
        messed up when using append/insertChildNode.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
        (WebCore::RenderBlock::createAndAppendRootInlineBox):
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveChildrenTo):
        (WebCore::RenderBlock::makeChildrenNonInline):
        (WebCore::RenderBlock::removeChild):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveAllChildrenTo):
        (WebCore::RenderBlock::moveChildrenTo):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::addChild):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::insertChildNode):
        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::moveInlineChildren):

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

        Fix GTK+ test failures.

        * plugins/gtk/PluginDataGtk.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/win/PluginDataWin.cpp:
        (WebCore::PluginData::initPlugins):

2010-05-25  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Clean up MimeClassInfo and PluginInfo
        https://bugs.webkit.org/show_bug.cgi?id=39700

        This gets rid of all the heap allocation from MimeClassInfo and PluginInfo. 
        
        It also changes the m_plugins and m_mimes vectors in PluginData to not hold heap allocated MimeClassInfo
        and PluginClassInfo objects.

        * page/Page.cpp:
        (WebCore::Page::refreshPlugins):
        * plugins/MimeType.cpp:
        (WebCore::MimeType::type):
        (WebCore::MimeType::suffixes):
        (WebCore::MimeType::description):
        (WebCore::MimeType::enabledPlugin):
        * plugins/MimeType.h:
        (WebCore::MimeType::mimeClassInfo):
        * plugins/MimeTypeArray.cpp:
        (WebCore::MimeTypeArray::item):
        (WebCore::MimeTypeArray::canGetItemsForName):
        (WebCore::MimeTypeArray::namedItem):
        * plugins/Plugin.cpp:
        (WebCore::Plugin::name):
        (WebCore::Plugin::filename):
        (WebCore::Plugin::description):
        (WebCore::Plugin::length):
        (WebCore::Plugin::item):
        (WebCore::Plugin::canGetItemsForName):
        (WebCore::Plugin::namedItem):
        * plugins/Plugin.h:
        (WebCore::Plugin::pluginInfo):
        * plugins/PluginArray.cpp:
        (WebCore::PluginArray::length):
        (WebCore::PluginArray::item):
        (WebCore::PluginArray::canGetItemsForName):
        (WebCore::PluginArray::namedItem):
        (WebCore::PluginArray::pluginData):
        * plugins/PluginArray.h:
        * plugins/PluginData.cpp:
        (WebCore::PluginData::PluginData):
        (WebCore::PluginData::~PluginData):
        (WebCore::PluginData::supportsMimeType):
        (WebCore::PluginData::pluginNameForMimeType):
        * plugins/PluginData.h:
        (WebCore::operator==):
        (WebCore::PluginData::create):
        (WebCore::PluginData::disconnectPage):
        (WebCore::PluginData::page):
        (WebCore::PluginData::plugins):
        (WebCore::PluginData::mimes):
        * plugins/chromium/PluginDataChromium.cpp:
        (WebCore::PluginCache::reset):
        (WebCore::PluginCache::plugins):
        (WebCore::PluginData::initPlugins):
        (WebCore::getPluginMimeTypeFromExtension):
        * plugins/gtk/PluginDataGtk.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/mac/PluginDataMac.mm:
        (WebCore::PluginData::initPlugins):
        * plugins/qt/PluginDataQt.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/win/PluginDataWin.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/wx/PluginDataWx.cpp:
        (WebCore::PluginData::initPlugins):

2010-05-26  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Factor PageCache functionality out of FrameLoader and into
        PageCache.

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

        Refactor only, so no new tests.

        * history/PageCache.cpp:
        (WebCore::pageCacheLogPrefix):
        (WebCore::pageCacheLog):
        (WebCore::logCanCacheFrameDecision):
        (WebCore::logCanCachePageDecision):
        (WebCore::PageCache::canCachePageContainingThisFrame):
        (WebCore::PageCache::canCache):
        (WebCore::PageCache::add):
        (WebCore::PageCache::get):
        * history/PageCache.h:
        * loader/DocumentLoader.cpp:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::prepareForCachedPageRestore):
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
        (WebCore::FrameLoader::navigateToDifferentDocument):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::quickRedirectComing):
        * svg/graphics/SVGImage.cpp:

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

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=39786
        Properly reset |bytes_to_consume| when reaching the "gif_done" state in
        the open-source GIF decoder.
        
        No tests, since there's no test harness support for checking the
        internal ImageDecoder state values.

        * platform/image-decoders/gif/GIFImageReader.cpp:
        (GIFImageReader::read): Use a macro to perform the state change, like we do everywhere else in the file.  Also correctly return "failure" for certain corrupt GIFs, since that doesn't prevent their display (due to WebKit's different use of this code compared to Mozilla).

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

        Unreviewed, rolling out r60251.
        http://trac.webkit.org/changeset/60251
        https://bugs.webkit.org/show_bug.cgi?id=39788

        broke tests (Requested by dhyatt on #webkit).

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveAllChildrenTo):
        (WebCore::RenderBlock::makeChildrenNonInline):
        (WebCore::RenderBlock::removeChild):
        * rendering/RenderBlock.h:
        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::moveInlineChildren):
        (WebCore::RenderRubyBase::moveBlockChildren):
        (WebCore::RenderRubyBase::mergeBlockChildren):
        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::removeChild):

2010-05-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Fix webkit01.dat resumer tests in HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39796

        To match the old tokenizer, we should only flush character tokens when
        we reach EOF.  Added a notion of a "closed" segmented string that
        cannot be appended to, which models EOF.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):
        (WebCore::HTML5Lexer::shouldEmitBufferedCharacterToken):
        * html/HTML5Lexer.h:
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::pumpLexer):
        (WebCore::HTML5Tokenizer::write):
        (WebCore::HTML5Tokenizer::end):
        * html/HTML5Tokenizer.h:
        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::SegmentedString):
        (WebCore::SegmentedString::clear):
        (WebCore::SegmentedString::append):
        * platform/text/SegmentedString.h:
        (WebCore::SegmentedString::SegmentedString):
        (WebCore::SegmentedString::close):
        (WebCore::SegmentedString::isClosed):

2010-05-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5 lexer not ASSERT when resuming partial parses
        https://bugs.webkit.org/show_bug.cgi?id=39755

        I'm working through a variation of the webkit-runner.html test suite
        that stops the parser at every character to make sure we can resume
        parsing correctly.  This patch fixes some errors caught by ASSERTs,
        which prevent the basic tests from running to completion.  There's a
        bunch more work to do, however.

        Test: html5lib/webkit-resumer.html

        * html/HTML5Lexer.cpp:
        (WebCore::HTMLNames::isEndTagBufferingState):
        (WebCore::HTML5Lexer::nextToken):
        (WebCore::HTML5Lexer::addToPossibleEndTag):
        * html/HTML5Lexer.h:
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::write):
        * html/HTML5Tokenizer.h:

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

        Mac 32 bit build fix.

        * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
        Use static_cast instead of narrowPrecisionToFloat - the latter can't convert from float to float.

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

        Reviewed by Ojan.

        https://bugs.webkit.org/show_bug.cgi?id=39783, clean up moveChild functions in RenderBlock.

        Cut out the need to pass the to block's child list by tightening up the type of the to object
        from RenderObject to RenderBlock.

        Implement the "append" versions of the move functions using their "insert" counterparts, since
        insertChildNode just calls appendChildNode when beforeChild is 0 anyway.

        Add comments explaining why the default for fullRemoveInsert is false, and make sure all forms
        of the move functions have the optional parameter for consistency.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::createAndAppendRootInlineBox):
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveAllChildrenTo):
        (WebCore::RenderBlock::makeChildrenNonInline):
        (WebCore::RenderBlock::removeChild):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveAllChildrenTo):
        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::moveInlineChildren):
        (WebCore::RenderRubyBase::moveBlockChildren):
        (WebCore::RenderRubyBase::mergeBlockChildren):
        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::removeChild):

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

        Typed and reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=39682
        <rdar://problem/8026774> REGRESSION: WebKit nightly adding insane height to div at random

        Test: fast/css/custom-font-xheight.html

        * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
        Calling an Objective C method that returns a structure with a null object can leave garbage in
        returned value. Custom fonts don't have an NSFont, they only have a CGFont. Call
        platformBoundsForGlyph() function instead, which works with CGFont.
        (WebCore::SimpleFontData::platformBoundsForGlyph): Fixed to work on Tiger (for fonts that
        have an NSFont), since this is now used in more cases.

2010-05-26  Beth Dakin  <bdakin@apple.com>

        Build fix for Mac clean builds.

        * storage/IDBDatabaseRequest.idl:

2010-05-26  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        Must not cast between CFNumberRef and CFBooleanRef.
        <rdar://problem/8030739> 
        https://bugs.webkit.org/show_bug.cgi?id=39756

        * platform/graphics/win/QTMovieVisualContext.cpp:
        (QTMovieVisualContext::getCGImageOptions): QuickTime assumes the value associated 
        with kCVPixelBufferCGImageCompatibilityKey is a CFBoolean, so add one.

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

        GTK+ build fix, strike two.

        * bindings/gobject/WebKitDOMEventTarget.cpp:
        (webkit_dom_event_target_get_type):
        (webkit_dom_event_target_default_init):

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

        Unreviewed build fix for Windows + clean up the Visual Studio project.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:

2010-05-26  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        Indexed Database component is missing IDBObjectStoreRequest interface
        https://bugs.webkit.org/show_bug.cgi?id=39490

        Adding IDL and stub implementation for IDBObjectStoreRequest.

        No new tests, indexed database isn't yet testable.

        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSIDBObjectStoreRequestCustom.cpp: Added.
        (WebCore::JSIDBObjectStoreRequest::remove):
        (WebCore::JSIDBObjectStoreRequest::addOrModify):
        (WebCore::JSIDBObjectStoreRequest::modify):
        (WebCore::JSIDBObjectStoreRequest::add):
        (WebCore::JSIDBObjectStoreRequest::get):
        * bindings/v8/custom/V8IDBObjectStoreRequestCustom.cpp: Added.
        (WebCore::V8IDBObjectStoreRequest::removeCallback):
        (WebCore::V8IDBObjectStoreRequest::addOrModifyCallback):
        (WebCore::V8IDBObjectStoreRequest::modifyCallback):
        (WebCore::V8IDBObjectStoreRequest::addCallback):
        (WebCore::V8IDBObjectStoreRequest::getCallback):
        * storage/IDBObjectStore.cpp: Added.
        * storage/IDBObjectStore.h: Added.
        (WebCore::IDBObjectStore::~IDBObjectStore):
        * storage/IDBObjectStoreRequest.cpp: Added.
        (WebCore::IDBObjectStoreRequest::name):
        (WebCore::IDBObjectStoreRequest::keyPath):
        (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
        * storage/IDBObjectStoreRequest.h: Added.
        (WebCore::IDBObjectStoreRequest::create):
        (WebCore::IDBObjectStoreRequest::~IDBObjectStoreRequest):
        * storage/IDBObjectStoreRequest.idl: Added.

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

        Unreviewed GTK+ build fix.

        Use G_DEFINE_INTERFACE only if it's available.

        * bindings/gobject/WebKitDOMEventTarget.cpp:
        (webkit_dom_event_target_get_type):
        (webkit_dom_event_target_default_init):

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

        Reviewed by Darin Fisher.

        Implement WebDOMStorageList and make WebIDBDatabase use it
        https://bugs.webkit.org/show_bug.cgi?id=39731

        Remove unused function.

        * dom/DOMStringList.h:

2010-05-26  Jessie Berlin  <jberlin@webkit.org>

        Reviewed by Pavel Feldman

        Bug 31296 - Web Inspector: Should support console.groupCollapsed
        https://bugs.webkit.org/show_bug.cgi?id=31296

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::startGroup):
        Set the message type based on whether or not it should be initially collapsed.
        * inspector/InspectorController.h:

        * inspector/front-end/ConsoleView.js:
        Treat a StartGroupCollapsed message the same way as a StartGroup message, but display the tree for the group as collapsed.
        (WebInspector.ConsoleView.prototype.addMessage):
        (WebInspector.ConsoleMessage.prototype.toMessageElement):
        (WebInspector.ConsoleMessage.prototype.toString):
        (WebInspector.ConsoleGroup.prototype.addMessage):

        * page/Console.cpp:
        (WebCore::Console::groupCollapsed):
        Create a group and indicate that it should be collapsed.
        * page/Console.h:
        Add the StartGroupCollapsed message type.

        (WebCore::):
        * page/Console.idl:
        Create the JS bindings for groupCollapsed.

2010-05-26  yael aharon  <yael.aharon@nokia.com>

        Reviewed by Kent Tamura.

        Support the labels attribute in labelable form controls
        https://bugs.webkit.org/show_bug.cgi?id=38713

        Added a new cache type in NodeRareData to store the new cache type.
        This cache is created on demand.

        Added the "labels" attribute to all form controls that support this attribute.

        Tests: fast/forms/labels-add-htmlFor-label.html
               fast/forms/labels-add-parent-label.html
               fast/forms/labels-change-htmlFor-attribute.html
               fast/forms/labels-item-index.html
               fast/forms/labels-remove-htmlFor-attribute.html
               fast/forms/labels-remove-htmlFor-label.html
               fast/forms/labels-remove-parent-label.html
               fast/forms/labels-set-htmlFor-attribute.html

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Node.cpp:
        (WebCore::Node::notifyLocalNodeListsLabelChanged):
        (WebCore::Node::removeCachedLabelsNodeList):
        (WebCore::NodeListsNodeData::invalidateCaches):
        (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
        (WebCore::NodeListsNodeData::isEmpty):
        * dom/Node.h:
        * dom/NodeRareData.h:
        (WebCore::NodeListsNodeData::NodeListsNodeData):
        * html/HTMLButtonElement.idl:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::isLabelable):
        (WebCore::HTMLFormControlElement::labels):
        * html/HTMLFormControlElement.h:
        * html/HTMLInputElement.idl:
        * html/HTMLLabelElement.cpp:
        (WebCore::HTMLLabelElement::parseMappedAttribute):
        * html/HTMLLabelElement.h:
        * html/HTMLMeterElement.idl:
        * html/HTMLProgressElement.idl:
        * html/HTMLSelectElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/LabelsNodeList.cpp: Added.
        (WebCore::LabelsNodeList::LabelsNodeList):
        (WebCore::LabelsNodeList::~LabelsNodeList):
        (WebCore::LabelsNodeList::nodeMatches):
        * html/LabelsNodeList.h: Added.
        (WebCore::LabelsNodeList::create):

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

        Reviewed by Jeremy Orlow.

        Style fix in JSEventCustom.cpp
        https://bugs.webkit.org/show_bug.cgi?id=39727

        Conditional includes should be all together after the
        unconditional includes.

        * bindings/js/JSEventCustom.cpp:

2010-05-24  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Add IDBDatabase's attributes
        https://bugs.webkit.org/show_bug.cgi?id=39602

        Add the attributes (like name, description, etc) for
        IDBDatabaseRequest.  Plumb that back to the IDBDatabase
        object which stores the data.

        CMake and Android build changes in another CL (that
        fixes other stuff too).

        Updated the layout test, but there's some further testing
        that needs to be added once the Chromium side of this lands.

        * GNUmakefile.am
        * WebCore.gypi:
        * WebCore.pro
        * WebCore.vcproj/WebCore.vcproj
        * WebCore.xcodeproj/project.pbxproj
        * dom/DOMStringList.h:
        (WebCore::DOMStringList::strings):
        * storage/IDBDatabase.cpp: Removed.
        * storage/IDBDatabase.h:
        * storage/IDBDatabaseImpl.cpp: Added.
        (WebCore::IDBDatabaseImpl::IDBDatabaseImpl):
        (WebCore::IDBDatabaseImpl::~IDBDatabaseImpl):
        (WebCore::IDBDatabaseImpl::objectStores):
        * storage/IDBDatabaseImpl.h: Added.
        (WebCore::IDBDatabaseImpl::create):
        (WebCore::IDBDatabaseImpl::name):
        (WebCore::IDBDatabaseImpl::description):
        (WebCore::IDBDatabaseImpl::version):
        * storage/IDBDatabaseRequest.h:
        (WebCore::IDBDatabaseRequest::name):
        (WebCore::IDBDatabaseRequest::description):
        (WebCore::IDBDatabaseRequest::version):
        (WebCore::IDBDatabaseRequest::objectStores):
        * storage/IDBDatabaseRequest.idl:
        * storage/IDBSuccessEvent.cpp:
        (WebCore::IDBSuccessEvent::IDBSuccessEvent):
        * storage/IndexedDatabaseImpl.cpp:
        (WebCore::IndexedDatabaseImpl::open):
        * storage/IndexedDatabaseImpl.h:

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

        Reviewed by NOBODY Gustavo Noronha.

        [GTK] Add support for DOM events in the GObject DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=38844

        Add actual GObject event objects to the DOM event signals.

        * GNUmakefile.am:
        * bindings/gobject/GObjectEventListener.cpp:
        (WebCore::GObjectEventListener::handleEvent):
        * bindings/gobject/WebKitDOMBinding.cpp:
        (WebKit::wrapEventTarget):
        (WebKit::kit):
        * bindings/gobject/WebKitDOMBinding.h:
        * bindings/gobject/WebKitDOMEventTarget.cpp: Added.
        (webkit_dom_event_target_default_init):
        (webkit_dom_event_target_dispatch_event):
        * bindings/gobject/WebKitDOMEventTarget.h: Added.
        * bindings/scripts/CodeGeneratorGObject.pm:

2010-05-24  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        [Android] Add IndexedDB to the build
        https://bugs.webkit.org/show_bug.cgi?id=39593

        Add the current list of build files to Android's make files.  From now on,
        I'll try to be sure to update these along with the rest.
        Also, fix a nit in the gypi file.

        No tests..just changing build files.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * WebCore.gypi:

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

        Reviewed by Pavel Feldman.

        Expose CSS rule body start/end offsets in the parent stylesheet
        https://bugs.webkit.org/show_bug.cgi?id=38906

        CSSParser::parseSheet() accepts an optional external Vector where the start/end offsets
        of the CSSStyleRule bodies, relative to the beginning of the stylesheet, will be stored.
        This Vector is only used when the Web Inspector needs the body ranges, thus there is no
        memory overhead until the user starts editing styles via the Web Inspector.
        Additionally, fixed an issue with a single inspectorStyleSheet for all frames in the page.

        Test: inspector/styles-source-offsets.html

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::setupParser):
        (WebCore::CSSParser::parseSheet):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::updateLastSelectorLineAndPosition):
        (WebCore::CSSParser::markRuleBodyStart):
        (WebCore::CSSParser::markRuleBodyEnd):
        * css/CSSParser.h:
        (WebCore::CSSParser::resetRuleBodyMarks):
        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::InspectorCSSStore):
        (WebCore::InspectorCSSStore::reset):
        (WebCore::InspectorCSSStore::removeDocument):
        (WebCore::InspectorCSSStore::inspectorStyleSheet):
        (WebCore::InspectorCSSStore::getStartEndOffsets):
        (WebCore::InspectorCSSStore::getIndexInStyleRules):
        (WebCore::InspectorCSSStore::disabledStyleForId):
        (WebCore::InspectorCSSStore::styleForId):
        (WebCore::InspectorCSSStore::ruleForId):
        (WebCore::InspectorCSSStore::bindStyle):
        (WebCore::InspectorCSSStore::bindStyleSheet):
        (WebCore::InspectorCSSStore::bindRule):
        * inspector/InspectorCSSStore.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::resourceForURL):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::inspectorFrontend):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::unbind):
        (WebCore::InspectorDOMAgent::getStyles):
        (WebCore::InspectorDOMAgent::getAllStyles):
        (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
        (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
        (WebCore::InspectorDOMAgent::applyStyleText):
        (WebCore::InspectorDOMAgent::setStyleText):
        (WebCore::InspectorDOMAgent::setStyleProperty):
        (WebCore::InspectorDOMAgent::toggleStyleEnabled):
        (WebCore::InspectorDOMAgent::setRuleSelector):
        (WebCore::InspectorDOMAgent::addRule):
        (WebCore::InspectorDOMAgent::buildObjectForStyle):
        (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
        (WebCore::InspectorDOMAgent::buildObjectForRule):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.CSSStyleDeclaration):

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

        Reviewed by Gustavo Noronha.

        [GTK] Add support for DOM events in the GObject DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=38844

        Use GObject-like names for the DOM event signals. Basically go
        from 'mousewheel' to 'mouse-wheel-event'.

        * bindings/scripts/CodeGeneratorGObject.pm:

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

        Not reviewed. Sort Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

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

        Reviewed by Gustavo Noronha.

        [GTK] Add support for DOM events in the GObject DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=38844

        First step towards DOM events support. We create one signal per
        event supported in the DOM classes, and create a custom
        GObjectEventListener that will emit a GObject signal when an event
        is dispatched to the object. There is no event object at the
        moment (we just pass NULL), and no support for hooking into the
        capture phase.

        * GNUmakefile.am:
        * bindings/gobject/GObjectEventListener.cpp: Added.
        (WebCore::GObjectEventListener::handleEvent):
        (WebCore::GObjectEventListener::operator==):
        * bindings/gobject/GObjectEventListener.h: Added.
        (WebCore::GObjectEventListener::create):
        (WebCore::GObjectEventListener::cast):
        (WebCore::GObjectEventListener::GObjectEventListener):
        * bindings/scripts/CodeGeneratorGObject.pm:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        (WebKit::core):
        (webkit_dom_test_callback_finalize):
        (webkit_dom_test_callback_class_init):
        (WebKit::wrapTestCallback):
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
        (WebKit::core):
        (webkit_dom_test_interface_finalize):
        (webkit_dom_test_interface_class_init):
        (WebKit::wrapTestInterface):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (WebKit::core):
        (webkit_dom_test_obj_finalize):
        (webkit_dom_test_obj_class_init):
        (WebKit::wrapTestObj):
        * dom/EventListener.h:
        (WebCore::EventListener::):

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

        Reviewed by Gustavo Noronha.

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

        We need to protect the body of some methods with #ifdefs, since
        the availability of the code they call into is decided at compile
        time.

        * bindings/scripts/CodeGeneratorGObject.pm:

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

        Reviewed by Shinichiro Hamaji.

        Move date/time limit values to DateComponents.h from HTMLInputElement.cpp
        https://bugs.webkit.org/show_bug.cgi?id=39423

        The minimum and maximum values for date, datetime, datetime-local,
        month, time, and week types depend on the implementation of
        DateComponents.  So move them to DateComponents.

        * html/DateComponents.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::minimum):
        (WebCore::HTMLInputElement::maximum):

2010-05-26  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Simon Hausmann.

        Buildfix for build without ENABLE(RUBY) after r60201.

        * rendering/RenderBlock.cpp:
        (WebCore::canMergeContiguousAnonymousBlocks): Missing #if ENABLE(RUBY) guard added.

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

        Not reviewed. Update test expectations for JS generator, when using run-webkit-tests. This has been forgotten.

        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
        (WebCore::JSTestInterface::createPrototype):
        * bindings/scripts/test/JS/JSTestInterface.h:
        (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObjConstructor::JSTestObjConstructor):
        (WebCore::JSTestObj::createPrototype):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore::JSTestObjPrototype::JSTestObjPrototype):

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

        Reviewed by Gustavo Noronha Silva.

        [GStreamer] Apple trailers not playing
        https://bugs.webkit.org/show_bug.cgi?id=37390

        Set the AppleTrailer User-Agent workaround after
        FrameLoader::addExtraFieldsToSubresourceRequest has been called
        because that method sets the global User-Agent.

        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (webKitWebSrcStart):

2010-05-25  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, changing "fts2" to "fts3" in one location I missed in r60188.

        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::dropVTable):

2010-05-25  Mark Rowe  <mrowe@apple.com>

        Build fix.

        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:

2010-05-25  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Show HTTP status message sent from server in Resources tab.

        This patch obtains an HTTP status message of each resource and pass it to
        the front end of Web Inspector. The status message is shown in "Headers" tab in
        the detail view of that resource, along with the HTTP status code.

        Web Inspector does not respect HTTP status message
        https://bugs.webkit.org/show_bug.cgi?id=39595

        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateResponse):
        (WebCore::InspectorResource::updateScriptObject):
        * inspector/InspectorResource.h:
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.CompareByTransferSize):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshHTTPInformation):
        * inspector/front-end/inspector.js:
        (WebInspector.updateResource):
        * inspector/front-end/utilities.js:
        (String.prototype.escapeHTML): Escape '"' so that we can escape messages
        that may occur inside HTML attributes.

2010-05-24  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=39615, implement basic support for -webkit-column-span.

        This patch adds support for -webkit-column-span elements that can span across all of the columns
        in a multi-column block.  In this first stage, column span support is limited to only immediate
        children of the multi-column block, so no elements actually have to split across a span yet.

        Two new kinds of anonymous blocks have been added: anonymous columns blocks and anonymous column
        span blocks.  When a span gets inserted into a multicol block, the block is split, with the
        column portions of the multicol getting wrapped in anonymous columns blocks and the spans getting
        wrapped in anonymous column span blocks.  The multicol block then stops being multicol and lets
        the anonymous multicol blocks take over column layout.
        
        Many new tests added in fast/multicol/span.

        * dom/Node.cpp:
        (WebCore::Node::diff):
        Changes to column span result in a detach/attach, since spanning elements don't typically have
        much content.
    
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::styleDidChange):
        Make sure to inherit the appropriate new styles into the anonymous column and column span blocks.

        (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
        This method handles the insertion of new children into the block after it has had to wrap its
        children in anonymous column/column-span blocks.
        
        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
        A helper method for splitting all anonymous blocks between beforeChild and this block so that
        a new element with an incompatible type can be inserted between them.
        
        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
        This method does the initial split of a block into anonymous components.  This happens the first
        time a column-span element gets inserted into the block.

        (WebCore::columnsBlockForSpanningElement):
        This function checks whether or not the column-span element is actually being inserted into a viable
        columns block.

        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
        This is the original RenderBlock::addChild.  It handles everything else just like it used to.
        
        (WebCore::RenderBlock::addChild):
        Patched to now call addChildToAnonymousColumnBlocks if the block has wrapped its current children
        in anonymous column/column-span blocks already.

        (WebCore::RenderBlock::moveAllChildrenTo):
        moveAllChildrenTo has been enhanced to support doing a full remove/append in the case where elements
        are shifting across layers.  (This should arguably be the default behavior, but that can happen in
        a future patch.)

        (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
        Patched to fix a bug when the leftover block is empty and to prevent anonymous column/column-span
        block from being coalesced with a parent if they are non-empty.

        (WebCore::canMergeContiguousAnonymousBlocks):
        Whether or not two contiguous anonymous blocks can merge after the removal of a child.

        (WebCore::RenderBlock::removeChild):
        removeChild has been patched to handle more cases of merging/deletion than it did before.  It
        can now destroy empty anonymous block chains and can now merge two contiguous anonymous blocks
        that don't share the same childrenInline() setting (by putting one inside the other).  It also
        makes sure to do full appends/moves/inserts in the cases where the affected blocks have layers.
        
        (WebCore::RenderBlock::fillSelectionGaps):
        Don't let the selection extend outside of a column-span.
        
        (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
        Turn off multi-column layout on the outermost block if it has wrapped its children in anonymous
        column/column-span blocks.

        (WebCore::RenderBlock::createAnonymousBlockWithSameTypeAs):
        (WebCore::RenderBlock::createAnonymousColumnsBlock):
        (WebCore::RenderBlock::createAnonymousColumnSpanBlock):
        New helper functions for anonymous block creation.
        
        (WebCore::RenderBlock::renderName):
        Patched to dump anonymous column and column-span blocks so that they can be distinguished from
        regular anonymous blocks.
        * rendering/RenderBlock.h:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isAnonymousColumnsBlock):
        (WebCore::RenderObject::isAnonymousColumnSpanBlock):
        New helper functions for asking the type of an anonymous block.
        
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::inheritColumnPropertiesFrom):
        A helper function to allow anonymous column blocks to easily inherit all column properties for
        rendering.

2010-05-25  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Re-commit r58765 - it had been rolled out to see if it was causing
        a perf regression (in r59787), but that does not seem to have been
        the case.

        Tests: fast/notifications/notifications-replace.html
               fast/notifications/notifications-rtl.html

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

        * notifications/Notification.h:
        (WebCore::Notification::dir):
        (WebCore::Notification::setDir):
        (WebCore::Notification::replaceId):
        (WebCore::Notification::setReplaceId):
        * notifications/Notification.idl:

2010-05-22  Jer Noble  <jer.noble@apple.com>

        Reviewed by Adam Roben.

        Full screen doesn't work for video elements
        https://bugs.webkit.org/show_bug.cgi?id=39557
        rdar://problem/8011813
        
        Add fullscreen support for MediaPlayerPrivateVisualContext.  A new class, MediaPlayerPrivateFullscreenWindow,
        provides the fullscreen hwnd and layer renderer.  Any WKCACFLayer can be provided to MediaPlayerPrivateFullscreenWindow
        so future additional MediaPlayerPrivate implementations can use the fullscreen window.
        
        Minor additions have been made to the FloatSize and IntSize classes.

        MediaPlayerPrivateQuickTimeVisualContext now calls retrieveCurrentImage after creating a new 
        videoLayer; this is an existing bug that was never really exposed before now.

        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/FloatSize.h: Added aspectRatio() and scale(float).
        (WebCore::FloatSize::aspectRatio):
        (WebCore::FloatSize::scale):
        * platform/graphics/IntSize.h: Added aspectRatio().
        (WebCore::IntSize::aspectRatio):
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Added.
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Added.
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Call retrieveCurrentImage() after creating the videoLayer.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
        * platform/graphics/win/WKCACFLayer.cpp: 
        (WebCore::WKCACFLayer::WKCACFLayer):
        (WebCore::WKCACFLayer::removeFromSuperlayer):
        (WebCore::WKCACFLayer::setFrame):
        (WebCore::WKCACFLayer::internalSetNeedsDisplay):
        (WebCore::WKCACFLayer::setLayoutClient):
        (WebCore::WKCACFLayer::layoutSublayersProc):
        (WebCore::WKCACFLayer::layoutClient):
        (WebCore::WKCACFLayer::setNeedsLayout):
        * platform/graphics/win/WKCACFLayer.h: Add layout client class.
        (WebCore::WKCACFLayerLayoutClient::~WKCACFLayerLayoutClient):
        (WebCore::WKCACFLayer::frame): Added back frame()/setFrame().
        * platform/graphics/win/WebTiledLayer.cpp:
        (WebCore::WebTiledLayer::setFrame): Implamented setFrame() in subclass of WKCACFLayer
        * platform/graphics/win/WebTiledLayer.h:
        * platform/graphics/win/WebTiledLayer.cpp: Added setFrame() overriding WKCACFLayer's implementation
        (WebCore::WebTiledLayer::setFrame):
        * platform/graphics/win/WebTiledLayer.h:


2010-05-25  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Brady Eidson.

        Allow FTS3 functions.
        https://bugs.webkit.org/show_bug.cgi?id=38003

        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::addWhitelistedFunctions):
        (WebCore::DatabaseAuthorizer::createVTable):

2010-05-25  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Get rid of PluginDatabaseClient
        https://bugs.webkit.org/show_bug.cgi?id=39685

        PluginDatabaseClient isn't used anywhere so just remove it.

        * GNUmakefile.am:
        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::PluginDatabase):
        (WebCore::PluginDatabase::refresh):
        * plugins/PluginDatabase.h:
        * plugins/PluginDatabaseClient.h: Removed.

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=18595
        REGRESSION (r20766): Setting display:none on an iframe causes the ownerDocument to freeze

        Test: fast/events/frame-detached-in-mousedown.html

        * page/EventHandler.h: Added a boolean tracking whether EventHandler needs to reset capturing
        node on mouse up. It's only done for nodes that hold subframes - elements that capture events
        are responsible for resetting the state.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler): Don't initialize m_capturingMouseEventsNode, it's a
        RefPtr and is initialized automatically.
        (WebCore::EventHandler::handleMousePressEvent): Remember that EventHandler should reset
        capturing node on its own.
        (WebCore::EventHandler::handleMouseDoubleClickEvent): The code here looked like it was copied
        from the below in r21156. Copied correct code instead.
        (WebCore::EventHandler::handleMouseReleaseEvent): We only clear the capturing node when it
        holds a subframe, but the frame may be already detached by the time mouse up is handled, so the
        check was wrong - and return code of passMouseReleaseEventToSubframe() is obviously irrelevant.
        (WebCore::EventHandler::setCapturingMouseEventsNode): Remember that EventHandler should not
        reset capturing node on its own.

2010-05-25  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix for missing symbol.

        * wscript:

2010-05-25  Darin Adler  <darin@apple.com>

        * dom/Element.cpp:
        (WebCore::Element::getIDAttribute): Added comments about problems with this function.

2010-05-25  Leandro Pereira  <leandro@profusion.mobi>

        Reviewed by Gustavo Noronha Silva.

        [EFL] Build fix.
        http://webkit.org/b/39598

        * CMakeLists.txt:

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

        Reviewed by Darin Adler.

        REGRESSION(51522): typing at the end of a line in designMode documents is *very* slow.
        https://bugs.webkit.org/show_bug.cgi?id=36037
        <rdar://problem/8022887>

        The performance regression was traced to r51522 but this is not entirely true. That revision introduced, among other things,
        additional checks in the method isCandidate of both Position and PositionIterator classes to support scenarios of mixed editability
        that were not allowed before. This change uncovered an underlying issue with the decrement method of PositionIterator, that in some
        cases would iterate through every position as offset in a block before moving to the last child in the block.
        This was exactly the case of the attached test case, where, trying to check if the caret was placed at the end of a block, we were examining
        every position in the block before considering the last true position in the block.
        The performance was linear with the number of child nodes in the block, instead of constant.
        
        * dom/PositionIterator.cpp:
        (WebCore::PositionIterator::decrement):

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=39621
        <rdar://problem/8009738> Extreme memory growth on DOM Hanoi test

        The largest cause of memory growth on this test were autoreleased DOMNode objects created
        to make webView:formStateDidChangeForNode: delegate calls.

        * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
        Don't call notifyFormStateChanged() - since the element starts with refcount 0, it's not
        safe to call functions that are likely to create temporary wrappers (wrapper destructor
        would bring refcount back to 0, and destroy HTMLTextAreaElement from within its constructor).

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

        Reviewed by Dimitri Glazkov.

        [DRT/Chromium] Enable 3D_CANVAS, FILTERS, METER_TAG and PROGRESS_TAG
        https://bugs.webkit.org/show_bug.cgi?id=39652

        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paintMeter): Fix narrowPrecisionToFloat() usage.

2010-05-25  Darin Adler  <darin@apple.com>

        Sort ".exp" files with the sort tool.
        This makes later merging easier.

        These Mac-specific files should probably move into a subdirectory
        at some point.

        * WebCore.Inspector.exp: Sorted.
        * WebCore.PluginHostProcess.exp: Removed blank line.
        * WebCore.VideoProxy.exp: Sorted.
        * WebCore.base.exp: Ditto.

2010-05-25  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Darin Fisher.

        Removing the persistent GraphicsContext from LayerChromium to save on
        memory and simplify code. Layers now create a temporary context, draw into
        it, update the GL texture and discard the context.
        https://bugs.webkit.org/show_bug.cgi?id=39640

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::~LayerChromium):
        (WebCore::LayerChromium::setLayerRenderer):
        (WebCore::LayerChromium::updateTextureContents):
        (WebCore::LayerChromium::setContents):
        (WebCore::LayerChromium::setBounds):
        (WebCore::LayerChromium::setNeedsDisplay):
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::~LayerRendererChromium):
        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::assignTextureForLayer):
        (WebCore::LayerRendererChromium::compositeLayersRecursive):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::rootLayerGraphicsContext):

2010-05-24  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] Make text filling work together with text stroke.

        When the text has stroke a new QPen was set, overriding the pen
        set for text filling. This patch fixes that by storing the two
        pens and using where appropriate.

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

2010-05-17  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Darin Adler.

        Add an optional "starting node' parameter to scrollRecursively and scrollOverflow of EventHandler
        https://bugs.webkit.org/show_bug.cgi?id=39217

        It would be usefull if scrollOverflow and scrollRecursively methods of EventHandler
        could receive a parameter to specify where to start scrolling from. Currently they
        start scrolling from either the current focused node or the node where mouse last
        pressed on. Patch proposes an aditional starting point as an optional parameter.
        Since it is optional, all call sites can remain as are, and if a Null node is passed
        in, both methods work as previously.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::scrollOverflow):
        (WebCore::EventHandler::scrollRecursively):
        * page/EventHandler.h:

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

        Reviewed by Timothy Hatcher.

        Web Inspector: localize heap graph strings.

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

        * English.lproj/localizedStrings.js:

2010-05-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Switch HTML parsing benchmark to use document.write instead of innerHTML
        https://bugs.webkit.org/show_bug.cgi?id=39661

        We'd like to exercise the main parsing pipeline instead of the fragment
        parsing pipeline.

        * benchmarks/parser/html-parser.html:

2010-05-25  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Reviewed by Laszlo Gombos.

        [Qt] Running with accelerated compositing enabled sometimes result in a crash
        https://bugs.webkit.org/show_bug.cgi?id=39609

        Check if we have a scene before applying the workaround for
        the QGraphicsScene bug where opacity change doesn't always have
        immediate effect.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::OpacityAnimationQt::applyFrame):

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

        Unreviewed. Fix Chromium Mac Release build.

        * bindings/v8/ScriptDebugServer.cpp:

2010-05-24  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        ScriptDebugServer is now implemented as DebugEventListener which means it doesn't
        depend on v8 debugging protocol, instead it uses ExecState to collect debugging
        info and pass it to the listeners.

        New implementation of ScriptDebugServer uses methods provided by client to dispatch
        its messages while JS is paused(previously the messages was dispatched in a callback
        passed to v8 along with DebugEventHandler).

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

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidPause):
        (WebCore::ScriptDebugServer::dispatchDidContinue):
        (WebCore::ScriptDebugServer::dispatchFunctionToListeners): Changed method signature to allow
        invocation of ScriptDebugListener methods that have non-empty argument list.
        (WebCore::ScriptDebugServer::pauseIfNeeded):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::retrieveFrame):
        (WebCore::ScriptDebugServer::ScriptDebugServer):
        (WebCore::ScriptDebugServer::addListener):
        (WebCore::ScriptDebugServer::removeListener): Execution is resumed(nested message loop is terminated) when
        corresponding debugger window closes.
        (WebCore::ScriptDebugServer::clearBreakpoints):
        (WebCore::ScriptDebugServer::pauseOnExceptionsState):
        (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
        (WebCore::ScriptDebugServer::continueProgram):
        (WebCore::ScriptDebugServer::stepIntoStatement):
        (WebCore::ScriptDebugServer::stepOverStatement):
        (WebCore::ScriptDebugServer::stepOutOfFunction):
        (WebCore::ScriptDebugServer::v8DebugEventCallback):
        (WebCore::ScriptDebugServer::handleV8DebugEvent):
        (WebCore::ScriptDebugServer::didResume):
        * bindings/v8/ScriptDebugServer.h:
        (WebCore::ScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
        (WebCore::ScriptDebugServer::setClientMessageLoop):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didPause):
        * inspector/InspectorController.h:
        * inspector/ScriptDebugListener.h: Changed didPause signature to explicitly pass ScriptState
        where execution is paused.

2010-05-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Clear attributes for each tag in the HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39660

        Yes, I did screw this up.

        * html/HTML5Token.h:
        (WebCore::HTML5Token::beginStartTag):
        (WebCore::HTML5Token::beginEndTag):

2010-05-25  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Darin Adler.

        Remove warning for GCC 4.4.3

        GCC suggest parentheses around && within ||

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

2010-05-25  Xan Lopez  <xlopez@igalia.com>

        Fix the GTK+ build, PluginInfoStore was removed.

        * GNUmakefile.am:

2010-05-25  Ada Chan  <adachan@apple.com>

        Reviewed by Steve Falkenburg.

        Add a base class for DOMTimer called SuspendableTimer which captures just the
        basic functionality of TimerBase and ActiveDOMObject combined.  It does not
        contain functionality specific to scripting timers.
        
        SuspendableTimer is used in fixing https://bugs.webkit.org/show_bug.cgi?id=39651

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/DOMTimer.cpp:
        (WebCore::DOMTimer::DOMTimer):
        (WebCore::DOMTimer::contextDestroyed):
        (WebCore::DOMTimer::stop):
        * page/DOMTimer.h:
        * page/SuspendableTimer.cpp: Added.
        (WebCore::SuspendableTimer::SuspendableTimer):
        (WebCore::SuspendableTimer::~SuspendableTimer):
        (WebCore::SuspendableTimer::hasPendingActivity):
        (WebCore::SuspendableTimer::stop):
        (WebCore::SuspendableTimer::suspend):
        (WebCore::SuspendableTimer::resume):
        (WebCore::SuspendableTimer::canSuspend):
        * page/SuspendableTimer.h: Added.

2010-05-25  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Nate Chapin.

        Remove custom bindings for Element.SetAttribute*
        https://bugs.webkit.org/show_bug.cgi?id=39604

        Custom bindings are no longer needed because origin checks were moved
        out of the bindings by: http://trac.webkit.org/changeset/59866

        Behavior isn't changed and is covered by existing tests.

        * bindings/js/JSElementCustom.cpp:
        * bindings/v8/custom/V8ElementCustom.cpp:
        * dom/Element.idl:

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

        Reviewed by Pavel Feldman.

        Add memory graph to Timeline overview pane.

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

        * inspector/front-end/Drawer.js:
        (WebInspector.Drawer):
        (WebInspector.Drawer.prototype.show.animationFinished):
        (WebInspector.Drawer.prototype.show):
        (WebInspector.Drawer.prototype.hide):
        (WebInspector.Drawer.prototype.set currentPanelCounters):
        * inspector/front-end/Panel.js:
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype.showTimelines):
        (WebInspector.TimelineOverviewPane.prototype.showMemoryGraph):
        (WebInspector.TimelineOverviewPane.prototype._forAllRecords):
        (WebInspector.TimelineOverviewPane.prototype.update):
        (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
        (WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
        (WebInspector.TimelineOverviewPane.prototype._createTimelineCategoryStatusBarCheckbox):
        (WebInspector.HeapGraph):
        (WebInspector.HeapGraph.prototype.get element):
        (WebInspector.HeapGraph.prototype.get visible):
        (WebInspector.HeapGraph.prototype.show):
        (WebInspector.HeapGraph.prototype.hide):
        (WebInspector.HeapGraph.prototype.setSize):
        (WebInspector.HeapGraph.prototype.update):
        (WebInspector.HeapGraph.prototype._clear):
        (WebInspector.HeapGraph.prototype._drawScale):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype.toolbarItemClass._createTopPane):
        (WebInspector.TimelinePanel.prototype.get statusBarItems):
        (WebInspector.TimelinePanel.prototype._timelinesOverviewItemSelected):
        (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
        (WebInspector.TimelinePanel.prototype.setSidebarWidth):
        (WebInspector.TimelinePanel.prototype.show):
        (WebInspector.TimelinePanel.prototype.hide):
        * inspector/front-end/inspector.css:
        (#counters):
        (#timeline-overview-sidebar):
        (.timeline-category-statusbar-item):
        (.timeline-category-statusbar-item .timeline-category-checkbox):
        (.timeline-category-statusbar-item .timeline-category-checkbox:checked):
        (.timeline-category-statusbar-item.timeline-category-loading .timeline-category-checkbox):
        (.timeline-category-statusbar-item.timeline-category-scripting .timeline-category-checkbox):
        (.timeline-category-statusbar-item.timeline-category-rendering .timeline-category-checkbox):
        (#timeline-overview-memory):
        (.timeline-records-counter):
        (#main-status-bar > .timeline-records-counter):
        (#counters > .timeline-records-counter):
        * inspector/front-end/inspector.html:
        * inspector/front-end/utilities.js:
        ():

2010-05-25  Adam Barth  <abarth@webkit.org>

        Unreviewed.  Fix typo pointed out by Maciej.

        * html/HTML5Lexer.cpp:
        (WebCore::HTMLNames::unconsumeCharacters):
        (WebCore::HTML5Lexer::consumeEntity):

2010-05-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Fix <noembed> and <plaintext> content models
        https://bugs.webkit.org/show_bug.cgi?id=39653

        PLAINTEXTState is my favorite lexer state.  :)

        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):

2010-05-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        First cut at HTML5 entities
        https://bugs.webkit.org/show_bug.cgi?id=39649

        There's still a bunch more work to do to get our entity parsing fully
        up to spec.  This patch contains the bulk of the implementation
        however.
        
        The basics are covered by the existing html5lib tests.  I'll add more
        detailed tests in a followup patch.

        * html/HTML5Lexer.cpp:
        (WebCore::HTMLNames::legalEntityFor):
        (WebCore::HTMLNames::isHexDigit):
        (WebCore::HTMLNames::isAlphaNumeric):
        (WebCore::HTMLNames::uncomsumeCharacters):
        (WebCore::HTML5Lexer::consumeEntity):
        (WebCore::HTML5Lexer::nextToken):
        (WebCore::HTML5Lexer::haveBufferedCharacterToken):
        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::):
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::write):

2010-05-24  Tasuku Suzuki  <tasuku.suzuki@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Fix compilation with QT_NO_TEMPORARYFILE
        https://bugs.webkit.org/show_bug.cgi?id=38324

        * platform/qt/FileSystemQt.cpp:
        (WebCore::openTemporaryFile):

2010-05-24  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Fixed handling of bare '/' and '?' at console prompt.
        https://bugs.webkit.org/show_bug.cgi?id=39585

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

2010-05-24  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Sam Weinig.

        The 'prototype' property on generated Web IDL interfaces should be { DontDelete | ReadOnly }.

        Spec link:
        http://www.w3.org/TR/WebIDL/#interface-object

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

        Test: fast/dom/prototype-property.html

        * bindings/scripts/CodeGeneratorJS.pm:

2010-05-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add RCDATA and RAWTEXT suport to the HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39642

        Adam Barth wrote half of this patch.

        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):

2010-05-24  Tony Chang  <tony@chromium.org>

        Not reviewed, build fix.

        Fix the chromium compile due to pageZoomFactor refactoring.

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

2010-05-24  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        HTML5 <video> tag performance worse than Flash
        https://bugs.webkit.org/show_bug.cgi?id=39577
        rdar://problem/7982458
        
        Added attachments() back to QTPixelBuffer, as they are necessary for CAImageQueue.
        
        WKCACFLayer contents()/setContents() now return/take a CFTypeRef instead of a CGImageRef, which allows
        a CAImageQueueRef to be set as a layer's contents.
        
        WKCAImageQueue is a simple C++ wrapper around the WebKitSystemInterface CAImageQueue functions.
        
        MediaPlayerPrivateQuickTimeVisualContext will now use a CAImageQueue to display movie frames if 
        certain prerequisites are met (QuartzCore.dll and CoreVideo.dll version numbers must meet a certain
        threshold defined in MediaPlayerPrivateQuickTimeVisualContext.cpp).
        
        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
        * platform/graphics/win/QTPixelBuffer.cpp:
        * platform/graphics/win/QTPixelBuffer.h:
        * platform/graphics/win/WKCACFLayer.cpp:
        * platform/graphics/win/WKCACFLayer.h:
        * platform/graphics/win/WKCAImageQueue.cpp: Added.
        * platform/graphics/win/WKCAImageQueue.h: Added.

2010-05-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Teach the HTML5 parser how to lex escaped script data
        https://bugs.webkit.org/show_bug.cgi?id=39630

        * html/HTML5Lexer.cpp:
        (WebCore::HTMLNames::vectorEqualsString):
        (WebCore::HTML5Lexer::nextToken):
        (WebCore::HTML5Lexer::temporaryBufferIs):
        (WebCore::HTML5Lexer::isAppropriateEndTag):
        (WebCore::HTML5Lexer::maybeFlushBufferedEndTag):
        (WebCore::HTML5Lexer::flushBufferedEndTag):
        * html/HTML5Lexer.h:

2010-05-24  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Trick MSVC into ignoring our unused code for the moment.

        Prepare HTML5TreeBuilder for addition of new HTML5 parser code
        https://bugs.webkit.org/show_bug.cgi?id=39623

        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::constructTreeFromToken):

2010-05-24  Darin Adler  <darin@apple.com>

        Fix build on platforms with touch code enabled.

        * page/EventHandler.cpp:
        (WebCore::pageZoomFactor): Added.
        (WebCore::EventHandler::handleTouchEvent): Use pageZoomFactor.

2010-05-24  Darin Adler  <darin@apple.com>

        Reviewed by Eric Seidel.

        Move view-related functions from Frame to FrameView
        https://bugs.webkit.org/show_bug.cgi?id=39366

        Refactoring only so adds no new tests.

        * WebCore.base.exp: Updated.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForDocument): Call zoom factor function
        on FrameView.
        (WebCore::CSSStyleSelector::applyProperty): Ditto.
        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Ditto.
        * dom/Document.cpp:
        (WebCore::Document::elementFromPoint): Ditto.
        (WebCore::Document::caretRangeFromPoint): Ditto.
        * dom/MouseRelatedEvent.cpp:
        (WebCore::contentsX): Ditto.
        (WebCore::contentsY): Ditto.
        (WebCore::pageZoomFactor): Added helper function.
        (WebCore::MouseRelatedEvent::computePageLocation): Use helper.
        (WebCore::MouseRelatedEvent::receivedTarget): Ditto.
        * dom/Node.cpp:
        (WebCore::Node::dispatchMouseEvent): Call zoom factor function on FrameView.
        (WebCore::Node::dispatchWheelEvent): Ditto.
        * dom/Touch.cpp:
        (WebCore::contentsX): Call zoom factor function on FrameView.
        (WebCore::contentsY): Ditto.
        * html/HTMLBodyElement.cpp:
        (WebCore::adjustForZoom): Ditto.
        (WebCore::HTMLBodyElement::setScrollLeft): Ditto.
        (WebCore::HTMLBodyElement::setScrollTop): Ditto.
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::width): Ditto.
        (WebCore::HTMLImageElement::height): Ditto.
        * loader/ImageDocument.cpp:
        (WebCore::pageZoomFactor): Added helper function.
        (WebCore::ImageTokenizer::finish): Use helper function
        (WebCore::ImageDocument::scale): Ditto.
        (WebCore::ImageDocument::resizeImageToFit): Ditto.
        (WebCore::ImageDocument::imageChanged): Ditto.
        (WebCore::ImageDocument::restoreImageSize): Ditto.
        (WebCore::ImageDocument::imageFitsInWindow): Ditto.
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::innerHeight): Ditto.
        (WebCore::DOMWindow::innerWidth): Ditto.
        (WebCore::DOMWindow::scrollX): Ditto.
        (WebCore::DOMWindow::scrollY): Ditto.
        (WebCore::DOMWindow::scrollTo): Ditto.
        * page/DragController.cpp:
        (WebCore::elementUnderMouse): Ditto.

        * page/Frame.cpp:
        (WebCore::Frame::Frame): Removed code to initialize m_zoomFactor.
        * page/Frame.h: Moved functions to FrameView. Moved all #if to the left
        margin to make the style consistent. Removed empty function
        removeEditingStyleFromBodyElement.

        * page/FrameView.cpp:
        (WebCore::parentZoomFactor): Added helper function for constructor.
        (WebCore::FrameView::FrameView): Added initialization of m_zoomFactor.
        (WebCore::FrameView::shouldApplyTextZoom): Moved this here from Frame.
        (WebCore::FrameView::shouldApplyPageZoom): Ditto.
        (WebCore::FrameView::setZoomFactor): Ditto.

        * page/FrameView.h: Added members moved here from Frame.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::zoomFactor): Call FrameView instead of Frame.
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::currentScale): Ditto.
        (WebCore::SVGSVGElement::setCurrentScale): Ditto.

2010-05-24  Jer Noble  <jer.noble@apple.com>

        No review; build fix only.

        Roll-out changes r60094, 60096-60097.
        
        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
        * platform/graphics/win/QTPixelBuffer.cpp:
        * platform/graphics/win/QTPixelBuffer.h:
        * platform/graphics/win/WKCACFLayer.cpp:
        (WebCore::WKCACFLayer::printLayer):
        * platform/graphics/win/WKCACFLayer.h:
        (WebCore::WKCACFLayer::setContents):
        (WebCore::WKCACFLayer::contents):
        (WebCore::WKCACFLayer::speed):
        (WebCore::WKCACFLayer::timeOffset):
        * platform/graphics/win/WKCAImageQueue.cpp: Removed.
        * platform/graphics/win/WKCAImageQueue.h: Removed.

2010-05-24  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Add wtf/UnusedParam.h include to make Chromium happy.

        Chromium does not use a prefix header in order to support
        distcc3.  Other ports all do.  The real fix is to remove
        wtf/UnusedParam.h from the prefix header.

        * html/HTML5TreeBuilder.cpp:

2010-05-24  Jer Noble  <jer.noble@apple.com>

        No review; build fix only.

        Second half of previous build fix, in which I add the include in the correct place.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:

2010-05-24  Jer Noble  <jer.noble@apple.com>

        No review; build fix only.

        Include WKCAImageQueue.h outside the ACCELERATED_COMPOSITING check.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:

2010-05-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Prepare HTML5TreeBuilder for addition of new HTML5 parser code
        https://bugs.webkit.org/show_bug.cgi?id=39623

        Before we start transcribing the parser, we need a place to put it.

        This also cleans up HTML5 token to not convert comment and character
        data into AtomicStrings (which makes no sense).

        No functionality change, so no new tests.

        * html/HTML5Token.h:
        (WebCore::HTML5Token::beginStartTag):
        (WebCore::HTML5Token::beginEndTag):
        (WebCore::HTML5Token::beginCharacter):
        (WebCore::HTML5Token::beginComment):
        (WebCore::HTML5Token::name):
        (WebCore::HTML5Token::adoptDataAsStringImpl):
        (WebCore::HTML5Token::characters):
        (WebCore::HTML5Token::commentData):
        (WebCore::HTML5Token::clearData):
        * html/HTML5TreeBuilder.cpp:
        (WebCore::convertToOldStyle):
        (WebCore::HTML5TreeBuilder::constructTreeFromToken):
        (WebCore::HTML5TreeBuilder::processToken):
        * html/HTML5TreeBuilder.h:

2010-05-23  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        HTML5 <video> tag performance worse than Flash
        https://bugs.webkit.org/show_bug.cgi?id=39577
        rdar://problem/7982458
        
        Added attachments() back to QTPixelBuffer, as they are necessary for CAImageQueue.
        
        WKCACFLayer contents()/setContents() now return/take a CFTypeRef instead of a CGImageRef, which allows
        a CAImageQueueRef to be set as a layer's contents.
        
        WKCAImageQueue is a simple C++ wrapper around the WebKitSystemInterface CAImageQueue functions.
        
        MediaPlayerPrivateQuickTimeVisualContext will now use a CAImageQueue to display movie frames if 
        certain prerequisites are met (QuartzCore.dll and CoreVideo.dll version numbers must meet a certain
        threshold defined in MediaPlayerPrivateQuickTimeVisualContext.cpp).
        
        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
        * platform/graphics/win/QTPixelBuffer.cpp:
        * platform/graphics/win/QTPixelBuffer.h:
        * platform/graphics/win/WKCACFLayer.cpp:
        * platform/graphics/win/WKCACFLayer.h:
        * platform/graphics/win/WKCAImageQueue.cpp: Added.
        * platform/graphics/win/WKCAImageQueue.h: Added.

2010-05-24  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        Database origins aren't populated at launch (missing db in prefs sheet, possible other symptoms)
        <rdar://problem/8013233> and https://bugs.webkit.org/show_bug.cgi?id=39486

        Currently, a Tracker needs to know it's path before origins are populated. Testing databases and 
        related features is made very difficult with this regression, so instead of changing things in a
        complicated way to make this not the case, I've added an "initialize Tracker with this path" function
        that calls the DatabaseTracker constructor with the initial path.

        I checked the other platforms besides Mac and Win, and none of them seem to perform the 
        "initialize databases if necessary" step in their init routines, so this change shouldn't effect them.

        No new tests. (API specific layout test in DRT is forthcoming)

        * WebCore.base.exp:

        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::initializeTracker): Added to create the tracker with its initial path.
        (WebCore::DatabaseTracker::tracker): Move the static tracker out so tracker() and initializeTracker()
          can share it. Add a fallback to not change behavior of platforms that don't call the new 
          "initializeTracker()" method.
        (WebCore::DatabaseTracker::DatabaseTracker): Changed to take the initial path as an argument.
        * storage/DatabaseTracker.h:

        * storage/chromium/DatabaseTrackerChromium.cpp:
        (WebCore::DatabaseTracker::tracker): Adapt to new c'tor.
        (WebCore::DatabaseTracker::DatabaseTracker): Ditto.

2010-05-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Teach the HTML5 parser to lex DOCTYPEs
        https://bugs.webkit.org/show_bug.cgi?id=39571

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):
        * html/HTML5Lexer.h:
        * html/HTML5Token.h:
        (WebCore::HTML5Token::beginDOCTYPE):
        (WebCore::HTML5Token::publicIdentifier):
        (WebCore::HTML5Token::systemIdentifier):
        (WebCore::HTML5Token::setPublicIdentifierToEmptyString):
        (WebCore::HTML5Token::setSystemIdentifierToEmptyString):
        (WebCore::HTML5Token::appendToPublicIdentifier):
        (WebCore::HTML5Token::appendToSystemIdentifier):
        (WebCore::HTML5Token::DoctypeData::DoctypeData):
        * html/HTML5TreeBuilder.cpp:
        (WebCore::convertToOldStyle):
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
        * platform/text/SegmentedString.h:
        (WebCore::SegmentedString::lookAheadIgnoringCase):
        (WebCore::SegmentedString::advanceAndASSERTIgnoringCase):

== Rolled over to ChangeLog-2010-05-24 ==
