2009-09-22  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Implement InspectorController::copyNode(id).

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

        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::copyNode):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.handleCopyEvent):

2009-09-24  Oliver Hunt  <oliver@apple.com>

        Reviewed by NOBODY(rollout)

        Roll out r48712 as it is incorrect.

        Overriding getPropertyNames is incorrect.

        * bridge/runtime_array.cpp:
        * bridge/runtime_array.h:

2009-09-24  Xan Lopez  <xlopez@igalia.com>

        Revert r48697, since it broke key handling notification to GTK+.

        * platform/gtk/KeyEventGtk.cpp:
        (WebCore::keyIdentifierForGdkKeyCode):
        (WebCore::singleCharacterString):

2009-09-24  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] GStreamer MediaPlayer is unable to correctly querry duration
        https://bugs.webkit.org/show_bug.cgi?id=24639

        check duration returned by gst_element_query_duration() only
        when using GStreamer < 0.10.23.

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

2009-09-24  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Eric Seidel.

        The indices of RuntimeArray should be enumerated like for a regular array.
        https://bugs.webkit.org/show_bug.cgi?id=29005

        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::getPropertyNames):
        * bridge/runtime_array.h:

2009-09-23  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Eric Seidel.

        Introduce Pasteboard::writePlaintext(const String&) so that copying
        of the inspected elements HTML will be possible in WebInspector.
        https://bugs.webkit.org/show_bug.cgi?id=29634

        * platform/Pasteboard.h:
        * platform/android/TemporaryLinkStubs.cpp:
        (Pasteboard::writePlainText):
        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writePlainText):
        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::writePlainText):
        * platform/haiku/PasteboardHaiku.cpp:
        (WebCore::Pasteboard::writePlainText):
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::writePlainText):
        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::writePlainText):
        * platform/win/PasteboardWin.cpp:
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::writePlainText):
        * platform/wince/PasteboardWince.cpp:
        (WebCore::Pasteboard::writePlainText):
        * platform/wx/PasteboardWx.cpp:
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::writePlainText):
        (WebCore::Pasteboard::writeURL):

2009-09-24  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>

        Reviewed by Simon Hausmann.

        Fix QApp::translate() calls to provide the correct class name without
        a trailing comma.

        * platform/qt/Localizations.cpp:
        (WebCore::localizedMediaTimeDescription):

2009-09-24  Geoffrey Garen  <ggaren@apple.com>

        More build fix: Removed JSSharedWorkerContextCustom.cpp from project
        files, since it no longer exists in the repository.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:

2009-09-24  Geoffrey Garen  <ggaren@apple.com>

        Windows build fix: Declare set/unsetPendingActivity public, so
        SharedWorkerScriptLoader can call them.

        * dom/ActiveDOMObject.h:

2009-09-24  Geoffrey Garen  <ggaren@apple.com>

        Fixed a bit of the Windows build.

        * workers/SharedWorker.idl: Declare a custom mark function. (I accidentally
        removed this in my last patch.)
        * WebCore.xcodeproj/project.pbxproj: Added JSSharedWorkerCustom.cpp back
        to the build. (I accidentally removed this in my last patch.)

2009-09-23  Geoffrey Garen  <ggaren@apple.com>

        32-bit build fix: restore previous cast that I thought was unnecessary.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::didSendData):
        (WebCore::XMLHttpRequest::didReceiveData):

2009-09-23  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Bring a little sanity to this crazy EventTarget world of ours
        https://bugs.webkit.org/show_bug.cgi?id=29701

        Lots of EventTarget refactoring to achieve a single shared implementation
        that fixes some of the performance and correctness bugs of the many individual
        implementations, and makes reasoning about EventTargets and EventListeners
        much easier.
        
        The basic design is this:
            - EventTarget manages a set of EventListeners.
            - onXXX EventListener attributes forward to standard EventTarget APIs.
            - Since the onXXX code is repetitive, it is usually done with macros
              of the form DEFINE_ATTRIBUTE_EVENT_LISTENER(attributeName).
            - EventTarget provides a shared implementation of dispatchEvent,
              which subclasses with special event dispatch rules, like Node, override.
            - To support Node, which lazily instantiates its EventTarget data,
              EventTarget has no data members, and instead makes a virtual call
              to get its data from wherever its subclass chose to store it.
              
        Code that used to call dispatchEvent, passing an ExceptionCode paratmeter,
        even though no exception could be thrown, has been changed not to do so,
        to improve clarity and performance.
        
        Code that used to call a special dispatchXXXEvent function, which just
        turned around and called dispatchEvent, has been changed to call
        dispatchEvent, to improve clarity and performance.

        * WebCore.base.exp:
        * WebCore.xcodeproj/project.pbxproj: Another day in the life of a WebKit
        engineer.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::isObservableThroughDOM): Updated for Node API change. Added
        "is not in the document but is firing event listeners" as a condition
        that makes a Node observable in the DOM, so that event listeners firing
        on removed nodes are not destroyed midstream. (This was a long-standing
        bug that was somewhat hidden by the old implementation's habit of
        copying the RegisteredEventListener vector before firing events, which
        would keep almost all the relevant objects from being destroyed.)

        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent): Removed the isWindowEvent flag
        because it was one of the most elaborately planned no-ops in the history
        of software crime, and one of the reasons clients thought they needed more
        than one dispatchEvent function even though they didn't.
        * bindings/js/JSEventListener.h:

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::markChildren):
        (WebCore::JSMessagePort::markChildren):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::markChildren):
        * bindings/js/JSAbstractWorkerCustom.cpp:
        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        * bindings/js/JSDedicatedWorkerContextCustom.cpp:
        * bindings/js/JSEventSourceCustom.cpp:
        * bindings/js/JSMessagePortCustom.cpp:
        * bindings/js/JSSharedWorkerContextCustom.cpp: Removed.
        * bindings/js/JSWebSocketCustom.cpp:
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::markChildren):
        * bindings/js/JSWorkerCustom.cpp:
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::markChildren):
        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
        (WebCore::JSXMLHttpRequestUpload::markChildren): EventListener marking is
        now autogenerated. Classes that still have custom mark functions for other
        reasons now call a shared EventTarget API to mark their EventListeners.

        * bindings/objc/ObjCEventListener.h:
        * bindings/objc/ObjCEventListener.mm:
        (WebCore::ObjCEventListener::handleEvent): Bye bye isWindowEvent.

        * bindings/scripts/CodeGeneratorJS.pm: Autogeneration support for
        marking and invalidating event listeners.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::dispatchModifiedEvent):
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertBefore):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::willRemoveChild):
        (WebCore::ContainerNode::appendChild):
        (WebCore::dispatchChildInsertionEvents):
        (WebCore::dispatchChildRemovalEvents):
        * dom/Document.cpp:
        (WebCore::Document::removeAllEventListeners):
        (WebCore::Document::implicitClose):
        (WebCore::Document::setFocusedNode):
        (WebCore::Document::dispatchWindowEvent):
        (WebCore::Document::dispatchWindowLoadEvent):
        (WebCore::Document::finishedParsing):
        * dom/Document.h: Use dispatchEvent directly.

        * dom/Element.h: Moved a few event listener attributes down from Node,
        since they don't apply to all Nodes, only Elements.

        * dom/EventListener.h: Removed isWindowEvent parameter.

        * dom/EventNames.h: Added the "display" event name, so it works correctly
        with attribute macros, and for performance.

        * dom/EventTarget.cpp:
        (WebCore::forbidEventDispatch):
        (WebCore::allowEventDispatch):
        (WebCore::eventDispatchForbidden): Made this code (embarrasingly) thread
        safe, since it's now called on multiple threads. (Currently, we only forbid
        event dispatch on the main thread. If we ever want to forbid event dispatch
        on secondary threads, we can improve it then.)

        (WebCore::EventTarget::addEventListener):
        (WebCore::EventTarget::removeEventListener):
        (WebCore::EventTarget::setAttributeEventListener):
        (WebCore::EventTarget::getAttributeEventListener):
        (WebCore::EventTarget::clearAttributeEventListener):
        (WebCore::EventTarget::dispatchEvent):
        (WebCore::EventTarget::fireEventListeners):
        (WebCore::EventTarget::getEventListeners):
        (WebCore::EventTarget::removeAllEventListeners):
        * dom/EventTarget.h:
        (WebCore::FiringEventEndIterator::FiringEventEndIterator):
        (WebCore::EventTarget::ref):
        (WebCore::EventTarget::deref):
        (WebCore::EventTarget::markEventListeners):
        (WebCore::EventTarget::invalidateEventListeners):
        (WebCore::EventTarget::isFiringEventListeners):
        (WebCore::EventTarget::hasEventListeners): The ONE TRUE IMPLEMENTATION of
        EventTarget APIs, crafted from an amalgam of all the different versions
        we used to have. The most significant change here is that we no longer
        make a copy of an EventListener vector before firing the events in the
        vector -- instead, we use a reference to the original vector, along with
        a notification mechanism for the unlikely case when an EventListener is
        removed from the vector. This substantially reduces malloc, copying, and
        refcount overhead, and complexity.

        * dom/InputElement.cpp:
        (WebCore::InputElement::setValueFromRenderer):
        * dom/MessageEvent.h:
        (WebCore::MessageEvent::create): Use dispatchEvent directly.

        * dom/MessagePort.cpp:
        (WebCore::MessagePort::dispatchMessages):
        (WebCore::MessagePort::eventTargetData):
        (WebCore::MessagePort::ensureEventTargetData):
        * dom/MessagePort.h:
        (WebCore::MessagePort::setOnmessage):
        (WebCore::MessagePort::onmessage):
        * dom/MessagePort.idl: Removed custom EventTarget implementation.

        * dom/MutationEvent.h:
        (WebCore::MutationEvent::create): Added some default values so callers
        can construct MutationEvents more easily, without calling a custom dispatch
        function.

        * dom/Node.cpp:
        (WebCore::Node::addEventListener):
        (WebCore::Node::removeEventListener):
        (WebCore::Node::eventTargetData):
        (WebCore::Node::ensureEventTargetData):
        (WebCore::Node::handleLocalEvents):
        (WebCore::Node::dispatchEvent):
        (WebCore::Node::dispatchGenericEvent):
        (WebCore::Node::dispatchSubtreeModifiedEvent):
        (WebCore::Node::dispatchUIEvent):
        (WebCore::Node::dispatchKeyEvent):
        (WebCore::Node::dispatchMouseEvent):
        (WebCore::Node::dispatchWheelEvent):
        (WebCore::Node::dispatchFocusEvent):
        (WebCore::Node::dispatchBlurEvent):
        * dom/Node.h:
        (WebCore::Node::preDispatchEventHandler):
        (WebCore::Node::postDispatchEventHandler):
        * dom/Node.idl:
        * dom/NodeRareData.h:
        (WebCore::NodeRareData::eventTargetData):
        (WebCore::NodeRareData::ensureEventTargetData): Use the shared EventTarget
        interface, and call dispatchEvent directly instead of custom dispatchXXXEvent
        functions that just forwarded to dispatchEvent.

        * dom/RegisteredEventListener.cpp:
        * dom/RegisteredEventListener.h:
        (WebCore::RegisteredEventListener::RegisteredEventListener):
        (WebCore::operator==): This is just a simple struct now, since we no longer
        do a complicated copy / refCount / isRemoved dance just to honor the rule
        that an EventListener can be removed during event dispatch.

        * history/CachedFrame.cpp:
        (WebCore::CachedFrameBase::restore): Removed another custom dispatchEvent.

        * html/HTMLBodyElement.cpp:
        * html/HTMLBodyElement.h: Use the shared EventTarget API.

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent):
        (WebCore::HTMLFormControlElement::checkValidity):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::handleLocalEvents):
        (WebCore::HTMLFormElement::prepareSubmit):
        (WebCore::HTMLFormElement::reset):
        * html/HTMLFormElement.h: Use the standard dispatchEvent API.

        * html/HTMLFrameSetElement.cpp:
        * html/HTMLFrameSetElement.h: Use the shared EventTarget API.

        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::dispatchLoadEvent):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::onSearch):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::loadInternal):
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::dispatchLoadEvent):
        (WebCore::HTMLScriptElement::dispatchErrorEvent):
        * html/HTMLSourceElement.cpp:
        (WebCore::HTMLSourceElement::errorEventTimerFired):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::notifyFinished): Use the standard dispatchEvent API.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::handleEvent):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorDOMStorageResource.cpp:
        (WebCore::InspectorDOMStorageResource::handleEvent):
        * inspector/InspectorDOMStorageResource.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::canCachePageContainingThisFrame):
        (WebCore::FrameLoader::logCanCacheFrameDecision):
        (WebCore::HashChangeEventTask::performTask):
        (WebCore::FrameLoader::pageHidden): No more isWindowEvent.

        * loader/ImageDocument.cpp:
        (WebCore::ImageEventListener::handleEvent):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::CallCacheListenerTask::performTask):
        * loader/appcache/ApplicationCacheHost.cpp:
        (WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
        * loader/appcache/ApplicationCacheHost.h:
        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::eventTargetData):
        (WebCore::DOMApplicationCache::ensureEventTargetData):
        * loader/appcache/DOMApplicationCache.h:
        * loader/appcache/DOMApplicationCache.idl: Switched to the standard
        EventTarget API. As a part of this, I switched this class from using a
        custom internal event name enumeration to using the standard EventNames.

        * notifications/Notification.cpp:
        (WebCore::Notification::eventTargetData):
        (WebCore::Notification::ensureEventTargetData):
        * notifications/Notification.h:
        (WebCore::Notification::scriptExecutionContext):
        * notifications/Notification.idl: Switched to the standard EventTarget API.

        * page/DOMWindow.cpp:
        (WebCore::PostMessageTimer::event):
        (WebCore::windowsWithUnloadEventListeners):
        (WebCore::windowsWithBeforeUnloadEventListeners):
        (WebCore::allowsBeforeUnloadListeners):
        (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
        (WebCore::DOMWindow::pendingUnloadEventListeners):
        (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Changed the "pending"
        unload / beforeunload listener tracker just to track which windows had
        such listeners, instead of actually keeping a copy of the listeners. Now,
        this code can use the standard EventTarget API.

        (WebCore::DOMWindow::~DOMWindow):
        (WebCore::DOMWindow::postMessageTimerFired):
        (WebCore::DOMWindow::addEventListener):
        (WebCore::DOMWindow::removeEventListener):
        (WebCore::DOMWindow::dispatchLoadEvent):
        (WebCore::DOMWindow::dispatchEvent):
        (WebCore::DOMWindow::removeAllEventListeners):
        (WebCore::DOMWindow::captureEvents):
        (WebCore::DOMWindow::releaseEvents):
        (WebCore::DOMWindow::eventTargetData):
        (WebCore::DOMWindow::ensureEventTargetData):
        * page/DOMWindow.h:
        * page/DOMWindow.idl: Use the standard EventTarget APIs.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::canMouseDownStartSelect):
        (WebCore::EventHandler::canMouseDragExtendSelect):
        (WebCore::EventHandler::sendResizeEvent):
        (WebCore::EventHandler::sendScrollEvent): Use dispatchEvent directly.

        * page/EventSource.cpp:
        (WebCore::EventSource::endRequest):
        (WebCore::EventSource::didReceiveResponse):
        (WebCore::EventSource::parseEventStreamLine):
        (WebCore::EventSource::stop):
        (WebCore::EventSource::createMessageEvent):
        (WebCore::EventSource::eventTargetData):
        (WebCore::EventSource::ensureEventTargetData):
        * page/EventSource.h:
        * page/EventSource.idl: Use the standard EventTarget APIs.

        * page/FocusController.cpp:
        (WebCore::dispatchEventsOnWindowAndFocusedNode):
        (WebCore::FocusController::setFocusedFrame):
        * page/Frame.cpp:
        (WebCore::Frame::shouldClose):
        * page/Frame.h:
        * page/Page.cpp:
        (WebCore::networkStateChanged):
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::valueChanged):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::selectionChanged):
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::subtreeHasChanged): Use dispatchEvent.

        * svg/SVGElement.cpp:
        (WebCore::hasLoadListener): Rewritten for new EventTarget API.

        * svg/SVGElementInstance.cpp:
        (WebCore::dummyEventTargetData):
        (WebCore::SVGElementInstance::addEventListener):
        (WebCore::SVGElementInstance::removeEventListener):
        (WebCore::SVGElementInstance::removeAllEventListeners):
        (WebCore::SVGElementInstance::dispatchEvent):
        (WebCore::SVGElementInstance::eventTargetData):
        (WebCore::SVGElementInstance::ensureEventTargetData): Use the EventTarget API.

        * svg/SVGElementInstance.h:
        * svg/SVGImageLoader.cpp:
        (WebCore::SVGImageLoader::dispatchLoadEvent):
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::dispatchErrorEvent): Use dispatchEvent directly.

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::transferEventListenersToShadowTree): Updated for
        new EventTarget API.

        * svg/animation/SVGSMILElement.cpp:
        (WebCore::ConditionEventListener::handleEvent): No more isWindowEvent.

        * websockets/WebSocket.cpp:
        (WebCore::ProcessWebSocketEventTask::create):
        (WebCore::ProcessWebSocketEventTask::performTask):
        (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
        (WebCore::WebSocket::didConnect):
        (WebCore::WebSocket::didReceiveMessage):
        (WebCore::WebSocket::didClose):
        (WebCore::WebSocket::eventTargetData):
        (WebCore::WebSocket::ensureEventTargetData):
        * websockets/WebSocket.h:
        * websockets/WebSocket.idl:
        * workers/AbstractWorker.cpp:
        (WebCore::AbstractWorker::eventTargetData):
        (WebCore::AbstractWorker::ensureEventTargetData):
        * workers/AbstractWorker.h:
        * workers/AbstractWorker.idl:
        * workers/DedicatedWorkerContext.cpp:
        * workers/DedicatedWorkerContext.h:
        * workers/DedicatedWorkerContext.idl:
        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::SharedWorkerConnectTask::performTask):
        (WebCore::SharedWorkerScriptLoader::load):
        (WebCore::SharedWorkerScriptLoader::notifyFinished):
        * workers/SharedWorker.idl:
        * workers/SharedWorkerContext.cpp:
        (WebCore::createConnectEvent):
        * workers/SharedWorkerContext.h:
        * workers/SharedWorkerContext.idl:
        * workers/Worker.cpp:
        (WebCore::Worker::notifyFinished):
        * workers/Worker.h:
        * workers/Worker.idl:
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::eventTargetData):
        (WebCore::WorkerContext::ensureEventTargetData):
        * workers/WorkerContext.h:
        * workers/WorkerContext.idl:
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::MessageWorkerContextTask::performTask):
        (WebCore::MessageWorkerTask::performTask):
        (WebCore::WorkerExceptionTask::performTask):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
        (WebCore::XMLHttpRequest::createRequest):
        (WebCore::XMLHttpRequest::abort):
        (WebCore::XMLHttpRequest::networkError):
        (WebCore::XMLHttpRequest::abortError):
        (WebCore::XMLHttpRequest::didSendData):
        (WebCore::XMLHttpRequest::didReceiveData):
        (WebCore::XMLHttpRequest::eventTargetData):
        (WebCore::XMLHttpRequest::ensureEventTargetData):
        * xml/XMLHttpRequest.h:
        * xml/XMLHttpRequest.idl:
        * xml/XMLHttpRequestProgressEvent.h:
        (WebCore::XMLHttpRequestProgressEvent::create):
        * xml/XMLHttpRequestUpload.cpp:
        (WebCore::XMLHttpRequestUpload::eventTargetData):
        (WebCore::XMLHttpRequestUpload::ensureEventTargetData):
        * xml/XMLHttpRequestUpload.h:
        * xml/XMLHttpRequestUpload.idl: Use new EventTarget API.

2009-09-23  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        - Support for maxLength of <textarea>
        - Move numGraphemeClusters() and numCharactersInGraphemeClusters() from InputElement to String.
        https://bugs.webkit.org/show_bug.cgi?id=29292

        Test: fast/forms/textarea-maxlength.html

        * dom/InputElement.cpp:
        (WebCore::InputElement::sanitizeUserInputValue):
        (WebCore::InputElement::handleBeforeTextInsertedEvent):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::defaultEventHandler):
        (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
        (WebCore::HTMLTextAreaElement::sanitizeUserInputValue):
        (WebCore::HTMLTextAreaElement::maxLength):
        (WebCore::HTMLTextAreaElement::setMaxLength):
        * html/HTMLTextAreaElement.h:
        * html/HTMLTextAreaElement.idl:
        * platform/text/PlatformString.h:
        * platform/text/String.cpp:
        (WebCore::String::numGraphemeClusters):
        (WebCore::String::numCharactersInGraphemeClusters):

2009-09-23  Martin Robinson  <martin.james.robinson@gmail.com>

        Reviewed by Xan Lopez.

        [GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images
        https://bugs.webkit.org/show_bug.cgi?id=29654

        Give GDK_Backspace key events the proper text properties.

        Instead of adding new tests, this change removes existing tests
        from Gtk's skipped list.

        * platform/gtk/KeyEventGtk.cpp:
        (WebCore::keyIdentifierForGdkKeyCode):
        (WebCore::singleCharacterString):

2009-09-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Adam Barth.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=26989
        Should allow navigation of top-level openers
        <rdar://problem/7034025>

        Allow navigation of cross-origin window.opener if it is top-level frame.

        Test: http/tests/security/frameNavigation/cross-origin-opener.html

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

2009-09-23  Marshall Culpepper  <mculpepper@appcelerator.com>

        Reviewed by Eric Seidel.

        Added $(WebKitLibrariesDir)/include/cairo so cairo.h is found by
        default when the necessary dependencies are extracted into the
        WebKitLibrariesDir.
        https://bugs.webkit.org/show_bug.cgi?id=29661

        * WebCore.vcproj/WebCoreCairo.vsprops:

2009-09-23  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Crash when website does a history.back() followed by an alert()
        https://bugs.webkit.org/show_bug.cgi?id=29686
        rdar://problem/6984996

        When loading is deferred, we need to defer timer-based loads
        too, not just networking-driven loads. Otherwise we can get
        syncronouse navigation while running a script, which leads to
        crashes and other badness.

        This patch includes a manual test; an automated test may be
        possible some time in the future.

        * dom/Document.cpp:
        (WebCore::Document::processHttpEquiv): Use scheduleLocationChange
        instead of scheduleHTTPRedirection to implement the navigation
        needed for x-frame-options.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::FrameLoader): Updated for data members with
        new names and new data members.
        (WebCore::FrameLoader::setDefersLoading): When turning deferral
        off, call startRedirectionTimer and startCheckCompleteTimer, since
        either of them might have been fired and ignored while defersLoading
        was true.
        (WebCore::FrameLoader::clear): Updated for replacement of the
        m_checkCompletedTimer and m_checkLoadCompleteTimer timers.
        (WebCore::FrameLoader::allAncestorsAreComplete): Added.
        (WebCore::FrameLoader::checkCompleted): Added code to set
        m_shouldCallCheckCompleted to false. Changed code that calls
        startRedirectionTimer to call it unconditionally, since that
        function now knows when to do work and doesn't expect callers
        to handle that any more.
        (WebCore::FrameLoader::checkTimerFired): Added. Replaces the old
        timer fired callbacks. Calls checkCompleted and checkLoadComplete
        as appropriate, but not when defersLoading is true.
        (WebCore::FrameLoader::startCheckCompleteTimer): Added. Replaces
        the two different calls to start timers before. Only starts the
        timers if they are needed.
        (WebCore::FrameLoader::scheduleCheckCompleted): Changed to call
        startCheckCompleteTimer after setting boolean.
        (WebCore::FrameLoader::scheduleCheckLoadComplete): Ditto.
        (WebCore::FrameLoader::scheduleHistoryNavigation): Removed
        canGoBackOrForward check. The logic works more naturally when
        we don't do anything until the timer fires.
        (WebCore::FrameLoader::redirectionTimerFired): Do nothing if
        defersLoading is true. Also moved canGoBackOrForward check here.
        (WebCore::FrameLoader::scheduleRedirection): Changed code that
        calls startRedirectionTimer to do so unconditionally. That
        function now handles the rules about when to start the timer
        rather than expecting the caller to do so.
        (WebCore::FrameLoader::startRedirectionTimer): Added code to
        handle the case where there is no redirection scheduled,
        where the timer is already active, or where this is a classic
        redirection and there is an ancestor that has not yet completed
        loading.
        (WebCore::FrameLoader::completed): Call startRedirectionTimer
        here directly instead of calling a cover named parentCompleted.
        Hooray! One less function in the giant FrameLoader class!
        (WebCore::FrameLoader::checkLoadComplete): Added code to set
        m_shouldCallCheckLoadComplete to false.

        * loader/FrameLoader.h: Replaced the two functions
        checkCompletedTimerFired and checkLoadCompleteTimerFired with
        one function, checkTimerFired. Removed the parentCompleted
        function. Added the startCheckCompleteTimer and
        allAncestorsAreComplete functions. Replaced the
        m_checkCompletedTimer and m_checkLoadCompleteTimer data
        members with m_checkTimer, m_shouldCallCheckCompleted, and
        m_shouldCallCheckLoadComplete.

        * manual-tests/go-back-after-alert.html: Added.
        * manual-tests/resources/alert-and-go-back.html: Added.

2009-09-23  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/29660> Move "Generate 64-bit Export File" build phase script into DerivedSources.make

        Reviewed by Mark Rowe.

        The "Generate 64-bit Export File" build phase script generated
        the WebCore.LP64.exp export file used to link 64-bit WebCore.
        Instead of having a separate build phase script, move its
        generation into DerivedSources.make where WebCore.exp is
        generated.

        * DerivedSources.make: Added a rule to make WebCore.LP64.exp.
        Added code to append WebCore.PluginHostProcess.exp to
        $(WEBCORE_EXPORT_DEPENDENCIES) when WTF_USE_PLUGIN_HOST_PROCESS
        is set to 1.
        * WebCore.PluginHostProcess.exp: Renamed from WebCore/WebCore.LP64.exp.
        * WebCore.xcodeproj/project.pbxproj: Removed the "Generate
        64-bit Export File" build phase script. Renamed WebCore.LP64.exp
        to WebCore.PluginHostProcess.exp.

2009-09-23  Peter Kasting  <pkasting@google.com>

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=29694
        [Chromium] Eliminate dependency on gfx::Rect from ImageSkia.

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

2009-09-22  Timothy Hatcher  <timothy@apple.com>

        Prevent scrolling multiple elements during latched wheel events.

        Reviewed by Anders Carlsson.

        * page/EventHandler.cpp:
        (WebCore::scrollAndAcceptEvent):
        (WebCore::EventHandler::clear):
        (WebCore::EventHandler::handleWheelEvent):
        * page/EventHandler.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::scroll):
        * rendering/RenderBox.h:

2009-09-23  Daniel Bates  <dbates@webkit.org>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=29523
        
        Fixes an issue where a JavaScript URL that was URL-encoded twice can bypass the
        XSSAuditor.
        
        The method FrameLoader::executeIfJavaScriptURL decodes the URL escape 
        sequences in a JavaScript URL before it is eventually passed to the XSSAuditor.
        Because the XSSAuditor also decodes the URL escape sequences as part of its
        canonicalization, the double decoding of a JavaScript URL would
        not match the canonicalization of the input parameters.

        Tests: http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html
               http/tests/security/xssAuditor/javascript-link-url-encoded.html

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluate): Moved call to 
        XSSAuditor::canEvaluateJavaScriptURL into FrameLoader::executeIfJavaScriptURL.
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::evaluate): Ditto.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::executeIfJavaScriptURL): Modified to call 
        XSSAuditor::canEvaluateJavaScriptURL on the JavaScript URL before it is
        decoded.

2009-09-22  Dave Hyatt  <hyatt@apple.com>

        Reviewed by John Sullivan.

        https://bugs.webkit.org/show_bug.cgi?id=29657
        Columns don't break properly in positioned elements with a fixed height.  Make sure that
        a block is still considered to have columns even when the column count is 1 if the column
        width is non-auto.
    
        Added fast/multicol/positioned-with-constrained-height.html

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

2009-09-23  Holger Hans Peter Freyther  <zecke@selfish.org>

        Rubber-stamped by Simon Hausmann.

        Add a null check for the Document*. In the mirror benchmarking
        application a crash from a call from JavaScript was observed.

        I was not able to come up with a test case for this issue.

        * platform/qt/CookieJarQt.cpp:
        (WebCore::cookieJar):

2009-09-23  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Fix the Qt/Windows build, after the introduction of
        the page client.

        * plugins/win/PluginViewWin.cpp:
        (windowHandleForPageClient):
        (WebCore::PluginView::getValue):
        (WebCore::PluginView::forceRedraw):
        (WebCore::PluginView::platformStart):

2009-09-23  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Xan Lopez.

        [GTK] media tests failing after their rework
        https://bugs.webkit.org/show_bug.cgi?id=29532

        Correctly advertise the mime types used by the common formats used
        in the tests.

        Tests that regressed, and will pass again:

           media/video-canvas-source.html
           media/video-controls.html
           media/video-currentTime-set2.html
           media/video-dom-autoplay.html
           media/video-dom-src.html
           media/video-error-abort.html
           media/video-load-networkState.html
           media/video-load-readyState.html
           media/video-muted.html
           media/video-no-autoplay.html
           media/video-pause-empty-events.html
           media/video-play-empty-events.html
           media/video-seekable.html
           media/video-seeking.html
           media/video-size.html
           media/video-source-type-params.html
           media/video-source-type.html
           media/video-source.html
           media/video-src-change.html
           media/video-src-invalid-remove.html
           media/video-src-remove.html
           media/video-src-set.html
           media/video-src-source.html
           media/video-src.html
           media/video-timeupdate-during-playback.html
           media/video-volume.html

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

2009-09-22  Charles Wei  <charles.wei@torchmobile.com.cn>

        Reviewed by Eric Seidel.

        Fix the crash problem with absolte positioned children in foreignobject
        htts://bugs.webkit.org/show_bug.cgi?id=26342

        Test: svg/custom/foreignobject-crash-with-absolute-positioned-children.svg

        * rendering/RenderForeignObject.h:
        (WebCore::RenderForeignObject::isSVGForeignObject):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::containingBlock):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isSVGForeignObject):

2009-09-22  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        SharedWorkers "name" attribute is now optional.
        https://bugs.webkit.org/show_bug.cgi?id=28897

        Test: fast/workers/shared-worker-name.html

        * bindings/js/JSSharedWorkerConstructor.cpp:
        (WebCore::constructSharedWorker):
        Default 'name' attribute to empty string if it is not provided.
        * bindings/v8/custom/V8SharedWorkerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        Default 'name' attribute to empty string if it is not provided.
        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::SharedWorkerProxy::matches):
        Now matches URLs if names are empty strings.
        (WebCore::DefaultSharedWorkerRepository::getProxy):
        Pass URL in to SharedWorkerProxy::matches().

2009-09-22  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, another build fix.

        [Chromium] Add another missing include.
        https://bugs.webkit.org/show_bug.cgi?id=29536

        * inspector/InspectorController.cpp: Added DOMWindow.h include.

2009-09-22  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        [Chromium] Add missing include.
        https://bugs.webkit.org/show_bug.cgi?id=29536

        * inspector/InspectorDOMStorageResource.cpp: Added DOMWindow.h include.

2009-09-22  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Tighten up the ScheduledRedirection machinery to prepare for a bug fix
        https://bugs.webkit.org/show_bug.cgi?id=29663

        * loader/FrameLoader.cpp:
        (WebCore::ScheduledRedirection::ScheduledRedirection): Added a boolean,
        initialized to false, to keep track if the redirection has been
        communicated to the client.
        (WebCore::FrameLoader::stopLoading): Tweaked a comment.
        (WebCore::FrameLoader::cancelRedirection): Removed code to clear
        m_scheduledRedirection.clear since stopRedirectionTimer does that now.
        (WebCore::FrameLoader::allChildrenAreComplete): Added.
        (WebCore::FrameLoader::checkCompleted): Use allChildrenAreComplete
        function for clarity.
        (WebCore::FrameLoader::checkCallImplicitClose): Ditto.
        (WebCore::FrameLoader::scheduleRedirection): Changed to take a PassOwnPtr.
        (WebCore::FrameLoader::startRedirectionTimer): Added code to set the
        toldClient flag and not call clientRedirected a second time if it is set.
        (WebCore::FrameLoader::stopRedirectionTimer): Changed so this can be safely
        called multiple times and it will call clientRedirectCancelledOrFinished
        only once.

        * loader/FrameLoader.h: Changed scheduleRedirection to be a PassOwnPtr.
        Added allChildrenAreComplete function.

2009-09-22  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Migrate Databases tab to InjectedScript /
        serialized interaction.

        DOMStorage interaction is now serialized into JSON messages
        and doesn't require quarantined objects.
        
        https://bugs.webkit.org/show_bug.cgi?id=28873

        * dom/EventListener.h:
        (WebCore::EventListener::):
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::selectDOMStorage):
        (WebCore::InspectorBackend::getDOMStorageEntries):
        (WebCore::InspectorBackend::setDOMStorageItem):
        (WebCore::InspectorBackend::removeDOMStorageItem):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::selectDOMStorage):
        (WebCore::InspectorController::getDOMStorageEntries):
        (WebCore::InspectorController::setDOMStorageItem):
        (WebCore::InspectorController::removeDOMStorageItem):
        (WebCore::InspectorController::getDOMStorageResourceForId):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMStorageResource.cpp:
        (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
        (WebCore::InspectorDOMStorageResource::bind):
        (WebCore::InspectorDOMStorageResource::unbind):
        (WebCore::InspectorDOMStorageResource::startReportingChangesToFrontend):
        (WebCore::InspectorDOMStorageResource::handleEvent):
        (WebCore::InspectorDOMStorageResource::operator==):
        * inspector/InspectorDOMStorageResource.h:
        (WebCore::InspectorDOMStorageResource::cast):
        (WebCore::InspectorDOMStorageResource::id):
        (WebCore::InspectorDOMStorageResource::domStorage):
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::selectDOMStorage):
        (WebCore::InspectorFrontend::didGetDOMStorageEntries):
        (WebCore::InspectorFrontend::didSetDOMStorageItem):
        (WebCore::InspectorFrontend::didRemoveDOMStorageItem):
        (WebCore::InspectorFrontend::updateDOMStorage):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/DOMStorage.js:
        (WebInspector.DOMStorage):
        (WebInspector.DOMStorage.prototype.get id):
        (WebInspector.DOMStorage.prototype.get domStorage):
        (WebInspector.DOMStorage.prototype.get isLocalStorage):
        (WebInspector.DOMStorage.prototype.getEntriesAsync):
        (WebInspector.DOMStorage.prototype.setItemAsync):
        (WebInspector.DOMStorage.prototype.removeItemAsync):
        * inspector/front-end/DOMStorageDataGrid.js:
        (WebInspector.DOMStorageDataGrid):
        (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode):
        (WebInspector.DOMStorageDataGrid.prototype._startEditing):
        (WebInspector.DOMStorageDataGrid.prototype._editingCommitted):
        (WebInspector.DOMStorageDataGrid.prototype._editingCancelled):
        (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
        * inspector/front-end/DOMStorageItemsView.js:
        (WebInspector.DOMStorageItemsView.prototype.update):
        (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
        (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel.prototype.show):
        (WebInspector.StoragePanel.prototype.reset):
        (WebInspector.StoragePanel.prototype.selectDOMStorage):
        (WebInspector.StoragePanel.prototype.updateDOMStorage):
        (WebInspector.StoragePanel.prototype._domStorageForId):
        * inspector/front-end/inspector.js:
        (WebInspector.addDOMStorage):
        (WebInspector.updateDOMStorage):

2009-09-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Fix for XMLHttpRequest.abort() should destroy the response text.
        https://bugs.webkit.org/show_bug.cgi?id=29658
        <rdar://problem/5301430>

        Clearing the response text after calling XMLHttpRequest.abort() is necessary
        per spec and matches Firefox. It is also a potential memory win.

        Test: http/tests/xmlhttprequest/abort-should-destroy-responseText.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::abort): Clear the response text making sure to
        keep the actual ResourceReponse around so that the response status and response
        status text are kept around.

2009-09-22  Dimitri Glazkov  <dglazkov@chromium.org>

        No review, rolling out r48639.
        http://trac.webkit.org/changeset/48639

        * bindings/v8/V8GCController.cpp:
        (WebCore::ObjectGrouperVisitor::visitDOMWrapper):

2009-09-22  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Changing the transaction coordinator to (re-)allow multiple read
        transactions on the same database to run concurrently (without
        risking a deadlock this time).

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

        Tests: storage/read-and-write-transactions-dont-run-together.html
               storage/read-transactions-running-concurrently.html

        * storage/SQLTransaction.h:
        (WebCore::SQLTransaction::isReadOnly): Returns the type of the
        transaction.
        * storage/SQLTransactionCoordinator.cpp:
        (WebCore::SQLTransactionCoordinator::acquireLock): Changed to
        allow multiple read transactions on the same DB to run
        concurrently.
        (WebCore::SQLTransactionCoordinator::releaseLock): Changed to
        allow multiple read transactions on the same DB to run
        concurrently.
        (WebCore::SQLTransactionCoordinator::shutdown): Renamed the map.
        * storage/SQLTransactionCoordinator.h:

2009-09-22  Peter Kasting  <pkasting@google.com>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=29652
        Support true system colors for CSS system colors in Chromium/Win.

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::cssValueIdToSysColorIndex):
        (WebCore::RenderThemeChromiumWin::systemColor):
        * rendering/RenderThemeChromiumWin.h:

2009-09-22  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        Fix for <rdar://problem/6925121> SAP: Wrong width calculation in 
        table with fixed layout
        -and corresponding-
        https://bugs.webkit.org/show_bug.cgi?id=29501

        New Tests:
        * fast/table/fixed-table-with-percent-inside-percent-table.html: Added.
        * fast/table/fixed-table-with-percent-width-inside-auto-table.html: Added.
        * fast/table/fixed-table-with-percent-width-inside-div.html: Added.
        * fast/table/fixed-table-with-percent-width-inside-extra-large-div.html: Added.
        * fast/table/fixed-table-with-percent-width-inside-fixed-width-table.html: Added.
        * fast/table/fixed-table-with-small-percent-width.html: Added.

        This new quirk is very similar to an existing one that was 
        implemented in revision 4316.
        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::calcPrefWidths):

2009-09-22  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Timothy Hatcher.

        List HTTP status code with response headers in resources tab of Web Inspector.
        http://webkit.org/b/19945

        This patch adds a new top level list in the resources tab, HTTP Information, that 
        for now, contains the Request Method (GET, POST, etc.) and the Status Code (200, 404, etc.).
        Additionally, it adds a colored dot next to the requested URL to show the status 
        (green for success, orange for redirect, red for error).

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ImageView.js:
        (WebInspector.ImageView):
        * inspector/front-end/Images/errorRedDot.png: Added.
        * inspector/front-end/Images/successGreenDot.png: Added.
        * inspector/front-end/Images/warningOrangeDot.png: Added.
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.StatusTextForCode):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView):
        (WebInspector.ResourceView.prototype._refreshURL):
        (WebInspector.ResourceView.prototype._refreshHTTPInformation):
        * inspector/front-end/inspector.css:

2009-09-22  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        Back list isn't properly updated for fragment changes after a redirect.
        <rdar://problem/6142803> and https://bugs.webkit.org/show_bug.cgi?id=20355

        Test: fast/loader/fragment-after-redirect-gets-back-entry.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadURL): Properly reset the policy FrameLoadType before
          consulting the policy delegate for fragment scrolling.

2009-09-22  Darin Fisher  <darin@chromium.org>

        Reviewed by Dimitri Glazkov.

        Drop down selects get stuck in the non-visible state and cannot be opened.
        https://bugs.webkit.org/show_bug.cgi?id=29645

        All paths that lead to hiding the popup menu must call popupDidHide on
        the PopupMenuClient.  This change makes it so by moving all of the
        hiding logic to PopupListBox::hidePopup.

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

2009-09-22  Patrick Mueller  <Patrick_Mueller@us.ibm.com>

        Reviewed by Timothy Hatcher.

        WebInspector.log() function not protected if console not yet created
        https://bugs.webkit.org/show_bug.cgi?id=29336
        
        No new tests.  Only affects Web Inspector developers adding logging
        to their code during development.

        * inspector/front-end/inspector.js:
        (WebInspector.log.isLogAvailable):
        (WebInspector.log.flushQueue):
        (WebInspector.log.flushQueueIfAvailable):
        (WebInspector.log.logMessage):
        (WebInspector.log):

2009-09-22  Yaar Schnitman  <yaar@chromium.org>

        Reviewed by David Levin.

        Ported chromium.org's webcore.gyp for the webkit chromium port.

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

        * WebCore.gyp/WebCore.gyp: Added.

2009-09-22  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>

        Reviewed by Adam Barth.

        [v8] Don't keep clean wrappers artificially alive        
        We currently keep all DOM node wrappers alive, even when there are
        no more references to them from JS, in case they have properties
        that we need to keep around if new JS references are created.
        This changes the policy to only keep wrappers artificially alive
        if they have changed since they were created. Empty wrappers are
        discarded and recreated as needed.
        https://bugs.webkit.org/show_bug.cgi?id=29330

        * bindings/v8/V8GCController.cpp:
        (WebCore::ObjectGrouperVisitor::visitDOMWrapper):

2009-09-22  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: console.count and console.timeEnd
        crash when inspector is opened.

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

        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::addMessageToConsole):

2009-09-22  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        Fix bogus build fix I did last night.

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8Custom::WindowSetTimeoutImpl):

2009-09-22  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        NPAPI/Mac: Don't paint plugins if we don't have a CGContextRef

        * plugins/mac/PluginViewMac.cpp:

2009-09-22  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reivewed by Simon Hausmann.

        Fix the Qt/Mac build after r48604 (Implement new QWebPageClient class)

        There's no QWidget::x11Info() on Mac, and setPlatformPluginWidget()
        takes a QWidget*, not a QWebPageClient*

        * plugins/mac/PluginViewMac.cpp:
        (WebCore::PluginView::platformStart):

2009-09-21  Adam Barth  <abarth@webkit.org>

        Attempted fix for the V8 build.

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8Custom::WindowSetTimeoutImpl):

2009-09-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Don't re-enter JavaScript after performing access checks
        https://bugs.webkit.org/show_bug.cgi?id=29531

        Moved the access check slightly later in this functions to avoid
        re-entering the JavaScript interpreter (typically via toString)
        after performing the access check.

        I can't really think of a meaningful test for this change.  It's more
        security hygiene.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation):
        (WebCore::JSDOMWindow::open):
        (WebCore::JSDOMWindow::showModalDialog):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::setHref):
        (WebCore::JSLocation::replace):
        (WebCore::JSLocation::assign):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8Custom::WindowSetTimeoutImpl):
        (WebCore::if):
        (CALLBACK_FUNC_DECL):
        (V8Custom::WindowSetLocation):
        (V8Custom::ClearTimeoutImpl):
        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):

2009-09-21  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Eric Seidel.

        Make all write transaction start with a BEGIN IMMEDIATE command
        instead of BEGIN.

        We cannot test this change in a layout test, because in order to
        test it we need to spawn two database threads and execute
        transaction steps on these two threads in a very specific order,
        which seems impossible to do when they share the same main thread
        (as they would in a layout test). The SQLite docs and the case
        described in the bug though should be enough proof that we do have
        a problem here and that this patch will fix it.

        Relevant SQLite documentation:
        http://www.sqlite.org/lang_transaction.html
        http://www.sqlite.org/lockingv3.html#locking

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

        * platform/sql/SQLiteTransaction.cpp:
        (WebCore::SQLiteTransaction::SQLiteTransaction): Added a readOnly
        parameter.
        (WebCore::SQLiteTransaction::begin): Changed to BEGIN IMMEDIATE
        for write transactions.
        * platform/sql/SQLiteTransaction.h:
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::openTransactionAndPreflight): Passing
        the read-only flag to the SQLiteTransaction instance.

2009-09-21  Brady Eidson  <beidson@apple.com>

        Rubberstamped by Mark Rowe.

        * DerivedSources.make: Fix the Xcode build on SnowLeopard.

2009-09-15  John Abd-El-Malek  <jam@chromium.org>

        Reviewed by Darin Fisher.

        Prevent sleeps in unload handlers.
        https://bugs.webkit.org/show_bug.cgi?id=29193

        Test: fast/dom/Window/slow_unload_handler.html

        * WebCore.gypi:
        * bindings/v8/DateExtension.cpp: Added.
        (WebCore::DateExtension::DateExtension):
        (WebCore::DateExtension::get):
        (WebCore::DateExtension::setAllowSleep):
        (WebCore::DateExtension::GetNativeFunction):
        (WebCore::DateExtension::weakCallback):
        (WebCore::DateExtension::GiveEnableSleepDetectionFunction):
        (WebCore::DateExtension::OnSleepDetected):
        * bindings/v8/DateExtension.h: Added.
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::invokeEventHandler):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::createNewContext):
        (WebCore::V8Proxy::registerExtensionWithV8):
        (WebCore::V8Proxy::registeredExtensionWithV8):
        * bindings/v8/V8Proxy.h:

2009-09-21  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        [V8] Run-time exception in onmessage handler is not forwarded to the
        worker object.
        https://bugs.webkit.org/show_bug.cgi?id=28980

        The previous fix was partially reverted due to a reliability build break
        in chromium. The break happens when an exception is thrown without
        setting a message. We need to check for this scenario and handle it.

        Tested by worker-close.html.

        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::invokeEventHandler):
        * bindings/v8/V8Utilities.cpp:
        (WebCore::reportException):

2009-09-21  Greg Bolsinga  <bolsinga@apple.com>

        Reviewed by Simon Fraser & Sam Weinig.

        Add ENABLE(ORIENTATION_EVENTS)
        https://bugs.webkit.org/show_bug.cgi?id=29508
        
        See documentation here:
        http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW16

        * DerivedSources.make: Use new WebCore.OrientationEvents.exp file if ENABLE_ORIENTATION_EVENTS.
        Add ENABLE_ORIENTATION_EVENTS to the new ADDITIONAL_IDL_DEFINES variable that is passed to the IDL
        code generator. This is because ENABLE_ORIENTATION_EVENTS is not in FEATURE_DEFINES.
        * WebCore.OrientationEvents.exp: Added.
        * WebCore.xcodeproj/project.pbxproj: Add WebCore.OrientationEvents.exp.
        * dom/EventNames.h: Add onorientationchange.
        * html/HTMLAttributeNames.in: Ditto.
        * html/HTMLBodyElement.cpp: Handle onorientationchange properly.
        (WebCore::HTMLBodyElement::parseMappedAttribute):
        (WebCore::HTMLBodyElement::onorientationchange):
        (WebCore::HTMLBodyElement::setOnorientationchange):
        * html/HTMLBodyElement.h: Ditto.
        * html/HTMLBodyElement.idl: Ditto.
        * html/HTMLFrameSetElement.cpp: Ditto.
        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
        (WebCore::HTMLFrameSetElement::onorientationchange):
        (WebCore::HTMLFrameSetElement::setOnorientationchange):
        * html/HTMLFrameSetElement.h: Ditto.
        * html/HTMLFrameSetElement.idl: Ditto.
        * page/DOMWindow.cpp: Ditto.
        (WebCore::DOMWindow::orientation): Calls up the to the Frame for the orientation value.
        (WebCore::DOMWindow::onorientationchange):
        (WebCore::DOMWindow::setOnorientationchange):
        * page/DOMWindow.h: Handle onorientationchange properly.
        * page/DOMWindow.idl: Ditto.
        * page/Frame.cpp: Ditto.
        (WebCore::Frame::Frame):
        (WebCore::Frame::sendOrientationChangeEvent):
        * page/Frame.h: Ditto.
        (WebCore::Frame::orientation):

2009-09-18  Anders Carlsson  <andersca@apple.com>

        Try fixing the build again.
        
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::wndProc):

2009-09-21  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: completions are always evaluated against
        window (discarding call frames).

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

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.completions):
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.getCompletions):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.selectedCallFrameId):

2009-09-21  Brent Fulgham  <bfulgham@webkit.org>

        Unreviewed build fix for Windows (Cairo) target.

        Add stubs for SocketStream classes added in @r47788, which
        broke the WinCairo build.

        No new tests. (Build failure).

        * WebCore.vcproj/WebCore.vcproj:  Add references to new files
          to Cairo build, exclude from standard Apple build.
        * platform/network/curl/SocketStreamError.h: Added.
        * platform/network/curl/SocketStreamHandle.h: Added.
        * platform/network/curl/SocketStreamHandleCurl.cpp: Added.

2009-09-21  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Expose InspectorResource fields.

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

        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::sourceString):
        (WebCore::InspectorResource::resourceData):
        * inspector/InspectorResource.h:
        (WebCore::InspectorResource::requestHeaderFields):
        (WebCore::InspectorResource::responseHeaderFields):
        (WebCore::InspectorResource::responseStatusCode):
        (WebCore::InspectorResource::requestMethod):
        (WebCore::InspectorResource::requestFormData):

2009-09-21  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: JS error drilling down childless node.
        No need to dispatch double click twice - it is already handled
        in TreeElement.treeElementDoubleClicked.

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

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

2009-09-21  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Hausmann.

        Implement new QWebPageClient class and let our classes
        QWebViewPrivate and QWebGraphicsItemPrivate inherit from it.

        For Qt, platformPageClient() will now return a class derived from
        the QWebPageClient, so the patch adapts our Qt hooks to go though
        this class and not depend on the QWebView.

        * WebCore.pro:
        * platform/Widget.h:
        * platform/qt/PlatformScreenQt.cpp:
        (WebCore::screenDepth):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenu::show):
        * platform/qt/QWebPageClient.h: Added.
        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::setCursor):
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::getValue):
        (WebCore::PluginView::platformStart):

2009-09-21  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Evaluating on call frame always returns "undefined".

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

        * inspector/front-end/InjectedScript.js:
        (InjectedScript.evaluate):
        (InjectedScript._evaluateAndWrap):
        (InjectedScript._evaluateOn):
        (InjectedScript.evaluateInCallFrame):

2009-09-21  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Exception formatting is broken in console.

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

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleCommandResult):
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.evaluate):
        (InjectedScript.createProxyObject):

2009-09-21  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Console object formatting is broken.

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

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage.prototype._format):
        * inspector/front-end/ObjectProxy.js:
        (WebInspector.ObjectProxy.wrapPrimitiveValue):

2009-09-21  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Crash When Logging an Element Before Opening Inspector

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

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

2009-09-21  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Incorrect clipping with accelerated compositing content, and position:fixed
        https://bugs.webkit.org/show_bug.cgi?id=29347
        
        Fix the compositing clipping logic to behave correctly when position:fixed
        elements clip, by using the new backgroundClipRect() method to determine
        when we need to clip, and to compute the clipping layer position.

        Test: compositing/overflow/fixed-position-ancestor-clip.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::clippedByAncestor):

2009-09-21  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Add back in a special case for window.top in the V8 bindings.

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

        Fixes LayoutTests/fast/dom/Window/window-property-shadowing.html in the Chromium port.

        * bindings/scripts/CodeGeneratorV8.pm: Ensure window.top is not marked as read only, as this breaks the shadowing disabling.

2009-09-21  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Brady Eidson.

        HTMLMediaElement: media file should not reload when page comes out of page cache
        https://bugs.webkit.org/show_bug.cgi?id=29604

        Test: media/restore-from-page-cache.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::userCancelledLoad): Do nothing unless the element
        is still loading. Only fire an 'emptied' event if the readyState is HAVE_NOTHING,
        otherwise set the network state to NETWORK_IDLE.

2009-09-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoffrey "Sean/Shawn/Shaun" Garen.

        Clarify two FIXMEs.

        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        * bindings/js/JSHTMLFormElementCustom.cpp:
        (WebCore::JSHTMLFormElement::nameGetter):

2009-09-21  Darin Fisher  <darin@chromium.org>

        Reviewed by Dimitri Glazkov.

        Drop down selects fail to close when a value is selected
        https://bugs.webkit.org/show_bug.cgi?id=29582

        Implement PopupListBox::hidePopup, which was previously
        declared but unimplemented.  Removes the declaration of
        showPopup since that method is not implemented.

        PopupListBox::hidePopup takes care of hiding the popup,
        by invoking hidePopup on its parent PopupContainer, and
        then informs the PopupMenuClient that popupDidHide.
        This mimics the old behavior prior to r48370.

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::handleKeyEvent):
        (WebCore::PopupListBox::abandon):
        (WebCore::PopupListBox::acceptIndex):
        (WebCore::PopupListBox::hidePopup):

2009-09-21  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>

        Rubber-stamped by Simon Hausmann.

        [Qt] Windows build fix.
        https://bugs.webkit.org/show_bug.cgi?id=29535

        * platform/network/qt/DnsPrefetchHelper.cpp: Missing #include "config.h"  added.

2009-09-21  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Unreviewed make dist build fix. Missing files.

        * GNUmakefile.am:

2009-09-20  Adam Barth  <abarth@webkit.org>

        Reviewed by Maciej Stachowiak.

        Crash when clicking link in unload handler
        https://bugs.webkit.org/show_bug.cgi?id=29525

        Test that the first navigation always wins when the page tries to start
        a new navigation in an unload handler.

        Tests: fast/loader/unload-form-about-blank.html
               fast/loader/unload-form-post-about-blank.html
               fast/loader/unload-form-post.html
               fast/loader/unload-form.html
               fast/loader/unload-hyperlink.html
               fast/loader/unload-javascript-url.html
               fast/loader/unload-reload.html
               fast/loader/unload-window-location.html

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

2009-09-18  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Sometimes crashes when a page is destroyed/loads another URL while playing video
        https://bugs.webkit.org/show_bug.cgi?id=29496

        Protect the video sink object, and destroy it in an idle callback
        to hopefully avoid a race condition that leads to a crash.

        This is already tested by media/video-seekable.html

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::idleUnref):
        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::createGSTPlayBin):

2009-09-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Unreviewed build fix for GTK+ and a blind one for Qt after r48566.

        * GNUmakefile.am:
        * WebCore.pro:

2009-09-19  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=29519
        Remove JSNameNodeCollection and just use StaticNodeList

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        * bindings/js/JSHTMLFormElementCustom.cpp:
        (WebCore::JSHTMLFormElement::nameGetter):
        * bindings/js/JSNamedNodesCollection.cpp: Removed.
        * bindings/js/JSNamedNodesCollection.h: Removed.

2009-09-19  Daniel Bates  <dbates@webkit.org>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=29511
        
        Fixes an issue where script code that contains non-ASCII characters may bypass the 
        XSSAuditor.
        
        Before performing a comparison between the script source code and input parameters, we
        remove all non-ASCII characters, including non-printable ASCII characters from the
        script source code and input parameters.

        Tests: http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html
               http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html
               http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html
               http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html

        * page/XSSAuditor.cpp:
        (WebCore::isNonCanonicalCharacter): Modified to remove all non-ASCII characters,
        including non-printable ASCII characters.

2009-09-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Incorrect animation with scale(0) transform (singular matrix)
        https://bugs.webkit.org/show_bug.cgi?id=29465
        
        Make accelerated scale() and translate() animations go through the component animation
        path (rather than just matrix animation) to avoid problems with singular scale matrices,
        and be slightly more efficient.

        Test: compositing/transitions/singular-scale-transition.html

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::getTransformFunctionValue):
        (WebCore::getValueFunctionNameForTransformOperation):

2009-09-19  Alex Milowski  <alex@milowski.com>

        Reviewed by Maciej Stachowiak.

        Adds CSS styling and basic DOM element support for MathML

        * DerivedSources.make:
          Added user stylesheet and tag factory generation

        * WebCore.xcodeproj/project.pbxproj:
          Added new DOM element code

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseAttr):
          Added check for document since stylesheet can be added before there is a document

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForElement):
          Added check to add MathML user agent stylesheet

        * css/mathml.css: Added.
          MathML user agent stylesheet

        * dom/Document.cpp:
        (WebCore::Document::createElement):
          Added support for creation of MathML DOM objects

        * dom/Node.h:
        (WebCore::Node::isMathMLElement):
          Added check method for whether the node is a MathML node

        * mathml: Added.
        * mathml/MathMLElement.cpp: Added.
        (WebCore::MathMLElement::MathMLElement):
        (WebCore::MathMLElement::create):
        (WebCore::MathMLElement::createRenderer):
        * mathml/MathMLElement.h: Added.
        (WebCore::MathMLElement::isMathMLElement):
          MathML DOM base class


        * mathml/MathMLInlineContainerElement.cpp: Added.
        (WebCore::MathMLInlineContainerElement::MathMLInlineContainerElement):
        (WebCore::MathMLInlineContainerElement::create):
        (WebCore::MathMLInlineContainerElement::createRenderer):
        * mathml/MathMLInlineContainerElement.h: Added.
          Base class for non-text containers

        * mathml/MathMLMathElement.cpp: Added.
        (WebCore::MathMLMathElement::MathMLMathElement):
        (WebCore::MathMLMathElement::create):
        * mathml/MathMLMathElement.h: Added.
          Root Math element

        * mathml/mathtags.in: Added.
          Element list mappings

        * page/Frame.cpp:
        (WebCore::Frame::Frame):
          Added MathML name initialization
2009-09-19  Adam Barth  <abarth@webkit.org>

        Reviewed by Oliver Hunt.

        Canvas drawn with data URL image raises SECURITY_ERR when toDataUrl() called.
        https://bugs.webkit.org/show_bug.cgi?id=29305

        We need to special-case data URLs when tainting a canvas because we
        treat data URLs has having no security origin, unlike other
        browsers.  The reason we do this is to help sites avoid XSS via data
        URLs, but that consideration doesn't apply to canvas taint.

        Also, we were previously incorrectly taking document.domain state
        into account when tainting canvas.

        Tests: http/tests/security/canvas-remote-read-data-url-image.html
               http/tests/security/canvas-remote-read-data-url-svg-image.html
               http/tests/security/canvas-remote-read-remote-image-document-domain.html

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::checkOrigin):
        (WebCore::CanvasRenderingContext2D::createPattern):
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::taintsCanvas):
        * page/SecurityOrigin.h:

2009-09-18  Simon Fraser  <simon.fraser@apple.com>

        Fix stylistic issue raised in code review for previous commit.

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

2009-09-18  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Element is misplaced during opacity transition with certain configuration of transform-origin and clipping
        https://bugs.webkit.org/show_bug.cgi?id=29495
        
        If an element has zero size, but has a transform origin with absolute values,
        then the transform origin would not be applied because it is implemented via
        anchorPoint, which is expressed as a fraction of the layer size.
        
        Work around this by artificially inflating the size of the backing store when we need to.

        Test: compositing/geometry/transfrom-origin-on-zero-size-layer.html

        * rendering/RenderLayerBacking.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::RenderLayerBacking):
        Init m_artificiallyInflatedBounds to false.
        
        (WebCore::hasNonZeroTransformOrigin):
        Utility function that describes whether the transform-origin contains non-percentage
        x or y offsets.
        
        (WebCore::RenderLayerBacking::updateCompositedBounds):
        New wrapper method around setCompositedBounds() that applies the size inflation
        when necessary, setting the m_artificiallyInflatedBounds as appropriate.
        
        (WebCore::RenderLayerBacking::updateAfterLayout): Call updateCompositedBounds().
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Ditto
        
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Ditto
        (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): Ditto

2009-09-18  Antti Koivisto  <antti@apple.com>

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=29512
        Don't recalculate style when restoring from the page cache

        FrameLoaderClient::forceLayout() also forces style recalc. Instead call FrameView::forceLayout() 
        directly to update the scrollbars while keeping the existing style.
        
        Makes back/forward really fast on complex pages (in cases where page cache works).

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

2009-09-18  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoff Garen.

        Implement ES5 Object.defineProperty function
        https://bugs.webkit.org/show_bug.cgi?id=29503

        Override defineOwnProperty on JSDOMWindowShell to forward appropriately,
        and then override defineOwnProperty on JSDOMWindow to disallow cross origin
        defineOwnProperty usage.  We also override defineOwnProperty on QuarantinedObjectWrapper
        to ensure correct wrapping semantics of quarantined objects.

        One major caveat in this patch is that it currently disallows the use
        of Object.defineProperty on DOMObjects other than the window due to
        the significant work involved in correctly propagating attributes and
        ensuring correct semantics on dom objects.

        Tests: fast/js/Object-defineProperty.html
               http/tests/security/xss-DENIED-defineProperty.html

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::DOMObject::defineOwnProperty):
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::defineGetter):
        (WebCore::JSDOMWindow::defineSetter):
        (WebCore::JSDOMWindow::defineOwnProperty):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::defineOwnProperty):
        (WebCore::JSDOMWindowShell::defineGetter):
        (WebCore::JSDOMWindowShell::defineSetter):
        * bindings/js/JSDOMWindowShell.h:
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::defineGetter):
        (WebCore::JSLocationPrototype::defineGetter):
        * bindings/js/JSQuarantinedObjectWrapper.cpp:
        (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyDescriptor):
        (WebCore::JSQuarantinedObjectWrapper::defineOwnProperty):
        * bindings/js/JSQuarantinedObjectWrapper.h:
        * bindings/scripts/CodeGeneratorJS.pm:

2009-09-18  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=29510
        Active DOM objects should be suspended while a modal dialog is displayed

        * manual-tests/js-timers-beneath-modal-dialog.html: Added a test for JS timers.

        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
        Match other platforms, and make Mac also suspend active DOM objects. Since a page that
        currently displays a modal dialog cannot go into page cache, there is no danger of suspending
        an object twice.        

2009-09-18  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>

        Reviewed by Eric Seidel.

        [Qt] Buildfix caused by http://trac.webkit.org/changeset/48513
        https://bugs.webkit.org/show_bug.cgi?id=29351

        * bridge/qt/qt_instance.h: createRuntimeObject method renamed to newRuntimeObject.
        * bridge/runtime.h: Visibility of newRuntimeObject method modified to protected.

2009-09-18  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Timothy Hatcher.

        Fix parameter substitutions in console.log().

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

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage.prototype._format):
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.getPrototypes):
        (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
        * inspector/front-end/utilities.js:
        ():

2009-09-18  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoffrey Garen and Brady Eidson.

        Temporarily remove an assertion that was getting hit when going
        back to a page in the page cache while a banner in Safari was visible.
        We should re-enable this once that is fixed. See <rdar://problem/7218118>

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

2009-09-18  Anders Carlsson  <andersca@apple.com>

        Try fixing the build again.
        
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::wndProc):

2009-09-18  Anders Carlsson  <andersca@apple.com>

        Fix windows build.
        
        * platform/win/PopupMenuWin.cpp:

2009-09-18  Sam Weinig  <sam@webkit.org>

        Reviewed by Gavin 'BearClaw' Barraclough.

        Convert another callback type object to store the global object
        instead of the frame.

        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::create):
        (WebCore::JSCustomXPathNSResolver::JSCustomXPathNSResolver):
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        * bindings/js/JSCustomXPathNSResolver.h:

2009-09-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=29332
        <rdar://problem/7231652> 
        REGRESSION (r48446): While a <select> popup menu is open, the
        rest of the WebView doesn't respond to mouse move events.

        * platform/win/PopupMenuWin.cpp:
        (WebCore::translatePoint):
        New helper function that translates a point between HWND coordinates.
        
        (WebCore::PopupMenu::show):
        Protect the PopupMenu if someone removes the <select> in response to a mouse
        event. Handle WM_HOST_WINDOW_MOUSEMOVE events.
        
        (WebCore::PopupMenu::wndProc):
        in the WM_MOUSEMOVE handler, if the mouse is not over the popup, post a 
        WM_HOST_WINDOW_MOUSEMOVE event so that the host window (the WebView) gets the
        mouse move event.

2009-09-18  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        Compositing layers are incorrectly positioned after scrolling with position:fixed
        https://bugs.webkit.org/show_bug.cgi?id=29262
        
        When scrolling a page with compositing layers inside a position:fixed element,
        we need to update the compositing layer positions when the scroll position changes.

        Test: compositing/geometry/fixed-position.html

        * WebCore.base.exp:
        Export FrameView::scrollPositionChanged()
        
        * page/FrameView.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::scrollPositionChanged):
        New method that sends the scroll event, and updates compositing layers positions if necessary.

2009-09-18  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        Transformed elements inside position:fixed container are clipped incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=29346
        
        Fix clipping and hit testing on transformed elements inside a position:fixed element.
        Previously, the code used the overflowClipRect of the parent clip rects, but
        this is not correct for fixed postion elements. Instead, share code that is
        already present in calculateRects() to get the correct rect.

        Test: fast/overflow/position-fixed-transform-clipping.html

        * rendering/RenderLayer.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::hitTestLayer):
        Call the new backgroundClipRect() to get the correct clipRect.
        
        (WebCore::RenderLayer::backgroundClipRect):
        New method, factored out of calculateRects(), that computes the clip rect,
        doing the right thing for fixed position elements.
        
        (WebCore::RenderLayer::calculateRects):
        Call the new backgroundClipRect() method.
        
2009-09-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        Fix <rdar://problem/7050773> REGRESSION (r40098) Crash at
        WebCore::RenderBlock::layoutBlock()
        https://bugs.webkit.org/show_bug.cgi?id=29498

        Test: accessibility/nested-layout-crash.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::updateBackingStore): Changed to
            call Document::updateLayoutIgnorePendingStylesheets() instead of
            calling RenderObject::layoutIfNeeded(). The latter requires that
            there be no pending style recalc, which allows methods that call
            Document::updateLayout() to be called during layout without risking
            re-entry into layout.
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityActionNames]): Null-check
            m_object after calling updateBackingStore(), since style recalc may
            destroy the renderer, which destroys the accessibility object and
            detaches it from the wrapper.
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]): Ditto.
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): Ditto.
        (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]): Ditto.
        (-[AccessibilityObjectWrapper accessibilityHitTest:]): Ditto.
        (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
            Ditto.
        (-[AccessibilityObjectWrapper accessibilityIsIgnored]): Ditto.
        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
             Ditto.
        (-[AccessibilityObjectWrapper accessibilityPerformPressAction]): Ditto.
        (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]):
            Ditto.
        (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]):
            Ditto.
        (-[AccessibilityObjectWrapper accessibilityPerformAction:]): Ditto.
        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
            Ditto.
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
            Ditto.
        (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]): Ditto.
        (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
            Ditto.
        (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
            Ditto.

2009-09-18  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Simon Hausmann.

        Update Qt build system for Web Socket.
        https://bugs.webkit.org/show_bug.cgi?id=29270

        * WebCore.pro:
        * platform/network/qt/SocketStreamError.h: Added.
        * platform/network/qt/SocketStreamHandle.h: Added.
        * platform/network/qt/SocketStreamHandleSoup.cpp: Added.

2009-09-18  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        NULL check HTMLMediaElement::m_playedTimeRanges.
        Fix for https://bugs.webkit.org/show_bug.cgi?id=29494

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::addPlayedRange): New. Create m_playedTimeRanges if
        necessary, add range specified.
        (WebCore::HTMLMediaElement::seek): Use addPlayedRange. 
        (WebCore::HTMLMediaElement::played): Use addPlayedRange. Change time comparison 
        to be more readable.
        (WebCore::HTMLMediaElement::updatePlayState): Ditto.
        * html/HTMLMediaElement.h:

2009-09-18  Sam Weinig  <sam@webkit.org>

        Reviewed by Adele Peterson.

        Follow up fix for https://bugs.webkit.org/show_bug.cgi?id=29276
        REGRESSION(r48334): WebKit crashes on file select by drag

        Don't use Document.elementFromPoint since it returns null if the point
        is outside the viewport.  Instead, just hit test ourselves.

        Test: fast/events/drag-file-crash.html

        * page/DragController.cpp:
        (WebCore::elementUnderMouse):
        (WebCore::DragController::tryDocumentDrag):
        (WebCore::DragController::concludeEditDrag):

2009-09-18  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Each wrapped Objective-C object should use a single RuntimeObjectImp
        https://bugs.webkit.org/show_bug.cgi?id=29351
        rdar://problem/7142294

        * WebCore.base.exp: Added a newly-needed exported symbol.

        * bindings/objc/DOMInternal.h: Eliminated unused
        createWrapperCacheWithIntegerKeys; it has not been needed since the
        RGBColor wrappers were reworked.
        * bindings/objc/DOMInternal.mm: Ditto.

        * bridge/objc/objc_instance.h: Made the create function non-inline.
        * bridge/objc/objc_instance.mm:
        (createInstanceWrapperCache): Added. Creates an appropriate map table.
        (ObjcInstance::create): Moved here from header. Uses NSMapGet and
        NSMapInsert to cache the instance in a map table.
        (ObjcInstance::~ObjcInstance): Added a call to NSMapRemove to remove
        the instance from the map table.

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::~QtInstance): Remove unneeded code to remove
        the instance from cachedObjects, which no longer exists.
        (JSC::Bindings::QtInstance::newRuntimeObject): Renamed to overload new
        bottleneck. Caching is now handled by the base class.

        * bridge/runtime.cpp:
        (JSC::Bindings::Instance::Instance): Initialize m_runtimeObject to 0.
        (JSC::Bindings::Instance::~Instance): Assert m_runtimeObject is 0.
        (JSC::Bindings::Instance::createRuntimeObject): Use m_runtimeObject
        if it's already set. Set m_runtimeObject and call addRuntimeObject
        if it's not.
        (JSC::Bindings::Instance::newRuntimeObject): Added. Virtual function,
        used only by createRuntimeObject.
        (JSC::Bindings::Instance::willDestroyRuntimeObject): Added.
        Calls removeRuntimeObject and then clears m_runtimeObject.
        (JSC::Bindings::Instance::willInvalidateRuntimeObject): Added.
        Clears m_runtimeObject.

        * bridge/runtime.h: Made createRuntimeObject non-virtual. Added
        willDestroyRuntimeObject, willInvalidateRuntimeObject,
        newRuntimeObject, and m_runtimeObject.

        * bridge/runtime_object.cpp:
        (JSC::RuntimeObjectImp::RuntimeObjectImp): Removed addRuntimeObject
        call, now handled by caller.
        (JSC::RuntimeObjectImp::~RuntimeObjectImp): Replaced removeRuntimeObject
        call with willDestroyRuntimeObject call; the latter nows calls
        removeRuntimeObject.
        (JSC::RuntimeObjectImp::invalidate): Added willInvalidateRuntimeObject
        call.

        * bridge/runtime_object.h: Made invalidate non-virtual.

2009-09-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Hausmann.

        Make PlatformWindow return something else than PlatformWidget
        https://bugs.webkit.org/show_bug.cgi?id=29085

        Make platformWindow return a PlatformPageClient
        (for now typedef'ed to PlatformWidget)

        Also, change the name of platformWindow to platformPageClient()

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (getPangoLayoutForAtk):
        * accessibility/win/AXObjectCacheWin.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::platformPageClient):
        * page/Chrome.cpp:
        (WebCore::Chrome::platformPageClient):
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::wheelEvent):
        (WebCore::EventHandler::currentPlatformMouseEvent):
        (WebCore::EventHandler::sendContextMenuEvent):
        (WebCore::EventHandler::eventMayStartDrag):
        * platform/HostWindow.h:
        * platform/Widget.h:
        * platform/gtk/PlatformScreenGtk.cpp:
        (WebCore::getVisual):
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenu::show):
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::platformAddChild):
        (WebCore::ScrollView::platformRemoveChild):
        (WebCore::ScrollView::visibleContentRect):
        * platform/gtk/WidgetGtk.cpp:
        (WebCore::Widget::setFocus):
        (WebCore::Widget::setCursor):
        * platform/qt/PlatformScreenQt.cpp:
        (WebCore::screenDepth):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenu::show):
        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::setCursor):
        * platform/win/PlatformScreenWin.cpp:
        (WebCore::monitorInfoForWidget):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::calculatePositionAndSize):
        (WebCore::PopupMenu::wndProc):
        * platform/wx/RenderThemeWx.cpp:
        (WebCore::nativeWindowForRenderObject):
        * platform/wx/ScrollbarThemeWx.cpp:
        (WebCore::ScrollbarThemeWx::paint):
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::getValue):
        (WebCore::PluginView::forceRedraw):
        (WebCore::PluginView::platformStart):
        * plugins/mac/PluginViewMac.cpp:
        (WebCore::PluginView::platformStart):
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::getValue):
        (WebCore::PluginView::platformStart):
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::getValue):
        (WebCore::PluginView::forceRedraw):
        (WebCore::PluginView::platformStart):

2009-09-18  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Web inspector UI adjustments specific to the Qt platform:
        - Hide the close button
        - Hide the dock button
        - Disable the draggable toolbar

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

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

2009-09-18  Joerg Bornemann  <joerg.bornemann@nokia.com>

        Reviewed by Simon Hausmann.

        QtWebKit Windows CE compile fixes

        Exclude certain pure-WINCE specific code paths from the Qt build.

        * platform/graphics/BitmapImage.h:
        * platform/graphics/FontCache.h:
        * platform/graphics/MediaPlayer.cpp:
        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::buildBaseTextCodecMaps):
        (WebCore::extendTextCodecMaps):
        * plugins/PluginView.cpp:
        (WebCore::PluginView::stop): Guard this code block with NETSCAPE_PLUGIN_API as
        the corresponding PluginViewWndProc has the same guard in the header file.

2009-09-18  Steve Block  <steveblock@google.com>

        Reviewed by Dimitri Glazkov.

        Geolocation does not correctly handle Infinity for PositionOptions properties.
        https://bugs.webkit.org/show_bug.cgi?id=29099

        * bindings/js/JSGeolocationCustom.cpp: Modified.
        (WebCore::createPositionOptions): Modified. If timeout or maximumAge is positive infinity, applies these values as a special case.
        * page/PositionOptions.h: Modified.
        (WebCore::PositionOptions::hasMaximumAge): Added. Determines whether the object has a maximum age.
        (WebCore::PositionOptions::maximumAge): Modified. Asserts that the object has a maximum age.
        (WebCore::PositionOptions::clearMaximumAge): Added. Clears the maximum age.
        (WebCore::PositionOptions::setMaximumAge): Modified. Registers that the maximum age has been set.
        (WebCore::PositionOptions::PositionOptions): Modified. Registers that the maximum age has been set.

2009-09-17  Sam Weinig  <sam@webkit.org>

        Reviewed by Adele Peterson.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=29276
        REGRESSION(r48334): WebKit crashes on file select by drag

        Document.elementFromPoint now takes point in client space, not page space.

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

2009-09-17  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by David Levin.

        Reimplement default media UI for Mac Chromium to match the style
        of the Windows and Linux versions.  Also breaks the dependency
        on the internal wk* functions that were previously used to
        render the media controller widgets.
        https://bugs.webkit.org/show_bug.cgi?id=29161

        No media layout tests are currently enabled in Mac Chromium, so
        nothing needs rebaselineing, etc.

        This is a recommit of r48438 with a compile fix and merges of
        recent changes to the file.

        * css/mediaControlsChromium.css:
        * rendering/RenderThemeChromiumMac.h:
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::mediaElementParent):
        (WebCore::RenderThemeChromiumMac::extraMediaControlsStyleSheet):
        (WebCore::mediaSliderThumbImage):
        (WebCore::mediaVolumeSliderThumbImage):
        (WebCore::RenderThemeChromiumMac::paintSliderTrack):
        (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize):
        (WebCore::RenderThemeChromiumMac::paintMediaButtonInternal):
        (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
        (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
        (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack):
        (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
        (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb):
        (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize):

2009-09-17  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Timothy Hatcher.

        The Console scope bar should have a divider between All and the other possible
        values (Errors, Warnings, Logs). It will look something like:
        
        All | Errors Warnings Logs.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.createDividerElement):
        (WebInspector.ConsoleView):
        * inspector/front-end/inspector.css:

2009-09-17  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Remove additional references to JSVoidCallback which no longer exists.

        * DerivedSources.cpp:
        * WebCore.vcproj/WebCore.vcproj:

2009-09-17  Sam Weinig  <sam@webkit.org>

        Reviewed by Brady Eidson.

        Remove commented out onhashchange attribute now that it is implemented.

        * page/DOMWindow.idl:

2009-09-17  Anders Carlsson  <andersca@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/7007541> 
        CrashTracer: 4800+ crashes in Safari at com.apple.WebKit • WTF::HashTableIterator...
        
        Make RuntimeObjectImp more robust against m_instance being a null (which can happen if an OOP plug-in
        crashes while we're calling into it).
        
        * bridge/runtime_object.cpp:
        (JSC::RuntimeObjectImp::RuntimeObjectImp):
        (JSC::RuntimeObjectImp::~RuntimeObjectImp):
        (JSC::RuntimeObjectImp::invalidate):
        (JSC::RuntimeObjectImp::fallbackObjectGetter):
        (JSC::RuntimeObjectImp::fieldGetter):
        (JSC::RuntimeObjectImp::methodGetter):
        (JSC::RuntimeObjectImp::getOwnPropertySlot):
        (JSC::RuntimeObjectImp::getOwnPropertyDescriptor):
        (JSC::RuntimeObjectImp::put):
        (JSC::RuntimeObjectImp::defaultValue):
        (JSC::RuntimeObjectImp::getCallData):
        (JSC::RuntimeObjectImp::getConstructData):
        (JSC::RuntimeObjectImp::getPropertyNames):
        * bridge/runtime_object.h:
        (JSC::RuntimeObjectImp::getInternalInstance):

2009-09-17  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Timothy Hatcher.

        Wrap primitive values (as objects) in InspectorController::wrap.

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

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::wrapObject): objects of any type will be wrapped into proxies,
         only object proxies will have objectId.
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.completions): there is InjectedScript.getCompletionsi
         that accepts an expression and returns possible completions. This way we don't need to wrap
         and unwrap the completions result into a proxy object.
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.getCompletions):
        (InjectedScript.evaluate):
        (InjectedScript._evaluateOn):
        (InjectedScript.createProxyObject):
        * inspector/front-end/InjectedScriptAccess.js:

2009-09-17  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Wrap PageTransitionEvents properly for V8's use.

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

        Fixes Chromium's failures for LayoutTests/fast/events/pageshow-pagehide.html.

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertEventToV8Object): Wrap PageTransitionEvents properly.

2009-09-17  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        Hardware-accelerated opacity transition on inline asserts
        https://bugs.webkit.org/show_bug.cgi?id=29342
        
        Remove an erroneous toRenderBox() that could be called on a RenderInline; we can just
        pass an empty size, because the box size is only required for transform animations.

        Test: compositing/transitions/opacity-on-inline.html

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

2009-09-17  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        [V8] OwnHandle might get a weak callback after destruction
        https://bugs.webkit.org/show_bug.cgi?id=29172

        Be sure to clear out weak reference so we don't get a weak callback
        after we've destructed ourselves.  Also, removed some tricky methods
        that had no clients.

        * bindings/v8/OwnHandle.h:
        (WebCore::OwnHandle::clear):

2009-09-17  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        [V8] Partial roll out of http://trac.webkit.org/changeset/48455 to
        fix crashes that started happening in V8Proxy::getEnteredContext().

        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):

2009-09-17  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: labels of checkboxes should, when hit-tested, return the checkbox
        https://bugs.webkit.org/show_bug.cgi?id=29335

        When an accessibility hit test is done and it hits the label of a control element,
        the control element should be returned instead of nothing, since the label
        itself is usually ignored.

        Test: accessibility/label-for-control-hittest.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::correspondingControlForLabelElement):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
        (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement):
        * accessibility/AccessibilityRenderObject.h:

2009-09-17  Avi Drissman  <avi@chromium.org>

        Reviewed by Dimitri Glazkov, build fix.

        Change to make RenderThemeChromiumMac compile inside of non PLATFORM(MAC).
        https://bugs.webkit.org/show_bug.cgi?id=29243

        Covered by existing tests.

        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):

2009-09-17  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        [V8] Accessing properties/methods of an object, created with document.implementation.createDocumentType
        creates nodes that have no document (ScriptExecutionContext), which in turn produces NULL-ref crashes.
        https://bugs.webkit.org/show_bug.cgi?id=26402

        Test: fast/dom/DOMImplementation/detached-doctype.html
              fast/dom/doctype-event-listener-crash.html

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getEventListener): Added an extra NULL-check.

2009-09-17  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        FontDescription.h includes RenderStyleConstants.h, which violates layering
        https://bugs.webkit.org/show_bug.cgi?id=29327

        * GNUmakefile.am: Added FontSmoothingMode.h.
        * WebCore.gypi: Added FontSmoothingMode.h.
        * WebCore.vcproj/WebCore.vcproj: Added FontSmoothingMode.h.
        * WebCore.xcodeproj/project.pbxproj: Added FontSmoothingMode.h and made
            it a private header.
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Get the
            font smoothing mode via the font description.
        * css/CSSPrimitiveValueMappings.h: Include FontSmoothingMode.h
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Updated for the rename
            of FontSmoothing to FontSmoothingMode.
        (WebCore::CSSPrimitiveValue::operator FontSmoothingMode): Ditto.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Get the font smoothing mode
            via the font description.
        * platform/graphics/FontDescription.h: Do not include
            RenderStyleConstants.h.
        (WebCore::FontDescription::fontSmoothing): Updated for the rename of
            FontSmoothing to FontSmoothingMode.
        (WebCore::FontDescription::setFontSmoothing): Ditto.
        * platform/graphics/FontSmoothingMode.h: Added.
        (WebCore::FontSmoothingMode): Moved the FontSmoothing enum from
            RenderStyleConstants here and renamed it to this.
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::fontSmoothing): Removed this getter, since
            this can be accessed via the font description.
        * rendering/style/RenderStyleConstants.h: Moved the FontSmoothing enum
            from here to FontSmoothingMode.h.

2009-09-17  Kevin Ollivier  <kevino@theolliviers.com>

        wx 2.9 build fix.

        * platform/wx/wxcode/gtk/scrollbar_render.cpp:
        (wxGetGdkWindowForDC):

2009-09-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Elements appear behind <video> when they should be in front sometimes
        https://bugs.webkit.org/show_bug.cgi?id=29314
        
        r45598 added logic that tests for overlap with <video> to determine when to throw
        a layer into compositing mode. That logic was incorrect in some cases, and this patch
        fixes it. When testing overlap, the layer needs to be composited iff some previous layer
        is composited (which adds a rect to the overlay map), and there is overlap.

        Test: compositing/geometry/video-opacity-overlay.html

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

2009-09-17  Avi Drissman  <avi@google.com>

        Reviewed by Darin Fisher.

        Update the Chromium Mac theming files (RenderTheme and Theme) to be
        up-to-date.
        
        https://bugs.webkit.org/show_bug.cgi?id=29243
        http://crbug.com/19604

        Covered by existing tests.

        * WebCore.gypi:
        * platform/chromium/ThemeChromiumMac.h: Added.
        (WebCore::ThemeChromiumMac::ThemeChromiumMac):
        (WebCore::ThemeChromiumMac::~ThemeChromiumMac):
        (WebCore::ThemeChromiumMac::controlRequiresPreWhiteSpace):
        * platform/chromium/ThemeChromiumMac.mm: Added.
        (WebCore::):
        (WebCore::platformTheme):
        (WebCore::controlSizeForFont):
        (WebCore::sizeFromFont):
        (WebCore::setControlSize):
        (WebCore::updateStates):
        (WebCore::inflateRect):
        (WebCore::checkboxSizes):
        (WebCore::checkboxMargins):
        (WebCore::checkboxSize):
        (WebCore::checkbox):
        (WebCore::paintCheckbox):
        (WebCore::radioSizes):
        (WebCore::radioMargins):
        (WebCore::radioSize):
        (WebCore::radio):
        (WebCore::paintRadio):
        (WebCore::buttonSizes):
        (WebCore::buttonMargins):
        (WebCore::button):
        (WebCore::paintButton):
        (WebCore::ThemeChromiumMac::baselinePositionAdjustment):
        (WebCore::ThemeChromiumMac::controlFont):
        (WebCore::ThemeChromiumMac::controlSize):
        (WebCore::ThemeChromiumMac::minimumControlSize):
        (WebCore::ThemeChromiumMac::controlBorder):
        (WebCore::ThemeChromiumMac::controlPadding):
        (WebCore::ThemeChromiumMac::inflateControlPaintRect):
        (WebCore::ThemeChromiumMac::paint):
        * platform/graphics/FloatPoint.h:
        * platform/graphics/FloatRect.h:
        * platform/graphics/FloatSize.h:
        * platform/graphics/IntRect.h:
        * rendering/RenderThemeChromiumMac.h:
        (WebCore::RenderThemeChromiumMac::supportsControlTints):
        (WebCore::RenderThemeChromiumMac::scrollbarControlSizeForPart):
        (WebCore::RenderThemeChromiumMac::supportsSelectionForegroundColors):
        * rendering/RenderThemeChromiumMac.mm:
        (-[WebCoreRenderThemeNotificationObserver systemColorsDidChange:]):
        (-[RTCMFlippedView isFlipped]):
        (-[RTCMFlippedView currentEditor]):
        (WebCore::):
        (WebCore::FlippedView):
        (WebCore::RenderTheme::themeForPage):
        (WebCore::RenderThemeChromiumMac::platformActiveListBoxSelectionForegroundColor):
        (WebCore::RenderThemeChromiumMac::platformInactiveListBoxSelectionForegroundColor):
        (WebCore::RenderThemeChromiumMac::platformInactiveListBoxSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumMac::systemFont):
        (WebCore::convertNSColorToColor):
        (WebCore::menuBackgroundColor):
        (WebCore::RenderThemeChromiumMac::systemColor):
        (WebCore::RenderThemeChromiumMac::isControlStyled):
        (WebCore::RenderThemeChromiumMac::adjustRepaintRect):
        (WebCore::RenderThemeChromiumMac::inflateRect):
        (WebCore::RenderThemeChromiumMac::convertToPaintingRect):
        (WebCore::RenderThemeChromiumMac::setFontFromControlSize):
        (WebCore::RenderThemeChromiumMac::paintTextField):
        (WebCore::RenderThemeChromiumMac::paintCapsLockIndicator):
        (WebCore::RenderThemeChromiumMac::paintTextArea):
        (WebCore::RenderThemeChromiumMac::paintMenuList):
        (WebCore::TopGradientInterpolate):
        (WebCore::BottomGradientInterpolate):
        (WebCore::MainGradientInterpolate):
        (WebCore::TrackGradientInterpolate):
        (WebCore::RenderThemeChromiumMac::paintMenuListButtonGradients):
        (WebCore::RenderThemeChromiumMac::paintMenuListButton):
        (WebCore::RenderThemeChromiumMac::popupInternalPaddingLeft):
        (WebCore::RenderThemeChromiumMac::popupInternalPaddingRight):
        (WebCore::RenderThemeChromiumMac::popupInternalPaddingTop):
        (WebCore::RenderThemeChromiumMac::popupInternalPaddingBottom):
        (WebCore::RenderThemeChromiumMac::adjustMenuListButtonStyle):
        (WebCore::RenderThemeChromiumMac::adjustSliderTrackStyle):
        (WebCore::RenderThemeChromiumMac::adjustSliderThumbStyle):
        (WebCore::RenderThemeChromiumMac::paintSliderThumb):
        (WebCore::RenderThemeChromiumMac::paintSearchField):
        (WebCore::RenderThemeChromiumMac::setSearchCellState):
        (WebCore::RenderThemeChromiumMac::adjustSearchFieldStyle):
        (WebCore::RenderThemeChromiumMac::paintSearchFieldCancelButton):
        (WebCore::RenderThemeChromiumMac::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeChromiumMac::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeChromiumMac::paintSearchFieldDecoration):
        (WebCore::RenderThemeChromiumMac::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeChromiumMac::adjustSearchFieldResultsButtonStyle):
        (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):
        (WebCore::mediaControllerTheme):
        (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize):
        (WebCore::getMediaUIPartStateFlags):
        (WebCore::getUnzoomedRectAndAdjustCurrentContext):
        (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
        (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
        (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
        (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
        (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
        (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
        (WebCore::RenderThemeChromiumMac::paintMediaRewindButton):
        (WebCore::RenderThemeChromiumMac::paintMediaReturnToRealtimeButton):
        (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground):
        (WebCore::RenderThemeChromiumMac::paintMediaCurrentTime):
        (WebCore::RenderThemeChromiumMac::paintMediaTimeRemaining):
        (WebCore::RenderThemeChromiumMac::extraMediaControlsStyleSheet):

2009-09-16  Daniel Bates  <dbates@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=29306
        
        Fixes an issue where an attack that contains accented characters can
        bypass the XSSAuditor.
        
        XSSAuditor::decodeURL used the wrong length for the input string. 
        When the input string was decoded, the decoded result was truncated.
        Hence, XSSAuditor was comparing the source code of the script to the 
        truncated input parameters.

        Test: http/tests/security/xssAuditor/img-onerror-accented-char.html

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

2009-09-16  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        Explore allowing pages with unload handlers into the Page Cache
        https://bugs.webkit.org/show_bug.cgi?id=29021

        No new tests. (All previous tests continue to pass)

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading): If the document is in the page cache, don't fire the unload event.

2009-09-16  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        [V8] Teach ScheduledAction::execute about isolated worlds
        https://bugs.webkit.org/show_bug.cgi?id=27703

        We now save a handle to the original context.  We use that handle to
        call the timeout in the right context / world.

        Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html
               http/tests/security/isolatedWorld/window-setTimeout-string.html

        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::execute):
        * bindings/v8/ScheduledAction.h:
        (WebCore::ScheduledAction::ScheduledAction):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8Custom::WindowSetTimeoutImpl):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):

2009-09-16  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        [V8] Teach ScheduledAction::execute about isolated worlds
        https://bugs.webkit.org/show_bug.cgi?id=27703

        We now save a handle to the original context.  We use that handle to
        call the timeout in the right context / world.

        Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html
               http/tests/security/isolatedWorld/window-setTimeout-string.html

        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::execute):
        * bindings/v8/ScheduledAction.h:
        (WebCore::ScheduledAction::ScheduledAction):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8Custom::WindowSetTimeoutImpl):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):

2009-09-16  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Add some groups to the xcode project to make the bindings/js/ group
        a little nicer.

        * WebCore.xcodeproj/project.pbxproj:

2009-09-16  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=29320
        JS callback objects should store the global object

        This just changes the callback objects to store the global object instead
        of the frame. A follow up patch will change them to store the 'current' 
        global object instead of the lexical or dynamic.

        * DerivedSources.make: Remove unused VoidCallback.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/js/JSCustomPositionCallback.cpp:
        (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
        (WebCore::JSCustomPositionCallback::handleEvent):
        * bindings/js/JSCustomPositionCallback.h:
        (WebCore::JSCustomPositionCallback::create):
        * bindings/js/JSCustomPositionErrorCallback.cpp:
        (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
        (WebCore::JSCustomPositionErrorCallback::handleEvent):
        * bindings/js/JSCustomPositionErrorCallback.h:
        (WebCore::JSCustomPositionErrorCallback::create):
        * bindings/js/JSCustomSQLStatementCallback.cpp:
        (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
        (WebCore::JSCustomSQLStatementCallback::handleEvent):
        * bindings/js/JSCustomSQLStatementCallback.h:
        (WebCore::JSCustomSQLStatementCallback::create):
        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
        (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
        * bindings/js/JSCustomSQLStatementErrorCallback.h:
        (WebCore::JSCustomSQLStatementErrorCallback::create):
        * bindings/js/JSCustomSQLTransactionCallback.cpp:
        (WebCore::JSCustomSQLTransactionCallback::Data::Data):
        (WebCore::JSCustomSQLTransactionCallback::Data::globalObject):
        (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
        * bindings/js/JSCustomSQLTransactionCallback.h:
        (WebCore::JSCustomSQLTransactionCallback::create):
        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
        (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
        * bindings/js/JSCustomSQLTransactionErrorCallback.h:
        (WebCore::JSCustomSQLTransactionErrorCallback::create):
        * bindings/js/JSCustomVoidCallback.cpp:
        (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
        (WebCore::JSCustomVoidCallback::handleEvent):
        * bindings/js/JSCustomVoidCallback.h:
        (WebCore::JSCustomVoidCallback::create):
        * bindings/js/JSDatabaseCustom.cpp:
        (WebCore::JSDatabase::changeVersion):
        (WebCore::createTransaction):
        (WebCore::JSDatabase::transaction):
        (WebCore::JSDatabase::readTransaction):
        * bindings/js/JSGeolocationCustom.cpp:
        (WebCore::createPositionCallback):
        (WebCore::createPositionErrorCallback):
        (WebCore::JSGeolocation::getCurrentPosition):
        (WebCore::JSGeolocation::watchPosition):
        * bindings/js/JSSQLTransactionCustom.cpp:
        (WebCore::JSSQLTransaction::executeSql):

2009-09-15  Kent Tamura  <tkent@chromium.org>

        Reviewed by Eric Seidel.

        <input maxlength=> should restrict only values specified by users.
        https://bugs.webkit.org/show_bug.cgi?id=21271

        * dom/InputElement.cpp:
        (WebCore::InputElement::setValueFromRenderer):
        (WebCore::InputElement::sanitizeValue):
        (WebCore::InputElement::sanitizeUserInputValue): Rename from constrainValue().
        (WebCore::InputElement::handleBeforeTextInsertedEvent):
        (WebCore::InputElement::updateValueIfNeeded):
        * dom/InputElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setInputType):
        (WebCore::HTMLInputElement::value):
        (WebCore::HTMLInputElement::setValue):
        (WebCore::HTMLInputElement::sanitizeValue):
        * html/HTMLInputElement.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
        * wml/WMLInputElement.cpp:
        (WebCore::WMLInputElement::constrainValue):
        * wml/WMLInputElement.h:
        (WebCore::WMLInputElement::sanitizeValue):

2009-09-16  Enrica Casucci  <enrica@apple.com>

        Reviewed by Eric Seidel.

        Reorganizing helper functions in htmlediting.h to group them by type of object they return/operate upon.
        https://bugs.webkit.org/show_bug.cgi?id=29319

        * editing/IndentOutdentCommand.cpp:
        Removed implementation of isAtUnsplittableElement.

        * editing/IndentOutdentCommand.h:
        Removed member function isAtUnsplittableElement, because it was not class specific and belonged logically among the helper functions.

        * editing/htmlediting.cpp:
        (WebCore::isAtUnsplittableElement): added. The code was taken from IndentOutdentCommand.

        * editing/htmlediting.h:
        Reordered functions to group them by type of object returned or operate upon.
        Added comments.
        Added isAtUnsplittableElement declaration.

2009-09-16  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig and Anders Carlsson.

        Removed some vestigial and potentially crashy code that makes consolidating
        event listeners hard.

        * dom/Node.cpp:
        (WebCore::Node::addEventListener): No need to limit when event listeners
        can be added. Other EventTargets don't do this.
        
        Also, check for null when accessing document(). Technically, the JS bindings
        do this check for us, but let's not rely on that.

2009-09-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam Roben.

        <rdar://problem/7155710>
        HTML selects on windows cause containing window to become inactive when opened
        
        Redo the way we handle events when a popup menu is shown, based on
        http://blogs.msdn.com/oldnewthing/archive/2004/08/20/217684.aspx
        
        Since a non-active window can't capture the mouse, we use the owning window 
        (the WebView) as the capture window. We then run a recursive message pump that 
        forwards all mouse and keyboard events to the popup menu.
        
        * platform/PopupMenu.h:
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::wndProc):

2009-09-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Ada Chan.

        Speculative fix for
        <rdar://problem/6937089> Crashes at RenderWidget::destroy()

        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::destroy): Avoid calling renderArena() if node()
        is null. Add two assertions that can help determine how this crash
        happens (in particular, whether node() becomes null during destroy() or
        it is null before destroy() is called).

2009-09-16  Beth Dakin  <bdakin@apple.com>

        Speculative build fix.

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

2009-09-16  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Fix for <rdar://problem/7083741> Implement a CSS extension to 
        adjust sub-pixel anti-aliasing for text
        -and corresponding-
        https://bugs.webkit.org/show_bug.cgi?id=29291

        Added tests:
        * fast/css/font-smoothing.html: Added.
        * fast/css/parsing-webkit-font-smoothing.html: Added.

        This patch adds a new CSS property called -webkit-font-smoothing 
        that accepts the following as valid input: auto | none | 
        antialiased | subpixel-antialiased

        Return appropriate computed style for -webkit-font-smoothing
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

        Add a case for CSSPropertyWebkitFontSmoothing, and accept valid 
        input.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):

        Add mappings for FontSmoothing to the right CSS values.
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator FontSmoothing):

        Add -webkit-font-smoothing
        * css/CSSPropertyNames.in:

        Set fontSmoothing on the FontDescription.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

        Add antialiased and subpixel-antialiased as possible new CSS 
        values.
        * css/CSSValueKeywords.in:
        Store the font smoothing CSS value in the FontDescription.
        * platform/graphics/FontDescription.h:
        (WebCore::FontDescription::FontDescription):
        (WebCore::FontDescription::fontSmoothing):
        (WebCore::FontDescription::setFontSmoothing):
        (WebCore::FontDescription::operator==):

        Call setShouldAntialias() and setShouldUseSmoothing() appropriately 
        based on the CSS fontSmoothing() value.
        * platform/graphics/mac/FontMac.mm:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::Font::drawGlyphs):

        New function fontSmoothing()
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::fontSmoothing):

        New enum FontSmoothing.
        * rendering/style/RenderStyleConstants.h:
        (WebCore::):

2009-09-16  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Timothy Hatcher.

        Remove style property if empty string is entered.

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

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype._onmouseout): fixed null pointer exception
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.applyStyleText): if styletext to apply is empty it will return an array to confirm the property removal
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.):
        (WebInspector.StylePropertyTreeElement.prototype):

2009-09-16  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Timothy Hatcher.

        Always reset m_implicitShorthand to false after parsing
        background-repeat style property otherwise properties
        following after it may be erroneously marked as implicit.

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

        Test: fast/backgrounds/repeat/margin-shorthand.html

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

2009-09-16  Carol Szabo  <carol.szabo@nokia.com>

        Reviewed by Alexey Proskuryakov.

        Incorrect behavior of XMLHttpRequest::getAllResponseHeaders and
        XMLHttpRequest::getResponseHeader in the
        HEADERS_RECEIVED readyState.
        https://bugs.webkit.org/show_bug.cgi?id=29121

        Tests: http/tests/xmlhttprequest/getAllResponseHeaders.html
               http/tests/xmlhttprequest/getResponseHeader.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::getAllResponseHeaders):
        (WebCore::XMLHttpRequest::getResponseHeader):
        Changed the minimum valid state from LOADING to HEADERS_RECEIVED.

2009-09-16  Vitaly Repeshko  <vitalyr@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] Fix style violation in V8AbstractEventListener.
        https://bugs.webkit.org/show_bug.cgi?id=29303

        * bindings/v8/V8AbstractEventListener.h:
        (WebCore::V8AbstractEventListener::operator==):

2009-09-16  Patrick Mueller  <Patrick_Mueller@us.ibm.com>

        Reviewed by Timothy Hatcher.

        Add Watch Expression support to inspector
        https://bugs.webkit.org/show_bug.cgi?id=27514

        Manual test added.

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.completions):
        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
        (WebInspector.ConsoleView.prototype._enterKeyPressed):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection.prototype.update.callback):
        (WebInspector.ObjectPropertiesSection.prototype.update):
        (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
        (WebInspector.ObjectPropertiesSection.CompareProperties):
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
        (WebInspector.ObjectPropertyTreeElement.prototype.update):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype.reset):
        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
        * inspector/front-end/WatchExpressionsSidebarPane.js: Added.
        (WebInspector.WatchExpressionsSidebarPane):
        (WebInspector.WatchExpressionsSidebarPane.prototype.refreshExpressions):
        (WebInspector.WatchExpressionsSection):
        (WebInspector.WatchExpressionsSection.prototype.update):
        (WebInspector.WatchExpressionsSection.prototype.addExpression):
        (WebInspector.WatchExpressionsSection.prototype.updateExpression):
        (WebInspector.WatchExpressionsSection.prototype.findAddedTreeElement):
        (WebInspector.WatchExpressionsSection.prototype.loadSavedExpressions):
        (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
        (WebInspector.WatchExpressionsSection.CompareProperties):
        (WebInspector.WatchExpressionTreeElement):
        (WebInspector.WatchExpressionTreeElement.prototype.update):
        (WebInspector.WatchExpressionTreeElement.prototype._deleteButtonClicked):
        (WebInspector.WatchExpressionTreeElement.prototype.startEditing):
        (WebInspector.WatchExpressionTreeElement.prototype.editingCancelled):
        (WebInspector.WatchExpressionTreeElement.prototype.applyExpression):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        * inspector/front-end/inspector.html:
        * manual-tests/inspector/debugger-watch-expressions.html: Added.

2009-09-16  Greg Bolsinga  <bolsinga@apple.com>

        Add ENABLE(INSPECTOR)
        https://bugs.webkit.org/show_bug.cgi?id=29260

        Reviewed by David Kilzer.

        No new tests. (No change in default behavior.)

        * DerivedSources.make: Use new WebCore.Inspector.exp file if ENABLE_DRAG_SUPPORT.
        * WebCore.base.exp: Move Inspector only exports to WebCore.Inspector.exp.
        * WebCore.xcodeproj/project.pbxproj: Add WebCore.Inspector.exp.
        * bindings/js/JSDOMWindowBase.cpp: Use ENABLE(INSPECTOR) where applicable.
        (WebCore::JSDOMWindowBase::supportsProfiling):
        * bindings/js/JSInspectedObjectWrapper.cpp: Wrap entire file in ENABLE(INSPECTOR).
        * bindings/js/JSInspectorBackendCustom.cpp: Ditto.
        * bindings/js/JSInspectorCallbackWrapper.cpp: Ditto.
        * bindings/js/ScriptObject.cpp: Use ENABLE(INSPECTOR) where applicable.
        * bindings/js/ScriptObject.h: Ditto.
        * bindings/js/ScriptObjectQuarantine.cpp: Wrap entire file in ENABLE(INSPECTOR).
        * dom/Document.cpp: Use ENABLE(INSPECTOR) where applicable.
        (WebCore::Document::recalcStyle):
        (WebCore::Document::addMessage):
        (WebCore::Document::resourceRetrievedByXMLHttpRequest):
        (WebCore::Document::scriptImported):
        * dom/Document.h: Ditto.
        * dom/Node.cpp: Ditto.
        (WebCore::Node::dispatchGenericEvent):
        * dom/ScriptExecutionContext.h: Ditto.
        (WebCore::):
        * html/HTMLDocument.cpp: Ditto.
        (WebCore::HTMLDocument::createTokenizer):
        * html/HTMLTokenizer.cpp: Ditto.
        (WebCore::HTMLTokenizer::write):
        * inspector/ConsoleMessage.cpp: Ditto.
        (WebCore::ConsoleMessage::ConsoleMessage):
        (WebCore::ConsoleMessage::isEqual):
        * inspector/ConsoleMessage.h: Ditto.
        * inspector/DOMDispatchTimelineItem.cpp: Wrap entire file in ENABLE(INSPECTOR).
        * inspector/InspectorBackend.cpp: Ditto.
        * inspector/InspectorController.cpp: Ditto.
        * inspector/InspectorDOMAgent.cpp: Ditto.
        * inspector/InspectorDOMStorageResource.cpp: Ditto.
        * inspector/InspectorDatabaseResource.cpp: Ditto.
        * inspector/InspectorFrontend.cpp: Ditto.
        * inspector/InspectorResource.cpp: Ditto.
        * inspector/InspectorTimelineAgent.cpp: Ditto.
        * inspector/TimelineItem.cpp: Ditto.
        * loader/FrameLoader.cpp: Use ENABLE(INSPECTOR) where applicable.
        (WebCore::FrameLoader::detachFromParent):
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
        (WebCore::FrameLoader::dispatchWindowObjectAvailable):
        (WebCore::FrameLoader::dispatchDidCommitLoad):
        (WebCore::FrameLoader::dispatchAssignIdentifierToInitialRequest):
        (WebCore::FrameLoader::dispatchWillSendRequest):
        (WebCore::FrameLoader::dispatchDidReceiveResponse):
        (WebCore::FrameLoader::dispatchDidReceiveContentLength):
        (WebCore::FrameLoader::dispatchDidFinishLoading):
        * page/Chrome.cpp: Ditto.
        (WebCore::Chrome::mouseDidMoveOverElement):
        * page/Console.cpp: Ditto.
        (WebCore::Console::addMessage):
        (WebCore::Console::count):
        (WebCore::Console::profile):
        (WebCore::Console::profileEnd):
        (WebCore::Console::time):
        (WebCore::Console::timeEnd):
        (WebCore::Console::group):
        (WebCore::Console::groupEnd):
        * page/ContextMenuController.cpp: Ditto.
        (WebCore::ContextMenuController::handleContextMenuEvent):
        (WebCore::ContextMenuController::contextMenuItemSelected):
        * page/DOMWindow.cpp: Ditto.
        (WebCore::DOMWindow::sessionStorage):
        (WebCore::DOMWindow::localStorage):
        * page/EventHandler.cpp: Ditto.
        (WebCore::EventHandler::handleMousePressEvent):
        * page/FrameView.cpp: Ditto.
        (WebCore::FrameView::layout):
        (WebCore::FrameView::paintContents):
        * page/FrameView.h: Ditto.
        * page/Page.cpp: Ditto.
        (WebCore::Page::Page):
        (WebCore::Page::~Page):
        * page/Page.h: Ditto.
        * platform/ContextMenu.cpp: Ditto.
        (WebCore::ContextMenu::checkOrEnableIfNeeded):
        * platform/ContextMenuItem.h: Ditto.
        (WebCore::):
        * storage/Database.cpp: Ditto.
        (WebCore::Database::openDatabase):
        * workers/WorkerContext.cpp: Ditto.
        (WebCore::WorkerContext::importScripts):
        * xml/XMLHttpRequest.cpp: Ditto.
        (WebCore::XMLHttpRequest::didFinishLoading):

2009-09-16  Greg Bolsinga  <bolsinga@apple.com>

        Add ENABLE(CONTEXT_MENUS)
        https://bugs.webkit.org/show_bug.cgi?id=29225

        Reviewed by David Kilzer.

        No new tests. (No change in default behavior.)

        * DerivedSources.make: Use new WebCore.ContextMenus.exp file if ENABLE_CONTEXT_MENUS.
        * WebCore.base.exp: Move ContextMenu only exports to WebCore.ContextMenus.exp.
        * WebCore.xcodeproj/project.pbxproj: Add WebCore.ContextMenus.exp.
        * dom/Node.cpp: Use ENABLE(CONTEXT_MENUS) where applicable.
        (WebCore::Node::defaultEventHandler):
        * loader/EmptyClients.h: Ditto.
        * page/ContextMenuController.cpp: Wrap entire file in ENABLE(CONTEXT_MENUS).
        * page/EventHandler.cpp: Use ENABLE(CONTEXT_MENUS) where applicable.
        * page/EventHandler.h: Ditto.
        * page/Page.cpp: Ditto.
        (WebCore::Page::Page):
        * page/Page.h: Ditto.
        * page/mac/EventHandlerMac.mm: Ditto.
        * page/mac/WebCoreViewFactory.h: Ditto.
        * platform/ContextMenu.cpp: Wrap entire file in ENABLE(CONTEXT_MENUS).
        * platform/LocalizedStrings.h: Use ENABLE(CONTEXT_MENUS) where applicable.
        * platform/mac/ContextMenuItemMac.mm: Wrap entire file in ENABLE(CONTEXT_MENUS).
        * platform/mac/ContextMenuMac.mm: Ditto.
        * platform/mac/LocalizedStringsMac.mm: Use ENABLE(CONTEXT_MENUS) where applicable.
        * svg/graphics/SVGImage.cpp: Ditto.
        (WebCore::SVGImage::dataChanged):

2009-09-16  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        Clean up invalidation for repainting.  Hoist the dirty rect intersection test in ScrollViewMac up
        into ScrollView so that all platforms do it.
        
        Patch deferred repaints in FrameView::repaintContentRectangle to only add the visible portion of
        the rectangle for repainting.

        * page/FrameView.cpp:
        (WebCore::FrameView::repaintContentRectangle):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::repaintContentRectangle):
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::platformRepaintContentRectangle):

2009-09-16  Greg Bolsinga  <bolsinga@apple.com>

        Add ENABLE(DRAG_SUPPORT)
        https://bugs.webkit.org/show_bug.cgi?id=29233

        Reviewed by David Kilzer.

        No new tests. (No change in default behavior.)

        * DerivedSources.make: Use new WebCore.DragSupport.exp file if ENABLE_DRAG_SUPPORT.
        * WebCore.base.exp: Move Drag Support only exports to WebCore.DragSupport.exp.
        * WebCore.xcodeproj/project.pbxproj: Add WebCore.DragSupport.exp.
        * dom/Clipboard.h: Use ENABLE(DRAG_SUPPORT) where applicable.
        * loader/EmptyClients.h: Ditto.
        * page/DragController.cpp: Wrap entire file in ENABLE(DRAG_SUPPORT).
        * page/EventHandler.cpp: Use ENABLE(DRAG_SUPPORT) where applicable.
        (WebCore::EventHandler::EventHandler):
        (WebCore::EventHandler::clear):
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::handleMouseReleaseEvent):
        (WebCore::EventHandler::handleMouseMoveEvent):
        * page/EventHandler.h: Ditto.
        * page/Page.cpp: Ditto.
        (WebCore::Page::Page):
        * page/Page.h: Ditto.
        * page/mac/DragControllerMac.mm: Wrap entire file in ENABLE(DRAG_SUPPORT).
        * page/mac/EventHandlerMac.mm: Use ENABLE(DRAG_SUPPORT) where applicable.
        (WebCore::EventHandler::passSubframeEventToSubframe):
        * platform/DragData.cpp: Wrap entire file in ENABLE(DRAG_SUPPORT).
        * platform/DragImage.cpp: Wrap entire file in ENABLE(DRAG_SUPPORT).
        * platform/mac/ClipboardMac.h: Use ENABLE(DRAG_SUPPORT) where applicable.
        * platform/mac/ClipboardMac.mm: Ditto.
        * platform/mac/DragDataMac.mm: Wrap entire file in ENABLE(DRAG_SUPPORT).
        * platform/mac/DragImageMac.mm: Wrap entire file in ENABLE(DRAG_SUPPORT).
        * rendering/RenderLayer.cpp: Use ENABLE(DRAG_SUPPORT) where applicable.
        (WebCore::RenderLayer::autoscroll):
        * rendering/RenderObject.cpp: Ditto.
        * rendering/RenderObject.h: Ditto.
        * svg/graphics/SVGImage.cpp: Ditto.
        (WebCore::SVGImage::dataChanged):

2009-09-16  Kevin Ollivier  <kevino@theolliviers.com>

        wxMSW build fix after adding support for high resolution times in Win.

        * page/Settings.cpp:
        * page/Settings.h:

2009-09-16  Vitaly Repeshko  <vitalyr@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] Added operator==() to event listeners. This fixes V8 bindings
        build broken in http://trac.webkit.org/changeset/48402.
        https://bugs.webkit.org/show_bug.cgi?id=29298

        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::V8AbstractEventListener): Now
        uses JSEventListenerType.
        * bindings/v8/V8AbstractEventListener.h:
        (WebCore::V8AbstractEventListener::operator==): Only compares
        pointers since we create at most one wrapper for a JS object.

2009-09-16  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Crash when visiting http://flipper.googlelabs.com/
        https://bugs.webkit.org/show_bug.cgi?id=29293

        Check type for being null or empty before looking it up in the
        hash of supported types.

        Tested by http/tests/loading/redirect-with-no-location-crash.html

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

2009-09-15  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.
        
        Removed the notion of "disconnected nodes with event listeners" because
        it was vestigial. The reference cycle it tried to solve was solved another
        way in https://bugs.webkit.org/show_bug.cgi?id=21260.

        * dom/Document.cpp:
        (WebCore::Document::removeAllEventListeners):
        * dom/Document.h:
        * dom/Node.cpp:
        (WebCore::Node::~Node):
        (WebCore::Node::insertedIntoDocument):
        (WebCore::Node::removedFromDocument):
        (WebCore::Node::willMoveToNewOwnerDocument):
        (WebCore::Node::didMoveToNewOwnerDocument):
        (WebCore::Node::addEventListener):
        (WebCore::Node::removeEventListener):
        (WebCore::Node::clearAttributeEventListener):

2009-09-15  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        WAI-ARIA: add support for ranges, including the progressbar, slider, and spinbutton roles
        https://bugs.webkit.org/show_bug.cgi?id=28841

        Allow certain ARIA roles to change value with AXIncrement and AXDecrement. 
        Consolidate increment/decrement/changeValue methods. 

        Test: accessibility/aria-slider-value-change.html

        * accessibility/AccessibilityObject.cpp:
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::increment):
        (WebCore::AccessibilityRenderObject::decrement):
        (WebCore::AccessibilityRenderObject::changeValueByPercent):
        (WebCore::AccessibilityRenderObject::setValue):
        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/AccessibilitySlider.cpp:
        * accessibility/AccessibilitySlider.h:
        * dom/Element.cpp:
        (WebCore::Element::updateAfterAttributeChanged):

2009-09-15  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Removed the jsEventListeners set from JSDOMGlobalObject, to simplify
        creation and destruction of JSDOMGlobalObject and event listeners.
        
        Added an abstract operator==() to EventListener, to replace the
        jsEventListeners set's role in determining if two event listeners are
        equal from the DOM's perspective.
        
        Added a type field to EventListener, and casting operations, to support
        operator==() and other abstract operations.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSAbstractWorkerCustom.cpp:
        (WebCore::JSAbstractWorker::addEventListener):
        (WebCore::JSAbstractWorker::removeEventListener):
        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        (WebCore::JSDOMApplicationCache::addEventListener):
        (WebCore::JSDOMApplicationCache::removeEventListener):
        * bindings/js/JSDOMGlobalObject.cpp:
        * bindings/js/JSDOMGlobalObject.h:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::addEventListener):
        (WebCore::JSDOMWindow::removeEventListener):
        * bindings/js/JSDesktopNotificationsCustom.cpp:
        (WebCore::JSNotification::addEventListener):
        (WebCore::):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::JSEventListener):
        (WebCore::JSEventListener::~JSEventListener):
        (WebCore::JSEventListener::markJSFunction):
        (WebCore::JSEventListener::handleEvent):
        (WebCore::JSEventListener::reportError):
        (WebCore::JSEventListener::operator==):
        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::cast):
        * bindings/js/JSEventSourceCustom.cpp:
        (WebCore::JSEventSource::addEventListener):
        (WebCore::JSEventSource::removeEventListener):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::addEventListener):
        (WebCore::JSMessagePort::removeEventListener):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::addEventListener):
        (WebCore::JSNode::removeEventListener):
        * bindings/js/JSSVGElementInstanceCustom.cpp:
        (WebCore::JSSVGElementInstance::addEventListener):
        (WebCore::JSSVGElementInstance::removeEventListener):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::addEventListener):
        (WebCore::JSWorkerContext::removeEventListener):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::addEventListener):
        (WebCore::JSXMLHttpRequest::removeEventListener):
        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
        (WebCore::JSXMLHttpRequestUpload::addEventListener):
        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
        * bindings/objc/ObjCEventListener.h:
        (WebCore::ObjCEventListener::cast):
        * bindings/objc/ObjCEventListener.mm:
        (WebCore::ObjCEventListener::ObjCEventListener):
        (WebCore::ObjCEventListener::operator==):
        * dom/EventListener.h:
        (WebCore::EventListener::):
        (WebCore::EventListener::type):
        (WebCore::EventListener::EventListener):
        * dom/MessagePort.cpp:
        (WebCore::MessagePort::addEventListener):
        (WebCore::MessagePort::removeEventListener):
        * dom/Node.cpp:
        (WebCore::Node::removeEventListener):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::mainFrameDocument):
        (WebCore::InspectorDOMAgent::operator==):
        * inspector/InspectorDOMAgent.h:
        (WebCore::InspectorDOMAgent::cast):
        * loader/ImageDocument.cpp:
        (WebCore::ImageEventListener::cast):
        (WebCore::ImageEventListener::ImageEventListener):
        (WebCore::ImageEventListener::operator==):
        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::addEventListener):
        (WebCore::DOMApplicationCache::removeEventListener):
        * notifications/Notification.cpp:
        (WebCore::Notification::removeEventListener):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::removeEventListener):
        * page/EventSource.cpp:
        (WebCore::EventSource::addEventListener):
        (WebCore::EventSource::removeEventListener):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::ConditionEventListener::cast):
        (WebCore::ConditionEventListener::ConditionEventListener):
        (WebCore::ConditionEventListener::operator==):
        (WebCore::ConditionEventListener::handleEvent):
        * workers/AbstractWorker.cpp:
        (WebCore::AbstractWorker::addEventListener):
        (WebCore::AbstractWorker::removeEventListener):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::addEventListener):
        (WebCore::WorkerContext::removeEventListener):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::addEventListener):
        (WebCore::XMLHttpRequest::removeEventListener):
        * xml/XMLHttpRequestUpload.cpp:
        (WebCore::XMLHttpRequestUpload::addEventListener):
        (WebCore::XMLHttpRequestUpload::removeEventListener):

2009-09-15  Alex Milowski  <alex@milowski.com>

        Reviewed by Tor Arne Vestbø.

        Added ENABLE_MATHML to feature defines

        * Configurations/FeatureDefines.xcconfig:

2009-09-14  Andrew Richards  <randrew@gmail.com>

        Reviewed by Sam Weinig.

        Document.elementFromPoint() and Document.caretRangeFromPoint() erroneously returning null at points visible only after scrolling.
        https://bugs.webkit.org/show_bug.cgi?id=29245

        Use visibleContentRect() instead of boundsRect() when checking hit point bounds on viewport.

        * dom/Document.cpp:
        (WebCore::Document::elementFromPoint):
        (WebCore::Document::caretRangeFromPoint):

2009-09-15  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Eric Seidel

        http://bugs.webkit.org/show_bug.cgi?id=26660

        Chromium Windows: When rotated, the baseline for a span of complex
        script is completely misaligned with that of the adjacent 
        simple script text. It's fixed by not applying the baseline offset for
        the Skia code path.

        Test: transforms/2d/hindi-rotated.html

        * platform/graphics/chromium/UniscribeHelper.cpp:
        (WebCore::UniscribeHelper::draw):

2009-09-15  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam Roben.

        Pass the PopupMenu pointer to CreateWindowEx and then get it from the LPCREATESTRUCT in
        the WM_CREATE handler. This way we don't have to first create an zero size window and then size it.
        
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::PopupMenuWndProc):

2009-09-15  Drew Wilson  <atwilson@google.com>

        Reviewed by Darin Adler.

        MessageEvent should not be cancelable by default
        https://bugs.webkit.org/show_bug.cgi?id=27846

        * dom/MessageEvent.cpp:
        (WebCore::MessageEvent::MessageEvent):
        Changed constructor to set cancelable=false by default, per the HTML5 spec.

2009-09-15  Charles Wei  <charles.wei@torchmobile.com.cn>

        Reviewed by George Staikos.

        Fix SVG path parsing error if a command starts with dot '.'
        https://bugs.webkit.org/show_bug.cgi?id=29123

        * svg/SVGParserUtilities.cpp:
        (WebCore::SVGPathParser::parseSVG):

2009-09-15  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Timothy Hatcher.

        Implement conditional breakpoints in the Web Inspector frontend.
        https://bugs.webkit.org/show_bug.cgi?id=28908

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/Breakpoint.js:
        (WebInspector.Breakpoint.prototype.set condition):
        * inspector/front-end/Popup.js: Added.
        (WebInspector.Popup):
        (WebInspector.Popup.prototype.show):
        (WebInspector.Popup.prototype.hide):
        (WebInspector.Popup.prototype.get visible):
        (WebInspector.Popup.prototype.set element):
        (WebInspector.Popup.prototype.get element):
        (WebInspector.Popup.prototype.positionElement):
        (WebInspector.Popup.prototype.set anchor):
        (WebInspector.Popup.prototype.get anchor):
        (WebInspector.Popup.prototype.set autoHide):
        (WebInspector.Popup.prototype._checkNotVisible):
        (WebInspector.Popup.prototype._keyEventHandler):
        (WebInspector.Popup.prototype._mouseDownEventHandler):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.revealLine):
        (WebInspector.SourceFrame.prototype._loaded):
        (WebInspector.SourceFrame.prototype._documentContextMenu):
        (WebInspector.SourceFrame.prototype._documentMouseDown):
        (WebInspector.SourceFrame.prototype._editBreakpointCondition.committed):
        (WebInspector.SourceFrame.prototype._editBreakpointCondition.dismissed):
        (WebInspector.SourceFrame.prototype._editBreakpointCondition):
        (WebInspector.SourceFrame.prototype._showBreakpointConditionPopup):
        (WebInspector.SourceFrame.prototype._createPopupElement):
        (WebInspector.SourceFrame.prototype._addBreakpointToSource):
        (WebInspector.SourceFrame.prototype._removeBreakpointFromSource):
        (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded.drawBreakpoint):
        (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.set currentFocusElement):
        (WebInspector.set currentPanel):
        (WebInspector.loaded):
        (WebInspector.contextMenu):
        (WebInspector.elementDragStart):
        (WebInspector.updateResource):
        (WebInspector.drawLoadingPieChart):
        (WebInspector.linkifyURLAsNode):
        (WebInspector.startEditing.getContent):
        (WebInspector.startEditing.editingCancelled):
        (WebInspector.startEditing.editingCommitted):
        * inspector/front-end/utilities.js:
        (Element.prototype.positionAt):
        (Element.prototype.offsetRelativeToWindow):

2009-09-14  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        Page cache should support pages with unload handlers as an experiment.
        <rdar://problem/7196485> and https://bugs.webkit.org/show_bug.cgi?id=29021

        For the experiment, only allow pages with unload handlers into the Page Cache on
        Mac and Windows.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::canCachePageContainingThisFrame):
        (WebCore::FrameLoader::logCanCacheFrameDecision):

2009-09-14  Simon Fraser  <simon.fraser@apple.com>

        Fix the change in r48376 to do a null-check to fix a crashing test.

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

2009-09-14  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/7047282> Safari crashes at WebCore::RenderMenuList::adjustInnerStyle() + 436
        
        Avoid a crash when a mouse event handler on a <select> changes the select from a popup
        to a list (by setting the 'size' property) inside the event handler.

        Test: fast/forms/select-change-popup-to-listbox-in-event-handler.html

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

2009-09-14  Anders Carlsson  <andersca@apple.com>

        Reviewed by Jon Honeycutt.

        More PopupMenu cleanup.
        
        * platform/PopupMenu.h:
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::show):
        Call registerClass.
        
        (WebCore::PopupMenu::registerClass):
        Make this a private static member function so it can refer to PopupMenuWndProc.
        
        (WebCore::PopupMenu::PopupMenuWndProc):
        Try to get the PopupMenu and call its wndProc member function.
        
        (WebCore::PopupMenu::wndProc):
        Make this a member function.

2009-09-14  Brady Eidson  <beidson@apple.com>

        Not reviewed, maybe should've been:

        Cleaning up more Windows-specific fallout from the fix for:
        <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160

        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::WebCoreSynchronousLoader::load): Don't allow empty CFStrings as the stored credentials,
          as related checks all look at nullity when they really mean to be looking for emptiness. 

2009-09-14  Anders Carlsson  <andersca@apple.com>

        Speculative Qt build fix.
        
        * platform/qt/QWebPopup.cpp:
        (WebCore::QWebPopup::hidePopup):

2009-09-14  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Darin Fisher.

        Fix RenderThemeChromiumWin::determineClassicState so that classic_state
        matches the state values (and you get a single classic_state value
        for a given {part,state} value. This change will be tested by a 
        chromium patch that will land after this.

        This will be tested by code landing downstream on Chromium.org; the
        code does not execute on webkit.org.

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::determineClassicState):
        (WebCore::RenderThemeChromiumWin::getThemeData):

2009-09-14  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=29138
        Simplify popup menu handling.

        * platform/PopupMenuClient.h:
        Rename hidePopup to popupDidHide.
        
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::handleKeyEvent):        
        (WebCore::PopupListBox::abandon):
        (WebCore::PopupListBox::acceptIndex):
        Call popupDidHide instead of hidePopup.
        
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenu::menuUnmapped):
        Ditto.
        
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenu::show):
        Ditto.
        
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::hide):
        Call popupDidHide.
        
        (WebCore::PopupWndProc):
        Call PopupMenu::hide.
        
        * platform/wx/PopupMenuWx.cpp:
        (WebCore::PopupMenu::OnMenuItemSelected):
        Call popupDidHide.
        
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::hidePopup):
        (WebCore::RenderMenuList::popupDidHide):
        * rendering/RenderMenuList.h:
        Set the "popup is visible" flag in popupDidHide.
        
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::hidePopup):
        (WebCore::RenderTextControlSingleLine::popupDidHide):
        * rendering/RenderTextControlSingleLine.h:
        Ditto.

2009-09-14  Anders Carlsson  <andersca@apple.com>

        Reviewed by David Hyatt.

        - Fix <rdar://problem/7182275>.

        Make sure that the newly created scrollbar's style is up to date.
        
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::~PopupMenu):
        Call setParent so that the scrollbar's parts are torn down correctly.
        
        (WebCore::PopupMenu::show):
        Call styleChanged.

2009-09-11  Jon Honeycutt  <jhoneycutt@apple.com>

        <rdar://problem/7197644> WebKit should broadcast an MSAA event when
        jumping to a named anchor

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

        Reviewed by Adam Roben.

        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::):
        Added declaration for handleScrolledToAnchor(). Added a new entry to
        the enum of accessibility notifications.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
        Code moved from AccessibilityRenderObject::internalLinkElement() and
        refactored slightly; walks the tree until it finds a Node (with a
        renderer) whose accessibility is not ignored.

        * accessibility/AccessibilityObject.h:
        Added a declaration for firstAccessibleObjectFromNode().

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::internalLinkElement):
        Code moved to AccessibilityObject::firstAccessibleObjectFromNode().

        * accessibility/chromium/AXObjectCacheChromium.cpp:
        (WebCore::AXObjectCache::handleScrolledToAnchor):
        Stubbed.

        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::AXObjectCache::handleScrolledToAnchor):
        Stubbed.

        * accessibility/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::postPlatformNotification):
        Add a default case that returns early for notifications that Mac
        doesn't handle.
        (WebCore::AXObjectCache::handleScrolledToAnchor):
        Stubbed.

        * accessibility/win/AXObjectCacheWin.cpp:
        (WebCore::AXObjectCache::handleScrolledToAnchor):
        Post an AXScrolledToAnchor notification for the first accessible from
        the anchor Node.
        (WebCore::AXObjectCache::postPlatformNotification):
        If the notification is AXFocusedUIElementChanged, fire an
        EVENT_OBJECT_FOCUS. If the notification is AXScrolledToAnchor, fire
        EVENT_SYSTEM_SCROLLINGSTART, matching Firefox.
        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
        Code moved to postPlatformNotification().

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollToAnchor):
        Call AXObjectCache::handleScrolledToAnchor().

2009-09-14  Anthony Ricaud  <rik@webkit.org>

        Reviewed by Timothy Hatcher.

        Cookies are not inspectable after reloading a page
        https://bugs.webkit.org/show_bug.cgi?id=29222

        Create the cookieTreeElement on initialization instead of when the view is shown.
        Reset the selected element of the sidebar on reset.

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


2009-09-14  Brady Eidson  <beidson@apple.com>

        Windows build fix.

        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
        (WebCore::ResourceHandle::receivedCredential):
        (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
        (WebCore::WebCoreSynchronousLoader::load):

2009-09-14  Brady Eidson  <beidson@apple.com>

        Reviewed by Alexey Proskuryakov.

        Safari 4 cannot be used to update firmware on Linksys routers.
        <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160

        In http://trac.webkit.org/changeset/42483, we disabled CFNetwork's session credential storage and 
        implemented our own in WebCore.

        One feature we lost is that CFNetwork would automatically send previously authenticated credentials
        with new connections when the paths match, as allowed by RFC 2617 for HTTP Basic and Digest Authentication.  

        Even though it's optional for User Agents to do this, (some?) Linksys routers rely on this behavior for
        HTTP Basic Authentication.  So now WebCore's CredentialStorage will track URL paths for Basic credentials.

        We're not making this enhancement for Digest at this time, since we don't know of anything that broke
        due to the change in Digest behavior.

        Test: http/tests/loading/basic-credentials-sent-automatically.html
              http/tests/loading/basic-auth-resend-wrong-credentials.html

        * WebCore.base.exp:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

        * platform/network/Credential.cpp:
        (WebCore::Credential::isEmpty):
        * platform/network/Credential.h:

        Add a slightly more full featured CredentialStore that will track URL paths a credential belongs to:
        * platform/network/CredentialStorage.cpp: Added.
        (WebCore::protectionSpaceToCredentialMap):
        (WebCore::originToDefaultCredentialMap):
        (WebCore::originStringFromURL):
        (WebCore::CredentialStorage::set):
        (WebCore::CredentialStorage::get):
        (WebCore::CredentialStorage::getDefaultAuthenticationCredential):
        * platform/network/CredentialStorage.h: Added.

        Allow ProtectionSpace to be a hash key:
        * platform/network/ProtectionSpace.cpp:
        (WebCore::ProtectionSpace::ProtectionSpace):
        * platform/network/ProtectionSpace.h:
        (WebCore::ProtectionSpace::ProtectionSpace):
        (WebCore::ProtectionSpace::isHashTableDeletedValue):
        * platform/network/ProtectionSpaceHash.h: Added.
        (WebCore::ProtectionSpaceHash::hash):
        (WebCore::ProtectionSpaceHash::equal):

        Allow ResourceHandles to remember the initial credential they used:
        * platform/network/ResourceHandleInternal.h:

        Allow mutable ResourceRequests to update their platform object if HTTP header fields change:
        * platform/network/ResourceRequestBase.cpp:
        (WebCore::ResourceRequestBase::addHTTPHeaderField):

        Remove WebCoreCredentialStorage:
        * platform/network/cf/AuthenticationCF.cpp:
        * platform/network/cf/AuthenticationCF.h:
        * platform/network/mac/AuthenticationMac.h:
        * platform/network/mac/AuthenticationMac.mm:

        Change ResourceHandleCFNet to try to use stored credentials on new connections, if appropriate:
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Only try the ProtectionSpace key'ed
          Credential if it does not match the initially used Credential.
        (WebCore::ResourceHandle::receivedCredential):
        (WebCore::WebCoreSynchronousLoader::didReceiveChallenge): Only try the ProtectionSpace key'ed
          Credential if it does not match the initially used Credential.
        (WebCore::WebCoreSynchronousLoader::load):

        Change ResourceHandleMac to try to use stored credentials on new connections, if appropriate:
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Only try the ProtectionSpace key'ed
          Credential if it does not match the initially used Credential.
        (WebCore::ResourceHandle::receivedCredential):
        (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Only try the 
          ProtectionSpace key'ed Credential if it does not match the initially used Credential.
        (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]):

        Add base64-ability to CString:
        * platform/text/CString.cpp:
        (WebCore::CStringBuffer::base64Encode):
        (WebCore::CString::base64Encode):
        * platform/text/CString.h:
        (WebCore::CStringBuffer::create):
        (WebCore::CStringBuffer::CStringBuffer):

2009-09-12  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dan Bernstein.

        Fix <rdar://problem/6954546> Crashes in WebCore::RenderPart::setWidget below FrameLoader::loadPlugin.

        The calls to FrameLoader::requestObject within RenderPartObject::updateWidget can result in a plug-in
        being initialized.  This can run cause arbitrary JavaScript to run and may result in the RenderPartObject
        being detached from the render tree and destroyed, causing a crash like <rdar://problem/6954546>.

        No test is possible until <rdar://problem/7090444> is fixed.

        * rendering/RenderPartObject.cpp:
        (WebCore::RenderPartObject::updateWidget): Ensure that we stay alive for the duration of plug-in initialization.

2009-09-12  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dan Bernstein.

        Add RenderWidgetProtector to simplify protecting a RenderWidget from destruction for the
        duration of a function.  Deploy it within RenderWidget.

        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::setWidgetGeometry):
        (WebCore::RenderWidget::updateWidgetPosition): Use a RefPtr rather than explicitly
        ref'ing and deref'ing the node.
        * rendering/RenderWidget.h:
        * rendering/RenderWidgetProtector.h:
        (WebCore::RenderWidgetProtector::RenderWidgetProtector):
        (WebCore::RenderWidgetProtector::~RenderWidgetProtector):

2009-09-14  Cameron McCormack  <cam@mcc.id.au>

        Reviewed by Eric Seidel.

        CodeGenerator.pm needs some cleaning up
        https://bugs.webkit.org/show_bug.cgi?id=29238

        * bindings/scripts/CodeGenerator.pm:
        (FindParentsRecursively): Removed; its functionality is now handled in
        AddMethodsConstantsAndAttributesFromParentClasses.
        (ForAllParents): New function that visits an interface's ancestors and
        invokes a callback for each one.
        (AddMethodsConstantsAndAttributesFromParentClasses): Simplified by using
        ForAllParents.
        (GetMethodsAndAttributesFromParentClasses): Ditto.
        (IDLFileForInterface): Factored out previous calls to ScanDirectory into
        this new function, which returns the filename containing a given IDL
        interface definition.
        (ParseInterface): Simplified by using IDLFileForInterface.
        (ScanDirectory): Removed in lieu of IDLFileForInterface.
        * bindings/scripts/CodeGeneratorV8.pm: Drop call to
        FindParentsRecursively and get the list of parents from the
        AddMethodsConstantsAndAttributesFromParentClasses call instead.

2009-09-14  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Assert hit when dropping a file in QtLauncher
        https://bugs.webkit.org/show_bug.cgi?id=29242

        Qt's implementation of DropData::asURL does not return a URL encoded string
        as expected.

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

2009-09-13  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fix, file was missed during TLS.cpp removal.

        * page/wx/FrameWx.cpp: Added.
        (WebCore::Frame::dragImageForSelection):

2009-09-13  Anthony Ricaud  <rik@webkit.org>

        Reviewed by Oliver Hunt.

        Web Inspector: Add "New Style Rule" to the localizedStrings
        https://bugs.webkit.org/show_bug.cgi?id=29237

        * English.lproj/localizedStrings.js:

2009-09-13  Kevin Watters  <kevinwatters@gmail.com>

        Reviewed by Kevin Ollivier.

        [wx] Implement filesystem functions.

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

        * platform/wx/FileSystemWx.cpp:
        (WebCore::fileExists):
        (WebCore::deleteFile):
        (WebCore::deleteEmptyDirectory):
        (WebCore::getFileSize):
        (WebCore::getFileModificationTime):
        (WebCore::makeAllDirectories):
        (WebCore::pathByAppendingComponent):
        (WebCore::homeDirectoryPath):
        (WebCore::directoryName):

2009-09-12  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fixes for wx 2.9.

        * platform/wx/ScrollbarThemeWx.cpp:
        * platform/wx/wxcode/gtk/scrollbar_render.cpp:
        (wxGetGdkWindowForDC):

2009-09-12  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        [ES5] Implement Object.keys
        https://bugs.webkit.org/show_bug.cgi?id=29170

        Switch from getPropertyNames to getOwnPropertyNames, and provide custom
        getPropertyNames to DOMWindow, DOMWindowShell and QuarantinedObjectWrapper
        in order to ensure correct semantics are maintained.

        Test: fast/js/Object-keys.html

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::getOwnPropertyNames):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::getOwnPropertyNames):
        * bindings/js/JSDOMWindowShell.h:
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::getOwnPropertyNames):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::getOwnPropertyNames):
        * bindings/js/JSQuarantinedObjectWrapper.cpp:
        (WebCore::JSQuarantinedObjectWrapper::getPropertyNames):
        (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyNames):
        * bindings/js/JSQuarantinedObjectWrapper.h:
        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::getOwnPropertyNames):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/runtime_object.cpp:
        (JSC::RuntimeObjectImp::getPropertyNames):
        (JSC::RuntimeObjectImp::getOwnPropertyNames):
        * bridge/runtime_object.h:

2009-09-12  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=29219
        Document.elementFromPoint() should take page scroll into consideration

        Test: fast/dom/elementFromPoint-relative-to-viewport.html

        * dom/Document.cpp:
        (WebCore::Document::elementFromPoint):
        (WebCore::Document::caretRangeFromPoint):

2009-09-12  Sam Weinig  <sam@webkit.org>

        Reviewed by Maciej Stachowiak.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=29217
        Document.caretRangeFromPoint should take the scroll offset into account before hit testing

        In accordance with the CSSOM View Module spec, Document.caretRangeFromPoint should interpret
        the point passed to it as relative to the viewport, not the document.

        Test: fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport.html

        * dom/Document.cpp:
        (WebCore::Document::caretRangeFromPoint):

2009-09-11  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Oliver Hunt.

        Added some manual tests to show WebGL in action
        https://bugs.webkit.org/show_bug.cgi?id=29215

        * manual-tests/webgl: Added.
        * manual-tests/webgl/Earth.html: Added.
        * manual-tests/webgl/ManyPlanetsDeep.html: Added.
        * manual-tests/webgl/SpinningBox.html: Added.
        * manual-tests/webgl/TeapotPerPixel.html: Added.
        * manual-tests/webgl/TeapotPerVertex.html: Added.
        * manual-tests/webgl/resources: Added.
        * manual-tests/webgl/resources/CanvasMatrix.js: Added.
        * manual-tests/webgl/resources/earthmap1k.jpg: Added.
        * manual-tests/webgl/resources/mars500x250.png: Added.
        * manual-tests/webgl/resources/teapot.obj: Added.
        * manual-tests/webgl/resources/utils3d.js: Added.
 
2009-09-10  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        aria definition role spelled wrong "defintion"
        https://bugs.webkit.org/show_bug.cgi?id=28840

        Test: accessibility/aria-slider-value-change.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::RoleEntry::):

2009-09-11  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Eric Seidel.

        Fixes an assert in Node::isFocusable which was causing crashes in certain cases.
        https://bugs.webkit.org/show_bug.cgi?id=29210

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

2009-09-11  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Oliver Hunt.

        Added variants to uniform* and vertexAttrib* calls which take sequence<> in place of CanvasArray
        https://bugs.webkit.org/show_bug.cgi?id=29139
        
        I also added a data() call to each of the CanvasArray subclasses to give back a types pointer
        to the baseAddress().

        * Configurations/FeatureDefines.xcconfig:
        * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
        (WebCore::toArray):
        (WebCore::):
        (WebCore::dataFunctionf):
        (WebCore::dataFunctioni):
        (WebCore::dataFunctionMatrix):
        (WebCore::JSCanvasRenderingContext3D::uniform1fv):
        (WebCore::JSCanvasRenderingContext3D::uniform1iv):
        (WebCore::JSCanvasRenderingContext3D::uniform2fv):
        (WebCore::JSCanvasRenderingContext3D::uniform2iv):
        (WebCore::JSCanvasRenderingContext3D::uniform3fv):
        (WebCore::JSCanvasRenderingContext3D::uniform3iv):
        (WebCore::JSCanvasRenderingContext3D::uniform4fv):
        (WebCore::JSCanvasRenderingContext3D::uniform4iv):
        (WebCore::JSCanvasRenderingContext3D::uniformMatrix2fv):
        (WebCore::JSCanvasRenderingContext3D::uniformMatrix3fv):
        (WebCore::JSCanvasRenderingContext3D::uniformMatrix4fv):
        (WebCore::JSCanvasRenderingContext3D::vertexAttrib1fv):
        (WebCore::JSCanvasRenderingContext3D::vertexAttrib2fv):
        (WebCore::JSCanvasRenderingContext3D::vertexAttrib3fv):
        (WebCore::JSCanvasRenderingContext3D::vertexAttrib4fv):
        * html/canvas/CanvasByteArray.h:
        (WebCore::CanvasByteArray::data):
        * html/canvas/CanvasFloatArray.h:
        (WebCore::CanvasFloatArray::data):
        * html/canvas/CanvasIntArray.h:
        (WebCore::CanvasIntArray::data):
        * html/canvas/CanvasRenderingContext3D.cpp:
        (WebCore::CanvasRenderingContext3D::uniform1fv):
        (WebCore::CanvasRenderingContext3D::uniform1iv):
        (WebCore::CanvasRenderingContext3D::uniform2fv):
        (WebCore::CanvasRenderingContext3D::uniform2iv):
        (WebCore::CanvasRenderingContext3D::uniform3fv):
        (WebCore::CanvasRenderingContext3D::uniform3iv):
        (WebCore::CanvasRenderingContext3D::uniform4fv):
        (WebCore::CanvasRenderingContext3D::uniform4iv):
        (WebCore::CanvasRenderingContext3D::uniformMatrix2fv):
        (WebCore::CanvasRenderingContext3D::uniformMatrix3fv):
        (WebCore::CanvasRenderingContext3D::uniformMatrix4fv):
        (WebCore::CanvasRenderingContext3D::vertexAttrib1fv):
        (WebCore::CanvasRenderingContext3D::vertexAttrib2fv):
        (WebCore::CanvasRenderingContext3D::vertexAttrib3fv):
        (WebCore::CanvasRenderingContext3D::vertexAttrib4fv):
        * html/canvas/CanvasRenderingContext3D.h:
        * html/canvas/CanvasRenderingContext3D.idl:
        * html/canvas/CanvasShortArray.h:
        (WebCore::CanvasShortArray::data):
        * html/canvas/CanvasUnsignedByteArray.h:
        (WebCore::CanvasUnsignedByteArray::data):
        * html/canvas/CanvasUnsignedIntArray.h:
        (WebCore::CanvasUnsignedIntArray::data):
        * html/canvas/CanvasUnsignedShortArray.h:
        (WebCore::CanvasUnsignedShortArray::data):
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/mac/GraphicsContext3DMac.cpp:
        (WebCore::GraphicsContext3D::uniform1fv):
        (WebCore::GraphicsContext3D::uniform2fv):
        (WebCore::GraphicsContext3D::uniform3fv):
        (WebCore::GraphicsContext3D::uniform4fv):
        (WebCore::GraphicsContext3D::uniform1iv):
        (WebCore::GraphicsContext3D::uniform2iv):
        (WebCore::GraphicsContext3D::uniform3iv):
        (WebCore::GraphicsContext3D::uniform4iv):
        (WebCore::GraphicsContext3D::uniformMatrix2fv):
        (WebCore::GraphicsContext3D::uniformMatrix3fv):
        (WebCore::GraphicsContext3D::uniformMatrix4fv):
        (WebCore::GraphicsContext3D::vertexAttrib1fv):
        (WebCore::GraphicsContext3D::vertexAttrib2fv):
        (WebCore::GraphicsContext3D::vertexAttrib3fv):
        (WebCore::GraphicsContext3D::vertexAttrib4fv):

2009-09-11  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Eric Seidel.

        Add ENABLE(WEB_SOCKETS) guards.
        https://bugs.webkit.org/show_bug.cgi?id=29174

        * bindings/v8/custom/V8WebSocketCustom.cpp:

2009-09-11  Eric Seidel  <eric@webkit.org>

        No review, rolling out r48229.
        http://trac.webkit.org/changeset/48229

        * WebCore.base.exp:
        * dom/Clipboard.cpp:
        (WebCore::Clipboard::Clipboard):
        (WebCore::Clipboard::sourceOperation):
        * page/DragController.cpp:
        (WebCore::DragController::DragController):
        (WebCore::DragController::dragExited):
        (WebCore::DragController::performDrag):
        (WebCore::DragController::dragEnteredOrUpdated):
        (WebCore::DragController::tryDHTMLDrag):
        (WebCore::DragController::startDrag):
        * page/DragController.h:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::updateDragAndDrop):
        (WebCore::EventHandler::dragSourceMovedTo):
        (WebCore::EventHandler::handleDrag):
        * page/EventHandler.h:

2009-09-11  Michelangelo De Simone  <micdesim@gmail.com>

        Fix the build.

        * html/ValidityState.cpp:
        (WebCore::ValidityState::typeMismatch):

2009-09-11  Michelangelo De Simone  <micdesim@gmail.com>

        Reviewed by Antti Koivisto.

        https://bugs.webkit.org/show_bug.cgi?id=27456
        Added support for static validation of url in
        ValidityState, for url state inputs.
        From HTML5 specs:
        http://www.whatwg.org/specs/web-apps/current-work/#url-state

        Test: fast/forms/ValidityState-typeMismatch-url.html

        * html/ValidityState.cpp:
        (WebCore::ValidityState::typeMismatch):

2009-09-11  Evan Stade  <estade@chromium.org>

        Reviewed by Darin Adler.

        Revert r47992: Expose functions to change the focus ring color for
        Linux Chromium.

        As Darin Fisher has pointed out, there is a better way to do this.

        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
        * rendering/RenderThemeChromiumLinux.h:

2009-09-11  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=29207
        Add checks for using WebCore JS context on secondary threads

        * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData):
        Set the new debug-only mainThreadOnly flag.

2009-09-11  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Timothy Hatcher.

        The inspector should have scope bars.
        https://bugs.webkit.org/show_bug.cgi?id=14353
        
        Add scope bars to the console, so the user can choose which category
        of messages they want to see (All, Errors, Warnings, Logs), and they
        can choose from one or more of {Errors, Warnings, Logs}.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.createFilterElement):
        (WebInspector.ConsoleView):
        (WebInspector.ConsoleView.prototype._updateFilter):
        (WebInspector.ConsoleView.prototype.filter):
        (WebInspector.ConsoleView.prototype.attach):
        * inspector/front-end/inspector.css:
        * inspector/front-end/inspector.html:

2009-09-11  Yusuke Sato  <yusukes@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Complex text doesn't show up with text stroking
        https://bugs.webkit.org/show_bug.cgi?id=28707

        Added extra NULL checks for HDC. This is the second fix for issue 28707,
        and the fix is similar to http://trac.webkit.org/changeset/45482.

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::drawComplexText):
        * platform/graphics/chromium/UniscribeHelper.cpp:
        (WebCore::UniscribeHelper::draw):

2009-09-11  Cameron McCormack  <cam@mcc.id.au>

        Reviewed by Eric Seidel.

        Make ElementTimeControl methods return void and not throw.
        https://bugs.webkit.org/show_bug.cgi?id=28831

        SVG 1.1 erratum:
        http://www.w3.org/2003/01/REC-SVG11-20030114-errata#elementtimecontrol-interface

        Test: svg/dom/smil-methods.svg

        * svg/ElementTimeControl.h: Change return type from bool to void and remove exception argument.
        * svg/ElementTimeControl.idl: Change return type from bool to void and remove raises claus.
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::beginElement): Change return type from bool to void and remove exception argument.
        (WebCore::SVGAnimationElement::beginElementAt): Ditto.
        (WebCore::SVGAnimationElement::endElement): Ditto.
        (WebCore::SVGAnimationElement::endElementAt): Ditto.
        * svg/SVGAnimationElement.h: Ditto.

2009-09-11  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Oliver Hunt.

        Added support for texImage2D which takes CanvasArray
        https://bugs.webkit.org/show_bug.cgi?id=29191

        * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
        (WebCore::JSCanvasRenderingContext3D::texImage2D):
        * platform/graphics/mac/GraphicsContext3DMac.cpp:
        (WebCore::GraphicsContext3D::texImage2D):

2009-09-11  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Darin Adler.

        Allow WebKit clients to opt out of high resolution timers on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=29192

        * page/Settings.cpp:
        (WebCore::Settings::setShouldUseHighResolutionTimers): Added.
        * page/Settings.h: Added getter/setter for shouldUseHighResolutionTimers.
        (WebCore::Settings::shouldUseHighResolutionTimers): Added.
        * platform/win/SharedTimerWin.cpp:
        (WebCore::setSharedTimerFireTime): Don't run high resolution timer code if it is disabled.

2009-09-11  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>

        Reviewed by Adam Barth.

        [v8] Share persistent context handles between events        
        Change events to use a single ref-counted shared persistent handle
        to the context in which to run, rather than create a new
        persistent handle for each new event which puts pressure on the
        gc.
        
        https://bugs.webkit.org/show_bug.cgi?id=29077

        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/v8/SharedPersistent.h: Added.
        (WebCore::SharedPersistent::set):
        (WebCore::SharedPersistent::get):
        (WebCore::SharedPersistent::disposeHandle):
        (WebCore::SharedPersistent::create):
        (WebCore::SharedPersistent::SharedPersistent):
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::V8AbstractEventListener):
        (WebCore::V8AbstractEventListener::handleEvent):
        * bindings/v8/V8AbstractEventListener.h:
        * bindings/v8/V8IsolatedWorld.cpp:
        (WebCore::V8IsolatedWorld::V8IsolatedWorld):
        (WebCore::V8IsolatedWorld::~V8IsolatedWorld):
        * bindings/v8/V8IsolatedWorld.h:
        (WebCore::V8IsolatedWorld::context):
        (WebCore::V8IsolatedWorld::shared_context):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluateInNewContext):
        (WebCore::V8Proxy::createWrapperFromCacheSlowCase):
        (WebCore::V8Proxy::isContextInitialized):
        (WebCore::V8Proxy::updateDocumentWrapperCache):
        (WebCore::V8Proxy::clearDocumentWrapperCache):
        (WebCore::V8Proxy::disposeContextHandles):
        (WebCore::V8Proxy::clearForClose):
        (WebCore::V8Proxy::clearForNavigation):
        (WebCore::V8Proxy::setSecurityToken):
        (WebCore::V8Proxy::updateDocument):
        (WebCore::V8Proxy::initContextIfNeeded):
        (WebCore::V8Proxy::shared_context):
        (WebCore::V8Proxy::mainWorldContext):
        (WebCore::V8Proxy::setContextDebugId):
        * bindings/v8/V8Proxy.h:
        (WebCore::V8Proxy::V8Proxy):
        (WebCore::V8Proxy::context):
        (WebCore::V8Proxy::shared_context):

2009-09-11  Anton Muhin  <antonm@chromium.org>

        Reviewed by David Levin.

        Create a real handle (one which would save an object from GC).
        https://bugs.webkit.org/show_bug.cgi?id=29150

        * bindings/v8/V8Binding.cpp:
        (WebCore::v8ExternalString):

2009-09-11  Anton Muhin  <antonm@chromium.org>

        Reviewed by David Levin.

        Inline WebCore::v8String as it only invokes WebCore::v8ExternalString.
        https://bugs.webkit.org/show_bug.cgi?id=29152

        * bindings/v8/V8Binding.cpp:
        * bindings/v8/V8Binding.h:
        (WebCore::v8String):

2009-09-11  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Reviewed by Simon Hausmann.

        Changed URLs from qtsoftware.com to qt.nokia.com, as part of a general
        renaming.

        * ChangeLog-2009-06-16:

2009-09-11  Thiago Macieira  <thiago.macieira@nokia.com>

        Reviewed by Simon Hausmann.

        Use LIBS_PRIVATE on Qt/Mac.

        On the Mac, it means "-framework ApplicationServices -framework Carbon
        -framework AppKit" are no longer part of the default LIBS in Qt
        applications. This required a lot of fixes where we used Mac-specific
        code in Qt.

        * WebCore.pro:

2009-09-11  Cameron McCormack  <cam@mcc.id.au>

        Reviewed by Eric Seidel.

        Remove duplicated WK_{u,l}cfirst subs from CodeGeneratorV8.pm
        https://bugs.webkit.org/show_bug.cgi?id=29165

        * bindings/scripts/CodeGeneratorV8.pm: Remove WK_ucfirst and
        WK_lcfirst, and call the ones in CodeGenerator.pm instead.

2009-09-11  Yongjun Zhang  <yongjun.zhang@nokia.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=29132
        Symbian winscw compiler fails compiling WebCore/text/RegularExpression.cpp.

        Add RegularExpression class qualifier before Private.

        * platform/text/RegularExpression.cpp:

2009-09-11  Yongjun Zhang  <yongjun.zhang@nokia.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=29131
        Use a different variadic macro format for Symbian compiler.
        
        Use arg... instead of ellipsis in variadic macro.        

        * platform/StaticConstructors.h:

2009-09-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

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

        [Qt] Make the WebInspector available as a QWidget.

        * WebCore.pro:

2009-09-11  Simon Hausmann  <simon.hausmann@nokia.com>

        Unreviewed fix for the Web Inspector with the Qt build.

        Re-generate the Qt resource file by running
        WebKitTools/Scripts/generate-qt-inspector-resource

        * inspector/front-end/WebKit.qrc:

2009-09-11  Simon Hausmann  <simon.hausmann@nokia.com>

        Fix the Qt build, remove stray semicolon from function definition.

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

2009-09-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Detect mixed content
        https://bugs.webkit.org/show_bug.cgi?id=29003

        Detect some basic kinds of mixed content (HTTP content loaded into an
        HTTPS context).  This new detection logic isn't perfect, but it's a
        place to start.

        Tests: http/tests/security/mixedContent/about-blank-iframe-in-main-frame.html
               http/tests/security/mixedContent/data-url-iframe-in-main-frame.html
               http/tests/security/mixedContent/data-url-script-in-iframe.html
               http/tests/security/mixedContent/insecure-css-in-iframe.html
               http/tests/security/mixedContent/insecure-css-in-main-frame.html
               http/tests/security/mixedContent/insecure-iframe-in-iframe.html
               http/tests/security/mixedContent/insecure-iframe-in-main-frame.html
               http/tests/security/mixedContent/insecure-image-in-iframe.html
               http/tests/security/mixedContent/insecure-image-in-main-frame.html
               http/tests/security/mixedContent/insecure-script-in-iframe.html
               http/tests/security/mixedContent/redirect-http-to-https-iframe-in-main-frame.html
               http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe.html
               http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame.html
               http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe.html

        * loader/DocLoader.cpp:
        (WebCore::DocLoader::canRequest):
        (WebCore::DocLoader::requestResource):
        (WebCore::DocLoader::checkCacheObjectStatus):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::isMixedContent):
        (WebCore::FrameLoader::checkIfDisplayInsecureContent):
        (WebCore::FrameLoader::checkIfRunInsecureContent):
        * loader/FrameLoader.h:
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::willSendRequest):

2009-09-10  Mark Rowe  <mrowe@apple.com>

        Fix the Windows build.

        Restore platform/mock to the header search path after it was removed in r48270.

        * WebCore.vcproj/WebCoreCommon.vsprops:

2009-09-08  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Move the option to create a new style rule under the Styles' gear menu.

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

        Reviewed by Sam Weinig.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane): Add "New Style Rule" option to the gear menu.
        (WebInspector.StylesSidebarPane.prototype._update): Check instanceof BlankStylePropertiesSection instead.
        (WebInspector.StylesSidebarPane.prototype._changeSetting): Added. Keeps the color format setting selected
        while calling the correct action.
        (WebInspector.StylesSidebarPane.prototype._createNewRule): Creates a new section and edits the selector.
        (WebInspector.StylesSidebarPane.prototype.addBlankSection): Insert the section in a cleaner way.
        (WebInspector.StylesSidebarPane.prototype.removeSection): Added. Removes the passed in section.
        (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode): Return an empty string if there is no node.
        (WebInspector.StylePropertiesSection.prototype.expand): Removed the check for _blank.
        (WebInspector.StylePropertiesSection.prototype.startEditingSelector): No need for the context, the original selector
        is remembered by the editing code.
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled): Do nothing. The original text is already
        restored by the editing code.
        (WebInspector.BlankStylePropertiesSection): Call the StylePropertiesSection constructor with appropriate data.
        Remove event listener code.
        (WebInspector.BlankStylePropertiesSection.prototype.expand): Added. Does nothing to prevent expanding.
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.callback): Correctly construct the
        WebInspector.CSSStyleDeclaration. Call editingSelectorCancelled instead of editingCancelled.
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted): Renamed from editingCommitted to
        override the base class.
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCancelled): Remove the section.
        (WebInspector.BlankStylePropertiesSection.prototype.makeNormal): Removed event listener code. Removed the delete lines
        since they were doing nothing (deleting nonexistent properties that exist only on the prototype.) Change prototypes at
        the end to correctly swtich to a real StylePropertiesSection.
        * inspector/front-end/inspector.js:
        (WebInspector.startEditing.editingCancelled): Ceck for null/undefined callbacks.
        (WebInspector.startEditing.editingCommitted): Ditto.

2009-09-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Eric Seidel.

        [Qt] Fix comparison between signed and unsigned integer warnings
        https://bugs.webkit.org/show_bug.cgi?id=29162

        No functional change.

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::findMethodIndex):
        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedImageMIMETypes):
        (WebCore::initializeSupportedImageMIMETypesForEncoding):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::duration):
        (WebCore::ImageDecoderQt::imageAtIndex):
        * plugins/qt/PluginPackageQt.cpp:
        (WebCore::PluginPackage::fetchInfo):

2009-09-10  Martin Robinson  <martin.james.robinson@gmail.com>

        Reviewed by Gustavo Noronha.

        Build fix for GTK+ after r48267.

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

2009-09-08  John Abd-El-Malek  <jam@chromium.org>

        Reviewed by Dimitri Glazkov.

        Remove unneeded define for ActiveX.
        https://bugs.webkit.org/show_bug.cgi?id=29054

        * rendering/RenderPartObject.cpp:
        (WebCore::createClassIdToTypeMap):
        (WebCore::serviceTypeForClassId):
        (WebCore::RenderPartObject::updateWidget):

2009-09-10  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Sam Weinig.

        Don't copy IDL files in to the built framework.

        * WebCore.xcodeproj/project.pbxproj:

2009-09-10  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Eric Seidel.

        Implment Range.expand().
        https://bugs.webkit.org/show_bug.cgi?id=27632

        Test: fast/dom/Range/range-expand.html

        * dom/Range.cpp:
        (WebCore::Range::expand):
        * dom/Range.h:
        * dom/Range.idl:

2009-09-10  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket API implementation.
        https://bugs.webkit.org/show_bug.cgi?id=28038
        
        Add build systems for GNUmakefile.am, WebCore.xcodeproj and
        WebCore.vcproj.
        Add websockets directory and WebSocket.idl in qt build system.
        Tests will be landed once the code is completed and functional.

        * DerivedSources.cpp:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::webSocket):
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        (WebCore::toEventTarget):
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::toWebSocket):
        * dom/EventTarget.h:
        * page/DOMWindow.idl:
        * websockets/WebSocket.cpp:
        (WebCore::ProcessWebSocketEventTask::create):
        (WebCore::ProcessWebSocketEventTask::performTask):
        (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
        (WebCore::isValidProtocolString):
        (WebCore::WebSocket::connect):
        (WebCore::WebSocket::send):
        (WebCore::WebSocket::close):
        (WebCore::WebSocket::bufferedAmount):
        (WebCore::WebSocket::addEventListener):
        (WebCore::WebSocket::removeEventListener):
        (WebCore::WebSocket::dispatchEvent):
        (WebCore::WebSocket::didConnect):
        (WebCore::WebSocket::didReceiveMessage):
        (WebCore::WebSocket::didClose):
        (WebCore::WebSocket::dispatchOpenEvent):
        (WebCore::WebSocket::dispatchMessageEvent):
        (WebCore::WebSocket::dispatchCloseEvent):
        * websockets/WebSocket.h:
        (WebCore::WebSocket::create):
        (WebCore::WebSocket::):
        (WebCore::WebSocket::setOnopen):
        (WebCore::WebSocket::onopen):
        (WebCore::WebSocket::setOnmessage):
        (WebCore::WebSocket::onmessage):
        (WebCore::WebSocket::setOnclose):
        (WebCore::WebSocket::onclose):
        (WebCore::WebSocket::toWebSocket):
        (WebCore::WebSocket::eventListeners):
        (WebCore::WebSocket::refEventTarget):
        (WebCore::WebSocket::derefEventTarget):
        * websockets/WebSocketChannel.cpp: Added.
        * websockets/WebSocketChannel.h: Added.
        * websockets/WebSocketChannelClient.h: Added.
        * websockets/WebSocketHandshake.cpp: Added.
        * websockets/WebSocketHandshake.h: Added.

2009-09-10  Albert J. Wong  <ajwong@chromium.org>

        No review, windows build fix only.
        
        Spurious semicolon causing parse error in chromium build on windows.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::buffered):

2009-09-10  Albert J. Wong  <ajwong@chromium.org>

        No review, build fix only.

        Adding in a missed include from the last patch that is breaking the
        chromium build.

        * rendering/RenderThemeChromiumMac.mm: include TimeRanges.h

2009-09-10  Alpha Lam  <hclam@chromium.org>

        Reviewed by Eric Carlson.

        HTMLMediaElement buffered attribute should report a list of time ranges
        https://bugs.webkit.org/show_bug.cgi?id=29041

        Changed MediaPlayerPrivateInterface and MediaPlayer's definition to
        report a list of buffered time ranges as WebCore::TimeRanges. This
        change also got rid of the maxTimeBuffered() method.

        No new tests since this is a API change.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::percentLoaded):
        Use MediaPlaier::buffered() instead of maxTimeBuffered().
        (WebCore::HTMLMediaElement::buffered):
        ditto.
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::NullMediaPlayerPrivate::buffered):
        Use MediaPlayerPrivateInterface::buffered() instead of maxTimeBuffered().
        (WebCore::MediaPlayer::buffered):
        ditto.
        * platform/graphics/MediaPlayer.h:
        Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
        * platform/graphics/MediaPlayerPrivate.h:
        ditto.
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        Implements PassRefPtr<TimeRanges> buffered();
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
        Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::buffered):
        Implementation of buffered().
        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
        Implements PassRefPtr<TimeRanegs> buffered().
        * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
        Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        Implements PassRefPtr<TimeRanges> buffered().
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
        Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
        * platform/graphics/wince/MediaPlayerPrivateWince.h:
        ditto.
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
        Use buffered() instead of maxTimeBuffered().
        * rendering/RenderThemeChromiumSkia.cpp:
        ditto.
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMediaSliderTrack):
        ditto.

2009-09-10  Cameron McCormack  <cam@mcc.id.au>

        Reviewed by Eric Seidel.

        Make bindings generators more aware of IDL dependencies
        https://bugs.webkit.org/show_bug.cgi?id=29114

        Make the JS and ObjC bindings generators able to output dependency
        rules for DerivedSources.make to consume.  These rules make a given
        generated binding class file header, JSWhatever.h, depend on Whatever's
        ancestor interfaces.

        * DerivedSources.make: Pass --write-dependencies to generate-bindings.pl
        when generating JS and ObjC bindings.  Include dependency fies that are
        generated due to that.
        * bindings/scripts/CodeGenerator.pm: Make
        AddMethodsConstantsAndAttributesFromParentClasses accumulate a list of
        the ancestor interfaces that were visited.
        * bindings/scripts/CodeGeneratorJS.pm: Optionally write out a dependency
        file.
        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
        * bindings/scripts/generate-bindings.pl: Add a --write-dependencies
        option.

2009-09-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez and Dan Winship.

        Give all requests to libsoup, to let it queue, and schedule them
        itself, instead of throttling the number of requests in WebCore.

        * platform/network/ResourceRequestBase.cpp:
        * platform/network/soup/ResourceRequestSoup.cpp:
        (WebCore::initializeMaximumHTTPConnectionCountPerHost):

2009-09-10  Jian Li  <jianli@chromium.org>

        Reviewed by Eric Seidel.

        [V8] Make XMLHttpRequest.send handle File object.
        https://bugs.webkit.org/show_bug.cgi?id=28924

        Test: http/tests/local/send-dragged-file.html

        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):

2009-09-10  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Darin Adler.

        Use fastNew and fastDelete instead of operator new and delete for CSSSelector class. 
        https://bugs.webkit.org/show_bug.cgi?id=25930

        Change using of operator new to fastNew and operator delete to
        fastDeleteSkippingDestructor for CSSSelector class to avoid mismatched function call.

        This change fixes valgrind's 'mismatched free' notification.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::~CSSParser):
        (WebCore::CSSParser::createFloatingSelector):
        * css/CSSSelectorList.cpp:
        (WebCore::CSSSelectorList::adoptSelectorVector):

2009-09-10  Steve Block  <steveblock@google.com>

        Reviewed by Darin Adler.

        Geolocation does not correctly handle reentrant calls from callbacks.
        https://bugs.webkit.org/show_bug.cgi?id=29040

        Tests: fast/dom/Geolocation/reentrant-error.html
               fast/dom/Geolocation/reentrant-success.html

        * page/Geolocation.cpp: Modified.
        (WebCore::Geolocation::handleError): Modified. Call sendError directly, clearing notifier lists before making callback.
        (WebCore::Geolocation::makeSuccessCallbacks): Modified. Call sendPosition directly, clearing notifier lists before making callback.
        * page/Geolocation.h: Modified. Deleted sendErrorToXX and sendPositionToXXX methods.

2009-09-10  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Eric Seidel.

        Fixes issue where focused elements did not get blur and focus events when the window was blurred and focused.
        https://bugs.webkit.org/show_bug.cgi?id=27105

        Test: fast/events/blur-focus-window-should-blur-focus-element.html

        * page/FocusController.cpp:
        (WebCore::dispatchEventsOnWindowAndFocusedNode):
        (WebCore::FocusController::setFocused):
        (WebCore::FocusController::setActive):

2009-09-10  Adam Roben  <aroben@apple.com>

        Make the play/pause button in <video> controls indicate the button's
        action, not the movie state

        This matches the Mac behavior, iTunes, and many other media players.

        No test possible.

        Fixes <http://webkit.org/b/29126> Play/pause button in <video>
        controls shows the wrong image

        Reviewed by Eric Carlson.

        * rendering/RenderMediaControls.cpp:
        (WebCore::RenderMediaControls::paintMediaControlsPart): Reversed when
        we show the play vs. pause artwork, so that the button reflects what
        will happen when you click it, rather than the current state of the
        movie.

2009-09-09  Steve Block  <steveblock@google.com>

        Reviewed by Maciej Stachowiak.

        Geolocation Coordinates::toString() prints bogus values for unspecified properties.
        https://bugs.webkit.org/show_bug.cgi?id=29080

        Test: fast/dom/Geolocation/position-string.html

        * GNUmakefile.am: Modified. Removes Geoposition.cpp and Coordinates.cpp.
        * WebCore.gypi: Modified. Removes Geoposition.cpp and Coordinates.cpp.
        * WebCore.pro: Modified. Removes Geoposition.cpp and Coordinates.cpp.
        * WebCore.vcproj/WebCore.vcproj: Modified. Removes Geoposition.cpp and Coordinates.cpp.
        * WebCore.xcodeproj/project.pbxproj: Modified. Removes Geoposition.cpp and Coordinates.cpp.
        * WebCoreSources.bkl: Modified. Removes Geoposition.cpp and Coordinates.cpp.
        * page/Coordinates.cpp: Removed.
        * page/Coordinates.h: Modified. Removes toString method.
        * page/Coordinates.idl: Modified. Removes toString method.
        * page/Geoposition.cpp: Removed.
        * page/Geoposition.h: Modified. Removes toString method.
        * page/Geoposition.idl: Modified. Removes toString method.

2009-09-09  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        Correctly applies the Geolocation timeout property.
        https://bugs.webkit.org/show_bug.cgi?id=27256

        If a timeout is specified, the timer is started as soon as the location acquistion process starts.
        If a position fix is not obtained within the timeout interval, the position request is cancelled
        and the error callback (if specified) is invoked. If a position fix is obtained within the timeout
        interval, the timer is stopped. Permissions are then requested from the user if required. See
        http://www.w3.org/TR/geolocation-API/#position-options.

        Note that this logic means that the time required to obtain permissions from the user is not
        included in the timeout interval.

        Tests: fast/dom/Geolocation/timeout.html
               fast/dom/Geolocation/timeout-zero.html

        * page/Geolocation.cpp: Modified.
        (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. Takes Geolocation object as parameter.
        (WebCore::Geolocation::GeoNotifier::hasZeroTimeout): Added. Determines whether this request has a zero timeout.
        (WebCore::Geolocation::GeoNotifier::startTimerIfNeeded): Renamed from startTimer. Starts the timer if a timeout was specified.
        (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Calls the error callback if specified, and reports the timeout to the Geolocation object.
        (WebCore::Geolocation::getCurrentPosition): Modified. Calls maybeStartTimer when starting the location acquisition process.
        (WebCore::Geolocation::watchPosition): Modified. Calls maybeStartTimer when starting the location acquisition process.
        (WebCore::Geolocation::requestTimedOut): Added. Cancels a request when it times out.
        (WebCore::Geolocation::setIsAllowed): Modified. No longer starts timers.
        (WebCore::Geolocation::sendPosition): Modified. No longer stops timers.
        (WebCore::Geolocation::stopTimer): Added. Stops the timers for a vector of notifiers.
        (WebCore::Geolocation::stopTimersForOneShots): Added. Stops the timers for all one-shots.
        (WebCore::Geolocation::stopTimersForWatchers): Added. Stops the timers for all watchers.
        (WebCore::Geolocation::stopTimers): Added. Stops the timers for all requests.
        (WebCore::Geolocation::geolocationServicePositionChanged): Modfified. Stops the timers for all requests.
        * page/Geolocation.h: Modified.
        (WebCore::Geolocation::GeoNotifier::create): Modified. Takes Geolocation object as parameter.

2009-09-09  Chris Fleizach  <cfleizach@apple.com>

        AX notifications should be an ENUM type instead of strings
        https://bugs.webkit.org/show_bug.cgi?id=28963

        Build fix for Qt.

        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::postNotification):
        (WebCore::AXObjectCache::postPlatformNotification):

2009-09-08  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX notifications should be an ENUM type instead of strings
        https://bugs.webkit.org/show_bug.cgi?id=28963

        Moves AX notifications over to an ENUM type instead of
        using the actual string values that are used on OS X.

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::postNotification):
        (WebCore::AXObjectCache::selectedChildrenChanged):
        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
        * accessibility/chromium/AXObjectCacheChromium.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        * accessibility/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::postPlatformNotification):
        * accessibility/win/AXObjectCacheWin.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        * dom/Document.cpp:
        (WebCore::Document::implicitClose):
        * dom/Element.cpp:
        (WebCore::Element::updateAfterAttributeChanged):
        * editing/Editor.cpp:
        (WebCore::Editor::respondToChangedContents):
        * editing/mac/SelectionControllerMac.mm:
        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setChecked):
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::setInnerTextValue):

2009-09-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Missing checkout for getSVGDocument()
        https://bugs.webkit.org/show_bug.cgi?id=29064

        The V8 code generator didn't understand SVGCheckSecurityDocument.

        Tests: http/tests/security/xss-DENIED-getSVGDocument-iframe.html
               http/tests/security/xss-DENIED-getSVGDocument-object.html

        * bindings/scripts/CodeGeneratorV8.pm:

2009-09-09  Cameron McCormack  <cam@mcc.id.au>

        Reviewed by Eric Seidel.

        Make SVGStyleElement inherit from SVGLangSpace
        https://bugs.webkit.org/show_bug.cgi?id=29058

        Required by SVG 1.1 Second Edition:
        http://dev.w3.org/SVG/profiles/1.1F2/publish/styling.html#InterfaceSVGStyleElement

        Test: svg/dom/SVGStyleElement/style-langspace.html

        * svg/SVGStyleElement.cpp: Drop methods xmlspace and setXmlspace.
        (WebCore::SVGStyleElement::SVGStyleElement): Add SVGLangSpace()
        initializer.
        (WebCore::SVGStyleElement::parseMappedAttribute): Call
        parseMappedAttribute on SVGLangSpace.
        * svg/SVGStyleElement.h: Drop xmlspace and setXmlspace declarations.
        * svg/SVGStyleElement.idl: Drop xmlspace attribute and add SVGLangSpace
        as a superinterface.

2009-09-09  Nate Chapin  <japhet@chromium.org>

        Reviewed by David Levin.

        Remove unnecessary includes and forward declarations in V8Proxy.h

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

        * bindings/v8/V8Proxy.h:

2009-07-30  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add more position constructors
        positionBeforeNode, positionAfterNode
        firstPositionInNode, lastPositionInNode
        https://bugs.webkit.org/show_bug.cgi?id=25494

        I also added a lastOffsetInNode and deployed it to a couple places.

        There are no callers to these new constructors yet, but those
        will be coming in future patches.

        * dom/Position.cpp:
        (WebCore::Position::computeOffsetInContainerNode):
        * dom/Position.h:
        (WebCore::positionBeforeNode):
        (WebCore::positionAfterNode):
        (WebCore::lastOffsetInNode):
        (WebCore::firstPositionInNode):
        (WebCore::lastPositionInNode):
        * editing/ApplyStyleCommand.cpp:
        * editing/TextIterator.cpp:
        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
        * editing/htmlediting.cpp:
        (WebCore::lastOffsetForEditing):

2009-04-30  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Rename positionBeforeNode to positionInParentBeforeNode
        and positionAfterNode to positionInParentAfterNode
        in preparation for adding a positionBeforeNode
        which returns a neighbor-anchored position.
        https://bugs.webkit.org/show_bug.cgi?id=25494

        No functional changes, thus no tests.

        * dom/PositionConstructors.h:
        (WebCore::positionInParentBeforeNode):
        (WebCore::positionInParentAfterNode):
        * dom/PositionIterator.cpp:
        (WebCore::PositionIterator::operator Position):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyInlineStyle):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::positionOutsideTabSpan):
        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
        (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
        * editing/CreateLinkCommand.cpp:
        (WebCore::CreateLinkCommand::doApply):
        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::deleteTarget):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::initializeStartEnd):
        (WebCore::updatePositionForNodeRemoval):
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply):
        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent):
        (WebCore::ReplaceSelectionCommand::doApply):
        * editing/VisibleSelection.cpp:
        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
        * editing/htmlediting.cpp:
        (WebCore::firstEditablePositionAfterPositionInRoot):
        (WebCore::lastEditablePositionBeforePositionInRoot):
        (WebCore::rangeCompliantEquivalent):
        (WebCore::positionBeforeContainingSpecialElement):
        (WebCore::positionAfterContainingSpecialElement):
        (WebCore::positionBeforeTabSpan):

2009-04-30  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Re-organize position creation functions in preparation for adding more
        https://bugs.webkit.org/show_bug.cgi?id=25494

        Make position functions inline to avoid ref-churn.
        Remove startPosition/endPosition as they were only used in one place.

        No functional changes, thus no tests.

        * dom/Position.cpp:
        * dom/Position.h:
        (WebCore::positionBeforeNode):
        (WebCore::positionAfterNode):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::moveTo):
        * editing/TypingCommand.cpp:
        * editing/htmlediting.cpp:
        * editing/htmlediting.h:
        (WebCore::firstDeepEditingPositionForNode):
        (WebCore::lastDeepEditingPositionForNode):
        * rendering/RenderObject.cpp:

2009-09-09  Kevin Watters  <kevinwatters@gmail.com>

        Reviewed by Kevin Ollivier.
        
        [wx] Add wxSize conversions for IntSize.
        https://bugs.webkit.org/show_bug.cgi?id=29104

        * platform/graphics/IntSize.h:
        * platform/graphics/wx/IntSizeWx.cpp: Added.
        (WebCore::IntSize::IntSize):
        (WebCore::IntSize::operator wxSize):

2009-09-09  Yaar Schnitman  <yaar@chromium.org>

        Reviewed by David Levin.
        
        Chromium uses its own config.h file that was forked from webkit's config.h.
        By merging in Chromium's defines, Chromium would again be able to use webkit's
        config.h.

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

        * config.h: Added chromium-specific defines. 

2009-09-09  Jens Alfke  <snej@chromium.org>

        Reviewed by Eric Seidel.

        Initialize DataTransfer's effectAllowed and dropEffect properties correctly
        according to HTML5 spec (sec. 7.9.2-7.9.3).
        https://bugs.webkit.org/show_bug.cgi?id=26700
        - At the start of a drag operation, the value of effectAllowed should be
          the string "uninitialized".
        - At end of dragstart handler, if effectAllowed hasn't been set yet, it
          should be set to "copy".
        - on dragenter and dragover event, dropEffect should be initialized to a
          default value based on the value of effectAllowed.
        - at end of dragenter and dragover the dropEffect should be set to "none"
          if the value set by the handler doesn't match the effectAllowed.
        - on dragleave event, dropEffect should be "none".
        - on drop event, dropEffect should be the previously negotiated value.

        Test: fast/events/drag-dropeffect.html

        * WebCore.base.exp:
            Added a parameter to EventHandler::dragSourceMovedTo.
        * dom/Clipboard.cpp:
        (WebCore::Clipboard::Clipboard):
            Initialize m_effectAllowed to "uninitialized".
        (WebCore::Clipboard::sourceOperation):
            Treat "uninitialized" as meaning no value has been set.
        * page/DragController.cpp:
        (WebCore::DragController::DragController):
            Initialize new member m_destinationDragOperation.
        (WebCore::DragController::dragExited):
            Set m_destinationDragOperation to none on dragExit.
        (WebCore::DragController::performDrag):
            Set m_destinationDragOperation to current dropEffect.
        (WebCore::DragController::dragEnteredOrUpdated):
            Make sure to clear the operation if drag source doesn't allow it.
        (WebCore::DragController::tryDHTMLDrag):
            Set a default value for the dst drag op before sending dragEnter/Over.
        (WebCore::DragController::startDrag):
            Clear m_destinationDragOperation at start of drag.
        * page/DragController.h:
        (WebCore::DragController::destinationDragOperation):
            Added new member m_destinationDragOperation, and its public getter.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::updateDragAndDrop):
            dropEffect should be 'none' during dropleave handler, per spec.
        (WebCore::EventHandler::dragSourceMovedTo):
            Added DragOperation parameter, so the handler sees the current dropEffect.
        (WebCore::EventHandler::handleDrag):
            Assume DragOperationEvery for non-DHTML drags.
        * page/EventHandler.h:
            Added DragOperation parameter to dragSourceMovedTo().

2009-09-09  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        1. Adding support/bindings for read-only transactions.
        2. Disallowing the SQLITE_*_VIEW and REINDEX operations in the
        private browsing mode.
        3. Adding an authorizer test.

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

        Test: storage/test-authorizer.html

        * bindings/js/JSDatabaseCustom.cpp:
        (WebCore::createTransaction): Parses all arguments and executes a
        transaction.
        (WebCore::JSDatabase::transaction): Refactored to use
        createTransaction().
        (WebCore::JSDatabase::readTransaction): Added to execute read-only
        transactions using createTransaction().
        * bindings/v8/custom/V8CustomBinding.h: Added the binding for
        Database::readTransaction().
        * bindings/v8/custom/V8DatabaseCustom.cpp:
        (WebCore::createTransaction): Parses all arguments and executes a
        transaction.
        (WebCore::transaction): Refactored to use createTransaction().
        (WebCore::readTransaction): Added to execute read-only
        transactions using createTransaction().
        * storage/Database.cpp:
        (WebCore::Database::transaction): Added support for read-only
        transactions.
        * storage/Database.h: Added support for read-only transactions.
        * storage/Database.idl: Added support for read-only transactions.
        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::createTempTable): Make it obvious
        that the statement will be denied in private browsing mode and
        read-only transactions.
        (WebCore::DatabaseAuthorizer::dropTempTable): Same.
        (WebCore::DatabaseAuthorizer::createTempIndex): Same.
        (WebCore::DatabaseAuthorizer::dropTempIndex): Same.
        (WebCore::DatabaseAuthorizer::createTempTrigger): Same.
        (WebCore::DatabaseAuthorizer::dropTempTrigger): Same.
        (WebCore::DatabaseAuthorizer::createView): Deny in private
        browsing mode and read-only transactions.
        (WebCore::DatabaseAuthorizer::createTempView): Same.
        (WebCore::DatabaseAuthorizer::dropView): Same.
        (WebCore::DatabaseAuthorizer::dropTempView): Same.
        (WebCore::DatabaseAuthorizer::allowReindex): Same.
        * storage/DatabaseAuthorizer.h:
        * storage/SQLTransaction.cpp: Added support for read-only
        transactions.
        (WebCore::SQLTransaction::create):
        (WebCore::SQLTransaction::SQLTransaction):
        (WebCore::SQLTransaction::executeSQL):
        (WebCore::SQLTransaction::acquireLock):
        * storage/SQLTransaction.h:
        * storage/SQLTransactionCoordinator.cpp:
        (WebCore::SQLTransactionCoordinator::acquireLock): Added a new
        parameter in preparation for a change that will allow multiple
        read-only transactions on the same DB to run concurrently.
        * storage/SQLTransactionCoordinator.h:

2009-09-09  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection.  This is similar
        to user script injection but allows for user stylesheets to be added.  The stylesheets are applied immediately
        to all Frames in the PageGroup.

        Added userscripts/simple-stylesheet.html test case.

        * WebCore.base.exp:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        * css/CSSStyleSelector.h:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::attach):
        (WebCore::Document::pageGroupUserSheets):
        (WebCore::Document::clearPageGroupUserSheets):
        (WebCore::Document::recalcStyleSelector):
        * dom/Document.h:
        * loader/PlaceholderDocument.cpp:
        (WebCore::PlaceholderDocument::attach):
        * page/PageGroup.cpp:
        (WebCore::PageGroup::addUserStyleSheet):
        (WebCore::PageGroup::removeUserContentForWorld):
        (WebCore::PageGroup::removeAllUserContent):
        * page/PageGroup.h:
        (WebCore::PageGroup::userStyleSheets):
        * page/UserStyleSheet.h: Added.
        (WebCore::UserStyleSheet::UserStyleSheet):
        (WebCore::UserStyleSheet::source):
        (WebCore::UserStyleSheet::url):
        (WebCore::UserStyleSheet::patterns):
        (WebCore::UserStyleSheet::worldID):
        * page/UserStyleSheetTypes.h: Added.

2009-09-09  Carol Szabo  <carol.szabo@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] CSS Style -webkit-box-shadow is not rendered correctly on
        Qt platform
        https://bugs.webkit.org/show_bug.cgi?id=23291

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
         Added the ability to draw shadows for all these curves.

2009-09-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Hausmann.

        Add the qwebgraphicsitem.cpp to the build system.

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

        * WebCore.pro:

2009-09-09  Kevin Watters  <kevinwatters@gmail.com>

        Reviewed by Kevin Ollivier.

        [wx port] Move functions in TemporaryLinkStubs.cpp out to files where
        they belong.

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

        * editing/wx/EditorWx.cpp:
        (WebCore::Editor::showColorPanel):
        (WebCore::Editor::showFontPanel):
        (WebCore::Editor::showStylesPanel):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::clearPlatformShadow):
        (WebCore::GraphicsContext::beginTransparencyLayer):
        (WebCore::GraphicsContext::endTransparencyLayer):
        (WebCore::GraphicsContext::clearRect):
        (WebCore::GraphicsContext::strokeRect):
        (WebCore::GraphicsContext::setLineCap):
        (WebCore::GraphicsContext::setLineJoin):
        (WebCore::GraphicsContext::setMiterLimit):
        (WebCore::GraphicsContext::setAlpha):
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        * platform/graphics/wx/IconWx.cpp: Added.
        (WebCore::Icon::~Icon):
        (WebCore::Icon::createIconForFile):
        (WebCore::Icon::createIconForFiles):
        (WebCore::Icon::paint):
        * platform/graphics/wx/ImageWx.cpp:
        (WebCore::Image::loadPlatformResource):
        (WebCore::Image::drawPattern):
        * platform/wx/CursorWx.cpp:
        (WebCore::moveCursor):
        * platform/wx/FileChooserWx.cpp: Added.
        (WebCore::FileChooser::basenameForWidth):
        * platform/wx/KURLWx.cpp: Added.
        (WebCore::KURL::fileSystemPath):
        * platform/wx/SSLKeyGeneratorWx.cpp: Added.
        (WebCore::getSupportedKeySizes):
        (WebCore::signedPublicKeyAndChallengeString):
        * platform/wx/SearchPopupMenuWx.cpp: Added.
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        (WebCore::SearchPopupMenu::enabled):
        * platform/wx/SharedBufferWx.cpp: Added.
        (WebCore::SharedBuffer::createWithContentsOfFile):
        * platform/wx/SystemTimeWx.cpp: Added.
        (WebCore::userIdleTime):
        * platform/wx/TemporaryLinkStubs.cpp: Removed.
        * platform/wx/TextBreakIteratorInternalICUWx.cpp: Added.
        (WebCore::currentSearchLocaleID):
        (WebCore::currentTextBreakLocaleID):
        * platform/wx/WidgetWx.cpp:
        (WebCore::Widget::setIsSelected):

2009-09-09  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        Geolocation incorrectly calls error callback in case of exception in success callback.
        https://bugs.webkit.org/show_bug.cgi?id=27255

        Test: fast/dom/Geolocation/callback-exception.html

        * bindings/js/JSCustomPositionCallback.cpp: Modified.
        (WebCore::JSCustomPositionCallback::handleEvent): Modified. Removed raisedException out param.
        * bindings/js/JSCustomPositionCallback.h: Modified. Removed raisedException out param from handleEvent method and made handleEvent private.
        * bindings/js/JSCustomPositionErrorCallback.h: Modified. Made handleEvent private.
        * page/Geolocation.cpp: Modified.
        (WebCore::Geolocation::sendPosition): Modified. No longer call error callback in case of exception in success callback.
        * page/PositionCallback.h: Modified. Removed raisedException out param from handleEvent method.

2009-09-09  Steve Block  <steveblock@google.com>

        Reviewed by Darin Adler.

        When Geolocation permission is denied, stops watches as well as one-shots.
        https://bugs.webkit.org/show_bug.cgi?id=28305.

        Tests: fast/dom/Geolocation/watch.html
               fast/dom/Geolocation/permission-denied-stops-watches.html

        * page/Geolocation.cpp: Modified.
        (WebCore::Geolocation::setIsAllowed): Modified. Marks the permission error as fatal.
        (WebCore::Geolocation::handleError): Modified. If the error is fatal, stops watchers as well as one-shots.
        * page/PositionError.h: Modified.
        (WebCore::PositionError::setIsFatal): Added. Marks an error as fatal.
        (WebCore::PositionError::isFatal): Added. Determines whether an error is fatal.

2009-09-09  Roland Steiner  <rolandsteiner@google.com>

        Reviewed by Eric Seidel.

        Bug 28964 -  [Chromium] ChromiumDataObject should have getter/setter interface

        Added getter/setter methods and trivial inline implementations for each.
        (Note that they are not yet actually used.)
        Once the Chromium code is changed to use them instead of directly accessing the
        member variables, the member variables should be made private and cleaned up.

        No new tests (no functional behavior changed).

        * platform/chromium/ChromiumDataObject.h:
        (WebCore::ChromiumDataObject::mainURL):
        (WebCore::ChromiumDataObject::setMainURL):
        (WebCore::ChromiumDataObject::mainURLTitle):
        (WebCore::ChromiumDataObject::setMainURLTitle):
        (WebCore::ChromiumDataObject::textPlain):
        (WebCore::ChromiumDataObject::setTextPlain):
        (WebCore::ChromiumDataObject::textHTML):
        (WebCore::ChromiumDataObject::setTextHTML):
        (WebCore::ChromiumDataObject::htmlBaseURL):
        (WebCore::ChromiumDataObject::setHTMLBaseURL):
        (WebCore::ChromiumDataObject::content):
        (WebCore::ChromiumDataObject::releaseContent):
        (WebCore::ChromiumDataObject::setContent):
        (WebCore::ChromiumDataObject::contentFileExtension):
        (WebCore::ChromiumDataObject::setContentFileExtension):
        (WebCore::ChromiumDataObject::contentFileName):
        (WebCore::ChromiumDataObject::setContentFileName):
        (WebCore::ChromiumDataObject::fileNames):
        (WebCore::ChromiumDataObject::setFileNames):
        (WebCore::ChromiumDataObject::takeFileNames):

2009-09-08  Pat Bradley  <vincent.bradley@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] locale date displays incorrect date format in symbian.
        https://bugs.webkit.org/show_bug.cgi?id=29032

        strftime() in Symbian does not support #
        Layout tests cannot be run on Symbian yet, so they are not updated.

        * runtime/DatePrototype.cpp:
        (JSC::formatLocaleDate):

2009-09-09  Rohini Ananth <rohini.ananth@nokia.com>

        Reviewed by Simon Hausmann.

        NPAPI Plugin NPP_AsFile not working on Qt Webkit
        https://bugs.webkit.org/show_bug.cgi?id=29068

        * platform/qt/FileSystemQt.cpp:
        (WebCore::openTemporaryFile)
        Autoremove property of QTemporaryFile has been set to false. Hence closeFile() just closes and does not delete the file.
        This solves the deletion of created temp file in PluginStream::destroyStream() before passing to plugin in NPP_AsFile.

2009-09-08  Oliver Hunt  <oliver@apple.com>

        Reviewed by NOBODY (Build fix).

        Remove a few incorrect changes I left in.

        * bindings/scripts/CodeGeneratorJS.pm:

2009-09-08  Oliver Hunt  <oliver@apple.com>

        Reviewed by Sam Weinig.

        Support numeric index getters in bindings
        https://bugs.webkit.org/show_bug.cgi?id=29067

        Add HasNumericIndexGetter to indicate a non-custom getter that
        returns a number.  The numeric index getter also uses PropertySlot's
        setValue rather than setCustomIndex to avoid an additional indirect
        call.

        * bindings/js/JSCanvasByteArrayCustom.cpp:
        * bindings/js/JSCanvasFloatArrayCustom.cpp:
        * bindings/js/JSCanvasIntArrayCustom.cpp:
        * bindings/js/JSCanvasShortArrayCustom.cpp:
        * bindings/js/JSCanvasUnsignedByteArrayCustom.cpp:
        * bindings/js/JSCanvasUnsignedIntArrayCustom.cpp:
        * bindings/js/JSCanvasUnsignedShortArrayCustom.cpp:
        * bindings/scripts/CodeGeneratorJS.pm:
        * html/canvas/CanvasByteArray.h:
        (WebCore::CanvasByteArray::item):
        * html/canvas/CanvasByteArray.idl:
        * html/canvas/CanvasFloatArray.h:
        (WebCore::CanvasFloatArray::get):
        (WebCore::CanvasFloatArray::item):
        * html/canvas/CanvasFloatArray.idl:
        * html/canvas/CanvasIntArray.h:
        (WebCore::CanvasIntArray::get):
        (WebCore::CanvasIntArray::item):
        * html/canvas/CanvasIntArray.idl:
        * html/canvas/CanvasPixelArray.idl:
        * html/canvas/CanvasShortArray.h:
        (WebCore::CanvasShortArray::get):
        (WebCore::CanvasShortArray::item):
        * html/canvas/CanvasShortArray.idl:
        * html/canvas/CanvasUnsignedByteArray.h:
        (WebCore::CanvasUnsignedByteArray::get):
        (WebCore::CanvasUnsignedByteArray::item):
        * html/canvas/CanvasUnsignedByteArray.idl:
        * html/canvas/CanvasUnsignedIntArray.h:
        (WebCore::CanvasUnsignedIntArray::get):
        (WebCore::CanvasUnsignedIntArray::item):
        * html/canvas/CanvasUnsignedIntArray.idl:
        * html/canvas/CanvasUnsignedShortArray.h:
        (WebCore::CanvasUnsignedShortArray::item):
        * html/canvas/CanvasUnsignedShortArray.idl:

2009-09-08  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fix for 2.8.

        * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
        (wxRenderer_DrawScrollbar):

2009-09-08  Jens Alfke  <snej@chromium.org>

        Reviewed by Eric Seidel.

        In Mac Chromium, clicking below the last line of an editable area (textarea or
        contenteditable) should put the caret at the end of the last line, as in Mac Safari.

        Tests: LayoutTests/editing/selection/click-in-margins-inside-editable-div.html
               LayoutTests/editing/selection/click-in-padding-with-multiple-line-boxes.html

        * page/Settings.cpp:
        (WebCore::Settings::Settings): Change #if PLATFORM_MAC to be Mac-Chrome-inclusive.

2009-09-08  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Mark Rowe.

        Make sure not to do an early return when a data URL stylesheet successfully loads.  We need to still
        clear the old cached sheet out of all existing Frames.  Fixes the data URL stylesheet layout test failure.

        * page/Page.cpp:
        (WebCore::Page::userStyleSheetLocationChanged):

2009-09-08  Sam Weinig  <sam@webkit.org>

        Fix windows build.

        * dom/Document.idl:

2009-09-08  Kevin Ollivier  <kevino@theolliviers.com>

        More robust wx build fix for 2.9.

        * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
        (wxRenderer_DrawScrollbar):

2009-09-08  Sam Weinig  <sam@webkit.org>

        Reviewed by Timothy Hatcher.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=27046
        Implement CSSOM DocumentView.caretRangeFromPoint

        Tests: fast/dom/Document/CaretRangeFromPoint/basic.html
               fast/dom/Document/CaretRangeFromPoint/replace-element.html

        * dom/Document.cpp:
        (WebCore::Document::caretRangeFromPoint):
        * dom/Document.h:
        * dom/Document.idl:

2009-09-08  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fix, generate derived sources earlier in order to make sure
        they're found by the build system when generating the list of sources to build.

        * wscript:

2009-09-08  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        <iterator> include in V8Proxy.h is spurious and causing ObjC compile issues for Chromium.

        Test: Chromium mac canary build is fixed.

        * bindings/v8/V8Proxy.h: Remove <iterator> include.

2009-09-08  Xan Lopez  <xlopez@igalia.com>

        Unreviewed attempt to fix the GTK+ build.

        * GNUmakefile.am:

2009-09-04  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=28987, make the Document cache the page's user stylesheet in
        parsed form.  Allows the sheet to survive across destruction/re-creation of the CSSStyleSelector.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        * css/CSSStyleSelector.h:
        * dom/Document.cpp:
        (WebCore::Document::attach):
        (WebCore::Document::pageUserSheet):
        (WebCore::Document::clearPageUserSheet):
        (WebCore::Document::recalcStyleSelector):
        * dom/Document.h:
        * loader/PlaceholderDocument.cpp:
        (WebCore::PlaceholderDocument::attach):
        * page/Page.cpp:
        (WebCore::Page::userStyleSheetLocationChanged):
        * page/Settings.cpp:
        (WebCore::Settings::setUserStyleSheetLocation):

2009-09-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Unreviewed buildfix.

        Fix Qt build after 48167, by adding the new cpp/h files
        added to WebCore.gypi to WebCore.pro as well.

        * WebCore.pro:

2009-09-08  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        should not pass URI fragments to libsoup
        https://bugs.webkit.org/show_bug.cgi?id=28687

        Strip the fragment from the URI before passing it to soup, since
        it forwards it to servers in some cases (like when using a proxy)
        which confuses them and makes them return 403/404.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::startHttp):
        (WebCore::):

2009-09-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Hausmann.

        Add QGraphicsScene events support to the Qt platform events.

        * platform/PlatformMouseEvent.h:
        * platform/PlatformWheelEvent.h:
        * platform/qt/PlatformMouseEventQt.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/qt/WheelEventQt.cpp:
        (WebCore::PlatformWheelEvent::applyDelta):
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):

2009-09-08  Michael Nordman  <michaeln@google.com>

        Reviewed by Eric Seidel.

        [Chromium] Cleanup: remove a few deprecated methods.
        https://bugs.webkit.org/show_bug.cgi?id=28960

        No new tests, just syntactic sugar.

        * platform/network/chromium/ResourceRequest.h:
        * platform/network/chromium/ResourceResponse.h:

2009-09-08  Yongjun Zhang  <yongjun.zhang@nokia.com>

        Reviewed by Ariya Hidayat.

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

        [Qt] make npapi.h compile in winscw compiler.

        Add XP_SYMBIAN macro to identify Symbian OS; this macro should be used for Symbian
        specific changes in npapi.h.
        Undefine XP_WIN when building for Symbian to avoid including Windows specific code.

        * bridge/npapi.h:

2009-09-08  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoff Garen.

        Web Inspector assertion failure related to marking
        https://bugs.webkit.org/show_bug.cgi?id=28997

        When wrapping the callback the JSInspectorCallbackWrapper creator was using
        inheritorID for the prototype structure which is unsafe for anything other
        than a pure JS object.  Instead we now create a new structure, which while
        inefficient is not problematic as this code is not hit frequently.

        * bindings/js/JSInspectorCallbackWrapper.cpp:
        (WebCore::JSInspectorCallbackWrapper::wrap):

2009-09-08  Kelly Norton  <knorton@google.com>

        Reviewed by Dimitri Glazkov.

        Add missing extension to the file entry in WebCore.vcproj.

        * WebCore.vcproj/WebCore.vcproj: Added "cpp".

2009-09-08  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        dataTransfer.types() should not return Files if file list is empty in the clipboard.
        https://bugs.webkit.org/show_bug.cgi?id=28891

        We change the behavior to handle the empty file list in order to match the spec.

        Tested by clipboard-file-access.html.

        * platform/mac/ClipboardMac.mm:
        (WebCore::addHTMLClipboardTypesForCocoaType):
        (WebCore::ClipboardMac::types):

2009-09-08  Steve VanDeBogart  <vandebo@chromium.org>

        Reviewed by Eric Seidel.

        Handle middle click in Chromium like QT
        https://bugs.webkit.org/show_bug.cgi?id=28696

        Tested by middle-click-onpaste.html.

        * platform/Pasteboard.h:
        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::getData):
        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::Pasteboard):
        (WebCore::Pasteboard::isSelectionMode):
        (WebCore::Pasteboard::setSelectionMode):
        (WebCore::Pasteboard::canSmartReplace):
        (WebCore::Pasteboard::plainText):
        (WebCore::Pasteboard::documentFragment):
        * platform/chromium/PasteboardPrivate.h:
        (WebCore::PasteboardPrivate::):

2009-09-08  Kelly Norton  <knorton@google.com>

        Reviewed by Eric Seidel.

        WebInspector: Adds a timeline agent to InspectorController that collects
        high-level timing data about event dispatch, layout, painting and HTML
        parsing and makes it available to Inspector.
        https://bugs.webkit.org/show_bug.cgi?id=25503

        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        * dom/Document.h:
        (WebCore::Document::inspectorTimelineAgent):
        * dom/Node.cpp:
        (WebCore::Node::dispatchGenericEvent):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::write):
        * inspector/DOMDispatchTimelineItem.cpp: Added.
        (WebCore::DOMDispatchTimelineItem::DOMDispatchTimelineItem):
        (WebCore::DOMDispatchTimelineItem::convertToScriptObject):
        * inspector/DOMDispatchTimelineItem.h: Added.
        (WebCore::DOMDispatchTimelineItem::~DOMDispatchTimelineItem):
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::enableTimeline):
        (WebCore::InspectorBackend::disableTimeline):
        (WebCore::InspectorBackend::timelineEnabled):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::setFrontendProxyObject):
        (WebCore::InspectorController::close):
        (WebCore::InspectorController::resetScriptObjects):
        (WebCore::InspectorController::enableTimeline):
        (WebCore::InspectorController::disableTimeline):
        (WebCore::InspectorController::timelineEnabled):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::timelineAgent):
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::timelineWasEnabled):
        (WebCore::InspectorFrontend::timelineWasDisabled):
        (WebCore::InspectorFrontend::addItemToTimeline):
        * inspector/InspectorFrontend.h:
        * inspector/InspectorTimelineAgent.cpp: Added.
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
        (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
        (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
        (WebCore::InspectorTimelineAgent::willLayout):
        (WebCore::InspectorTimelineAgent::didLayout):
        (WebCore::InspectorTimelineAgent::willRecalculateStyle):
        (WebCore::InspectorTimelineAgent::didRecalculateStyle):
        (WebCore::InspectorTimelineAgent::willPaint):
        (WebCore::InspectorTimelineAgent::didPaint):
        (WebCore::InspectorTimelineAgent::willWriteHTML):
        (WebCore::InspectorTimelineAgent::didWriteHTML):
        (WebCore::InspectorTimelineAgent::reset):
        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
        (WebCore::InspectorTimelineAgent::currentTimeInMilliseconds):
        (WebCore::InspectorTimelineAgent::sessionTimeInMilliseconds):
        * inspector/InspectorTimelineAgent.h: Added.
        * inspector/TimelineItem.cpp: Added.
        (WebCore::TimelineItem::TimelineItem):
        (WebCore::TimelineItem::addToTimeline):
        (WebCore::TimelineItem::convertToScriptObject):
        (WebCore::TimelineItem::convertChildrenToScriptArray):
        (WebCore::TimelineItem::addChildItem):
        * inspector/TimelineItem.h: Added.
        (WebCore::):
        (WebCore::TimelineItem::~TimelineItem):
        (WebCore::TimelineItem::previous):
        (WebCore::TimelineItem::releasePrevious):
        (WebCore::TimelineItem::setEndTime):
        (WebCore::TimelineItem::type):
        * inspector/front-end/TimelineAgent.js: Added.
        (WebInspector.TimelineAgent):
        (WebInspector.addItemToTimeline):
        (WebInspector.timelineWasEnabled):
        (WebInspector.timelineWasDisabled):
        * inspector/front-end/inspector.html:
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        (WebCore::FrameView::paintContents):
        * page/FrameView.h:
        (WebCore::FrameView::inspectorTimelineAgent):
        * page/Page.cpp:
        (WebCore::Page::inspectorTimelineAgent):
        * page/Page.h:

2009-09-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix unused variable warnings
        https://bugs.webkit.org/show_bug.cgi?id=29018

        No functional change, no tests.

        * history/qt/HistoryItemQt.cpp:
        (WebCore::HistoryItem::restoreState):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::putImageData):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::paintMenuList):

2009-09-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] Use the declaration order in initializer lists
        https://bugs.webkit.org/show_bug.cgi?id=29017

        No functional change, no new tests.

        * platform/graphics/qt/FontCacheQt.cpp:
        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):

2009-09-08  Kent Tamura  <tkent@chromium.org>

        Reviewed by Eric Seidel.

        Implement ValidityState::typeMismatch() for <input type=number>.
        https://bugs.webkit.org/show_bug.cgi?id=28934

        Test: fast/forms/ValidityState-typeMismatch-number.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::formStringToDouble):
        * html/HTMLInputElement.h:
        * html/ValidityState.cpp:
        (WebCore::ValidityState::typeMismatch):
        * html/ValidityState.h:

2009-09-08  Andras Becsi  <becsi.andras@stud.u-szeged.hu>

        Reviewed by Gustavo Noronha.

        [Gtk] Another attempt of a buildfix.

        * GNUmakefile.am: Modified. Remove some extra IDL files added in r48153.

2009-09-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] Make cursor set cleaner in QtWebKit Api: eliminate SetCursorEvent hack.
        https://bugs.webkit.org/show_bug.cgi?id=28865

        Save the QCursor as a property in WidgetQt::setCursor
        and actually change the cursor in QWebView::event() by making use
        of the QEvent::DynamicPropertyChange event type.
        When unsetCursor() is called on the QWidget we can fallback to
        the cursor set by WebCore.

        Patch by Kenneth Rohde Christiansen <kenneth@webkit.org> and
                 Antonio Gomes <antonio.gomes@openbossa.org> on 2009-09-07

        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::setCursor):

2009-09-08  Andras Becsi  <becsi.andras@stud.u-szeged.hu>

        Reviewed by Gustavo Noronha.

        [Gtk] Buildfix for build error introduced in r48150.

        * GNUmakefile.am: Modified. Added missing IDL files.

2009-09-08  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>

        Reviewed by Tor Arne Vestbø.

        [Qt] Buildfix. Build error caused by r48150.

        * WebCore.pro: missing IDL files added

2009-09-07  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Oliver Hunt.

        Update Canvas 3D implementation to match spec
        https://bugs.webkit.org/show_bug.cgi?id=29010

        This adds several new CanvasXXXArray classes each of which has a custom constructor
        and custom getters and setters. Also changed CanvasRenderingContext3D and GraphicsContext3D
        to match the new and changed API.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSCanvasArrayBufferConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasArrayBufferConstructor.h: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasByteArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasByteArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasByteArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasFloatArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasFloatArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasFloatArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasIntArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasIntArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasIntArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
        (WebCore::JSCanvasRenderingContext3D::bufferData):
        (WebCore::JSCanvasRenderingContext3D::bufferSubData):
        (WebCore::JSCanvasRenderingContext3D::texImage2D):
        (WebCore::JSCanvasRenderingContext3D::texSubImage2D):
        * bindings/js/JSCanvasShortArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasShortArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasShortArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasUnsignedByteArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasUnsignedByteArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasUnsignedByteArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasUnsignedIntArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasUnsignedIntArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasUnsignedIntArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasUnsignedShortArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasUnsignedShortArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSCanvasUnsignedShortArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::canvasArrayBuffer):
        (WebCore::JSDOMWindow::canvasByteArray):
        (WebCore::JSDOMWindow::canvasUnsignedByteArray):
        (WebCore::JSDOMWindow::canvasIntArray):
        (WebCore::JSDOMWindow::canvasUnsignedIntArray):
        (WebCore::JSDOMWindow::canvasShortArray):
        (WebCore::JSDOMWindow::canvasUnsignedShortArray):
        (WebCore::JSDOMWindow::canvasFloatArray):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):
        (WebCore::HTMLCanvasElement::paint):
        * html/canvas/CanvasArray.cpp: Added with properties svn:eol-style and svn:mime-type.
        * html/canvas/CanvasArray.h: Added with properties svn:eol-style and svn:mime-type.
        * html/canvas/CanvasArray.idl: Added.
        * html/canvas/CanvasArrayBuffer.cpp: Added with properties svn:eol-style and svn:mime-type.
        * html/canvas/CanvasArrayBuffer.h: Added with properties svn:eol-style and svn:mime-type.
        * html/canvas/CanvasArrayBuffer.idl: Added.
        * html/canvas/CanvasByteArray.cpp:
        * html/canvas/CanvasByteArray.h:
        * html/canvas/CanvasByteArray.idl:
        * html/canvas/CanvasFloatArray.cpp: Added with properties svn:eol-style and svn:mime-type.
        * html/canvas/CanvasFloatArray.h: Added with properties svn:eol-style and svn:mime-type.
        * html/canvas/CanvasFloatArray.idl: Added.
        * html/canvas/CanvasIntArray.cpp: Added with properties svn:eol-style and svn:mime-type.
        * html/canvas/CanvasIntArray.h: Added with properties svn:eol-style and svn:mime-type.
        * html/canvas/CanvasIntArray.idl: Added.
        * html/canvas/CanvasRenderingContext3D.cpp:
        (WebCore::CanvasRenderingContext3D::CanvasRenderingContext3D):
        (WebCore::CanvasRenderingContext3D::markContextChanged):
        (WebCore::CanvasRenderingContext3D::beginPaint):
        (WebCore::CanvasRenderingContext3D::endPaint):
        (WebCore::CanvasRenderingContext3D::reshape):
        (WebCore::CanvasRenderingContext3D::sizeInBytes):
        (WebCore::CanvasRenderingContext3D::bindTexture):
        (WebCore::CanvasRenderingContext3D::bufferData):
        (WebCore::CanvasRenderingContext3D::bufferSubData):
        (WebCore::CanvasRenderingContext3D::checkFramebufferStatus):
        (WebCore::CanvasRenderingContext3D::clear):
        (WebCore::CanvasRenderingContext3D::createBuffer):
        (WebCore::CanvasRenderingContext3D::createFramebuffer):
        (WebCore::CanvasRenderingContext3D::createTexture):
        (WebCore::CanvasRenderingContext3D::createProgram):
        (WebCore::CanvasRenderingContext3D::createRenderbuffer):
        (WebCore::CanvasRenderingContext3D::createShader):
        (WebCore::CanvasRenderingContext3D::deleteBuffer):
        (WebCore::CanvasRenderingContext3D::deleteFramebuffer):
        (WebCore::CanvasRenderingContext3D::deleteProgram):
        (WebCore::CanvasRenderingContext3D::deleteRenderbuffer):
        (WebCore::CanvasRenderingContext3D::deleteShader):
        (WebCore::CanvasRenderingContext3D::deleteTexture):
        (WebCore::CanvasRenderingContext3D::drawArrays):
        (WebCore::CanvasRenderingContext3D::drawElements):
        (WebCore::CanvasRenderingContext3D::getBoolean):
        (WebCore::CanvasRenderingContext3D::getBooleanv):
        (WebCore::CanvasRenderingContext3D::getBufferParameteri):
        (WebCore::CanvasRenderingContext3D::getBufferParameteriv):
        (WebCore::CanvasRenderingContext3D::getFloat):
        (WebCore::CanvasRenderingContext3D::getFloatv):
        (WebCore::CanvasRenderingContext3D::getFramebufferAttachmentParameteri):
        (WebCore::CanvasRenderingContext3D::getFramebufferAttachmentParameteriv):
        (WebCore::CanvasRenderingContext3D::getInteger):
        (WebCore::CanvasRenderingContext3D::getIntegerv):
        (WebCore::CanvasRenderingContext3D::getProgrami):
        (WebCore::CanvasRenderingContext3D::getProgramiv):
        (WebCore::CanvasRenderingContext3D::getProgramInfoLog):
        (WebCore::CanvasRenderingContext3D::getRenderbufferParameteri):
        (WebCore::CanvasRenderingContext3D::getRenderbufferParameteriv):
        (WebCore::CanvasRenderingContext3D::getShaderi):
        (WebCore::CanvasRenderingContext3D::getShaderiv):
        (WebCore::CanvasRenderingContext3D::getShaderInfoLog):
        (WebCore::CanvasRenderingContext3D::getShaderSource):
        (WebCore::CanvasRenderingContext3D::getTexParameterf):
        (WebCore::CanvasRenderingContext3D::getTexParameterfv):
        (WebCore::CanvasRenderingContext3D::getTexParameteri):
        (WebCore::CanvasRenderingContext3D::getTexParameteriv):
        (WebCore::CanvasRenderingContext3D::getUniformf):
        (WebCore::CanvasRenderingContext3D::getUniformfv):
        (WebCore::CanvasRenderingContext3D::getUniformi):
        (WebCore::CanvasRenderingContext3D::getUniformiv):
        (WebCore::CanvasRenderingContext3D::getUniformLocation):
        (WebCore::CanvasRenderingContext3D::getVertexAttribf):
        (WebCore::CanvasRenderingContext3D::getVertexAttribfv):
        (WebCore::CanvasRenderingContext3D::getVertexAttribi):
        (WebCore::CanvasRenderingContext3D::getVertexAttribiv):
        (WebCore::CanvasRenderingContext3D::getVertexAttribOffset):
        (WebCore::CanvasRenderingContext3D::texImage2D):
        (WebCore::CanvasRenderingContext3D::texParameterf):
        (WebCore::CanvasRenderingContext3D::texParameteri):
        (WebCore::CanvasRenderingContext3D::texSubImage2D):
        (WebCore::CanvasRenderingContext3D::uniform1f):
        (WebCore::CanvasRenderingContext3D::uniform1fv):
        (WebCore::CanvasRenderingContext3D::uniform1i):
        (WebCore::CanvasRenderingContext3D::uniform1iv):
        (WebCore::CanvasRenderingContext3D::uniform2f):
        (WebCore::CanvasRenderingContext3D::uniform2fv):
        (WebCore::CanvasRenderingContext3D::uniform2i):
        (WebCore::CanvasRenderingContext3D::uniform2iv):
        (WebCore::CanvasRenderingContext3D::uniform3f):
        (WebCore::CanvasRenderingContext3D::uniform3fv):
        (WebCore::CanvasRenderingContext3D::uniform3i):
        (WebCore::CanvasRenderingContext3D::uniform3iv):
        (WebCore::CanvasRenderingContext3D::uniform4f):
        (WebCore::CanvasRenderingContext3D::uniform4fv):
        (WebCore::CanvasRenderingContext3D::uniform4i):
        (WebCore::CanvasRenderingContext3D::uniform4iv):
        (WebCore::CanvasRenderingContext3D::uniformMatrix2fv):
        (WebCore::CanvasRenderingContext3D::uniformMatrix3fv):
        (WebCore::CanvasRenderingContext3D::uniformMatrix4fv):
        (WebCore::CanvasRenderingContext3D::useProgram):
        (WebCore::CanvasRenderingContext3D::validateProgram):
        (WebCore::CanvasRenderingContext3D::vertexAttrib1f):
        (WebCore::CanvasRenderingContext3D::vertexAttrib1fv):
        (WebCore::CanvasRenderingContext3D::vertexAttrib2f):
        (WebCore::CanvasRenderingContext3D::vertexAttrib2fv):
        (WebCore::CanvasRenderingContext3D::vertexAttrib3f):
        (WebCore::CanvasRenderingContext3D::vertexAttrib3fv):
        (WebCore::CanvasRenderingContext3D::vertexAttrib4f):
        (WebCore::CanvasRenderingContext3D::vertexAttrib4fv):
        (WebCore::CanvasRenderingContext3D::vertexAttribPointer):
        (WebCore::CanvasRenderingContext3D::viewport):
        * html/canvas/CanvasRenderingContext3D.h:
        * html/canvas/CanvasRenderingContext3D.idl:
        * html/canvas/CanvasShortArray.cpp: Added with properties svn:eol-style and svn:mime-type.
        * html/canvas/CanvasShortArray.h: Added with properties svn:eol-style and svn:mime-type.
        * html/canvas/CanvasShortArray.idl: Added.
        * html/canvas/CanvasTexture.cpp:
        (WebCore::CanvasTexture::CanvasTexture):
        * html/canvas/CanvasTexture.h:
        (WebCore::CanvasTexture::isCubeMapRWrapModeInitialized):
        (WebCore::CanvasTexture::setCubeMapRWrapModeInitialized):
        * html/canvas/CanvasUnsignedByteArray.cpp: Added with properties svn:eol-style and svn:mime-type.
        * html/canvas/CanvasUnsignedByteArray.h: Added with properties svn:eol-style and svn:mime-type.
         * html/canvas/CanvasUnsignedByteArray.idl: Added.
        * html/canvas/CanvasUnsignedIntArray.cpp: Added with properties svn:eol-style and svn:mime-type.
        * html/canvas/CanvasUnsignedIntArray.h: Added with properties svn:eol-style and svn:mime-type.
        * html/canvas/CanvasUnsignedIntArray.idl: Added.
        * html/canvas/CanvasUnsignedShortArray.cpp: Added with properties svn:eol-style and svn:mime-type.
        * html/canvas/CanvasUnsignedShortArray.h: Added with properties svn:eol-style and svn:mime-type.
        * html/canvas/CanvasUnsignedShortArray.idl: Added.
        * page/DOMWindow.idl:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/mac/GraphicsContext3DMac.cpp:
        (WebCore::GraphicsContext3D::beginPaint):
        (WebCore::GraphicsContext3D::endPaint):
        (WebCore::GraphicsContext3D::bindTexture):
        (WebCore::GraphicsContext3D::bufferData):
        (WebCore::GraphicsContext3D::bufferSubData):
        (WebCore::GraphicsContext3D::checkFramebufferStatus):
        (WebCore::GraphicsContext3D::drawArrays):
        (WebCore::GraphicsContext3D::drawElements):
        (WebCore::GraphicsContext3D::texParameterf):
        (WebCore::GraphicsContext3D::texParameteri):
        (WebCore::GraphicsContext3D::uniform1f):
        (WebCore::GraphicsContext3D::uniform1fv):
        (WebCore::GraphicsContext3D::uniform2f):
        (WebCore::GraphicsContext3D::uniform2fv):
        (WebCore::GraphicsContext3D::uniform3f):
        (WebCore::GraphicsContext3D::uniform3fv):
        (WebCore::GraphicsContext3D::uniform4f):
        (WebCore::GraphicsContext3D::uniform4fv):
        (WebCore::GraphicsContext3D::uniform1i):
        (WebCore::GraphicsContext3D::uniform1iv):
        (WebCore::GraphicsContext3D::uniform2i):
        (WebCore::GraphicsContext3D::uniform2iv):
        (WebCore::GraphicsContext3D::uniform3i):
        (WebCore::GraphicsContext3D::uniform3iv):
        (WebCore::GraphicsContext3D::uniform4i):
        (WebCore::GraphicsContext3D::uniform4iv):
        (WebCore::GraphicsContext3D::uniformMatrix2fv):
        (WebCore::GraphicsContext3D::uniformMatrix3fv):
        (WebCore::GraphicsContext3D::uniformMatrix4fv):
        (WebCore::GraphicsContext3D::vertexAttrib1f):
        (WebCore::GraphicsContext3D::vertexAttrib1fv):
        (WebCore::GraphicsContext3D::vertexAttrib2f):
        (WebCore::GraphicsContext3D::vertexAttrib2fv):
        (WebCore::GraphicsContext3D::vertexAttrib3f):
        (WebCore::GraphicsContext3D::vertexAttrib3fv):
        (WebCore::GraphicsContext3D::vertexAttrib4f):
        (WebCore::GraphicsContext3D::vertexAttrib4fv):
        (WebCore::GraphicsContext3D::vertexAttribPointer):
        (WebCore::GraphicsContext3D::getBoolean):
        (WebCore::GraphicsContext3D::getBooleanv):
        (WebCore::GraphicsContext3D::getFloat):
        (WebCore::GraphicsContext3D::getFloatv):
        (WebCore::GraphicsContext3D::getInteger):
        (WebCore::GraphicsContext3D::getIntegerv):
        (WebCore::GraphicsContext3D::getBufferParameteri):
        (WebCore::GraphicsContext3D::getBufferParameteriv):
        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteri):
        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
        (WebCore::GraphicsContext3D::getProgrami):
        (WebCore::GraphicsContext3D::getProgramiv):
        (WebCore::GraphicsContext3D::getRenderbufferParameteri):
        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
        (WebCore::GraphicsContext3D::getShaderi):
        (WebCore::GraphicsContext3D::getShaderiv):
        (WebCore::GraphicsContext3D::getTexParameterf):
        (WebCore::GraphicsContext3D::getTexParameterfv):
        (WebCore::GraphicsContext3D::getTexParameteri):
        (WebCore::GraphicsContext3D::getTexParameteriv):
        (WebCore::GraphicsContext3D::getUniformf):
        (WebCore::GraphicsContext3D::getUniformfv):
        (WebCore::GraphicsContext3D::getUniformi):
        (WebCore::GraphicsContext3D::getUniformiv):
        (WebCore::GraphicsContext3D::getVertexAttribf):
        (WebCore::GraphicsContext3D::getVertexAttribfv):
        (WebCore::GraphicsContext3D::getVertexAttribi):
        (WebCore::GraphicsContext3D::getVertexAttribiv):
        (WebCore::GraphicsContext3D::getVertexAttribOffset):
        (WebCore::GraphicsContext3D::texImage2D):
        (WebCore::GraphicsContext3D::texSubImage2D):
        (WebCore::GraphicsContext3D::sizeInBytes):

2009-09-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Timothy Hatcher.

        Make m_windowVisible more consistent with the actual visibility of the inspector.

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

2009-09-07  Adam Barth  <abarth@webkit.org>

        Unreviewed speculative build fix for Snow Leopard.

        * platform/GeolocationService.cpp:
        (WebCore::createGeolocationServiceNull):

2009-09-07  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        Adds a mock Geolocation service. This will be used to provide predictable behavior of the
        Geolocation API for use in LayoutTests. Later changes will integrate the the mock
        Geolocation service with DumpRenderTree.
        https://bugs.webkit.org/show_bug.cgi?id=28264

        The mock Geolocation service returns a fixed position or error. This position or error can be
        set through static methods on the GeolocationService class. The position or error is shared
        between all instances of the mock Geolocation service.

        Implementation details.
        The GeolocationService object maintains a pointer to a factory function which it uses to create
        Geolocation service instances. Each platform implementing Geolocation sets this pointer
        to the factory function for their platform's implementation. When the mock Geolocation service
        is activated, the factory function pointer is reset to the factory function for the mock service.

        Test: fast/dom/Geolocation/error.html

        * WebCore.base.exp: Modified. Exports GeolocationServiceMock methods.
        * GNUMakefile.am: Modified. Added GeolocationServiceMock files.
        * WebCore.gypi: Modified. Added GeolocationServiceMock files.
        * WebCore.pro: Modified. Added GeolocationServiceMock files.
        * WebCore.vcproj/WebCore.vcproj: Modified. Added GeolocationServiceMock files.
        * WebCore.vcproj/WebCoreCommon.vsprops: Modified. Added mock directory to includes.
        * WebCore.xcodeproj/project.pbxproj: Modified. Added GeolocationServiceMock files and exports some headers.
        * WebCoreSources.bkl: Modified. Added GeolocationServiceMock files.
        * page/ChromeClient.h: Modified. Fixed comment.
        * page/Geolocation.cpp: Modified.
        (WebCore::Geolocation::setIsAllowed): Modified. Fixed error string.
        * platform/GeolocationService.cpp: Modified.
        (WebCore::createGeolocationServiceNull): Added. Returns null in place of a Geolocation service. Used to avoid link errors on platforms where Geolocation is not implemented.
        (WebCore::GeolocationService::create): Added. Uses the factory function pointer to create a Geolocation service implementation.
        (WebCore::GeolocationService::useMock): Added. Configures the GeolocationServie to use the mock implementation.
        * platform/GeolocationService.h: Modified.
        * platform/mock: Added.
        * platform/mock/GeolocationServiceMock.cpp: Added.
        (WebCore::GeolocationServiceMock::create): Added. Creates a GeolocationServiceMock object.
        (WebCore::GeolocationServiceMock::GeolocationServiceMock): Added. Constructor.
        (WebCore::GeolocationServiceMock::~GeolocationServiceMock): Added. Destructor.
        (WebCore::GeolocationServiceMock::setPosition): Added. Sets the position that will be returned by the object.
        (WebCore::GeolocationServiceMock::setError): Added. Sets the error that will be returned by the object.
        (WebCore::GeolocationServiceMock::startUpdating): Added. GeolocationService implementation. Starts the service.
        (WebCore::GeolocationServiceMock::stopUpdating): Added. GeolocationService implementation. Stops the service.
        (WebCore::GeolocationServiceMock::timerFired): Added. Used to provide an asynchronous callback when the service is started.
        (WebCore::GeolocationServiceMock::makeGeolocationCallbackFromAllInstances): Added. Used to call back when the position or error is updated.
        (WebCore::GeolocationServiceMock::makeGeolocationCallback): Added. Used to call back when the service starts.
        (WebCore::GeolocationServiceMock::initStatics): Added. Initializes statics members with constructors.
        (WebCore::GeolocationServiceMock::cleanUpStatics): Added. Cleans up static members with constructors.
        * platform/mock/GeolocationServiceMock.h: Added.
        (WebCore::GeolocationServiceMock::lastPosition): Added. Returns the fixed position.
        (WebCore::GeolocationServiceMock::lastError): Added. Returns the fixed error.
        * platform/gtk/GeolocationServiceGtk.cpp: Modified.
        (WebCore::GeolocationServiceGtk::create): Added. Creates an instance of GeolocationServiceGtk.
        * platform/gtk/GeolocationServiceGtk.h: Modified.
        * platform/mac/GeolocationServiceMac.h: Modified.
        * platform/mac/GeolocationServiceMac.mm: Modified.
        (WebCore::GeolocationServiceMac::create): Added. Creates an instance of GeolocationServiceMac.

2009-09-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

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

        We need to be slightly more careful about how we pick up a script
        execution context.  In particular, we were getting the wrong document
        for frames that had been navigated somewhere else.

        In the long term, we should think about a better algorithm for
        computing the script context.

        Fixes LayoutTests/http/tests/xmlhttprequest/detaching-frame-2.html

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::retrieveFrame):

2009-09-07  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fix for 2.8 compilation.

        * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
        (wxRenderer_DrawScrollbar):

2009-09-07  Drew Wilson  <atwilson@google.com>

        Unreviewed build fix.

        Reverting r48121 to fix Windows build errors.

        * DerivedSources.cpp:
        * GNUmakefile.am:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        (WebCore::toEventTarget):
        * dom/EventTarget.cpp:
        * dom/EventTarget.h:
        * page/DOMWindow.idl:
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::connect):
        (WebCore::WebSocket::send):
        (WebCore::WebSocket::close):
        (WebCore::WebSocket::bufferedAmount):
        (WebCore::WebSocket::addEventListener):
        (WebCore::WebSocket::removeEventListener):
        (WebCore::WebSocket::dispatchEvent):
        (WebCore::WebSocket::didConnect):
        (WebCore::WebSocket::didReceiveMessage):
        (WebCore::WebSocket::didClose):
        (WebCore::WebSocket::dispatchOpenEvent):
        (WebCore::WebSocket::dispatchMessageEvent):
        (WebCore::WebSocket::dispatchCloseEvent):
        * websockets/WebSocket.h:
        (WebCore::WebSocket::create):
        (WebCore::WebSocket::):
        (WebCore::WebSocket::setOnopen):
        (WebCore::WebSocket::onopen):
        (WebCore::WebSocket::setOnmessage):
        (WebCore::WebSocket::onmessage):
        (WebCore::WebSocket::setOnclose):
        (WebCore::WebSocket::onclose):
        (WebCore::WebSocket::toWebSocket):
        (WebCore::WebSocket::refEventTarget):
        (WebCore::WebSocket::derefEventTarget):
        * websockets/WebSocketChannel.cpp: Removed.
        * websockets/WebSocketChannel.h: Removed.
        * websockets/WebSocketChannelClient.h: Removed.
        * websockets/WebSocketHandshake.cpp: Removed.
        * websockets/WebSocketHandshake.h: Removed.

2009-09-07  Drew Wilson  <atwilson@google.com>

        Unreviewed speculative build fix.

        Reverted previous build fix as it didn't fix the problem.

        * bindings/js/JSEventTarget.cpp:
        (WebCore::toEventTarget):

2009-09-07  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Unreviewed, build fix.

        [Qt] Fix build after SHARED_WORKERS are enabled by default (r48131)

        * WebCore.pro:

2009-09-07  Drew Wilson  <atwilson@google.com>

        Unreviewed build fix.

        Temporarily removed depenency between JSEventTarget.cpp and WebSocket.h in an attempt to fix a windows build break.

        * bindings/js/JSEventTarget.cpp:
        (WebCore::toEventTarget):

2009-09-07  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        Enable SHARED_WORKERS by default.
        https://bugs.webkit.org/show_bug.cgi?id=28959

        Tests (enabled in a separate patch):
               fast/workers/shared-worker-constructor.html
               fast/workers/shared-worker-context-gc.html
               fast/workers/shared-worker-event-listener.html
               fast/workers/shared-worker-exception.html
               fast/workers/shared-worker-frame-lifecycle.html
               fast/workers/shared-worker-gc.html
               fast/workers/shared-worker-lifecycle.html
               fast/workers/shared-worker-load-error.html
               fast/workers/shared-worker-location.html
               fast/workers/shared-worker-navigator.html
               fast/workers/shared-worker-replace-global-constructor.html
               fast/workers/shared-worker-replace-self.html
               fast/workers/shared-worker-shared.html
               fast/workers/shared-worker-simple.html
               http/tests/workers/shared-worker-importScripts.html
               http/tests/workers/shared-worker-redirect.html
               http/tests/xmlhttprequest/workers/shared-worker-close.html
               http/tests/xmlhttprequest/workers/shared-worker-methods-async.html
               http/tests/xmlhttprequest/workers/shared-worker-methods.html
               http/tests/xmlhttprequest/workers/shared-worker-xhr-file-not-found.html

        * config.h: Removed some whitespace/touched the file to force a full rebuild on the build-bots.
        * Configurations/FeatureDefines.xcconfig:
        * WebCore.pro:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.vcproj/build-generated-files.sh:
        * dom/DOMWindow.idl: Removed unnecessary whitespace to force a rebuild on the build-bots to pickup the flag change.
        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::SharedWorkerScriptLoader::load):
        Clean up bitrot in SharedWorker code - DenyCrossOriginRedirect is now DenyCrossOriginRequests.
        * workers/SharedWorkerContext.cpp:
        (WebCore::SharedWorkerContext::dispatchConnect):
        Clean up bitrot - updated SharedWorker code to reflect new MessageEvent API.

2009-09-07  Xan Lopez  <xlopez@igalia.com>

        Unreviewed build fix.

        Add new file to sources list.

        * GNUmakefile.am:

2009-09-07  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fixes for wx SVN trunk. 

        * config.h:
        * platform/wx/RenderThemeWx.cpp:
        (WebCore::RenderThemeWx::paintButton):
        * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
        (WebCore::drawTextWithSpacing):
        * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
        (wxRenderer_DrawScrollbar):

2009-09-07  Chris Hills <chaz@chaz6.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Use direct includes for Phonon, not the pretty ones

        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:

2009-09-07  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket API implementation.
        https://bugs.webkit.org/show_bug.cgi?id=28038
        
        Add build systems only for GNUmakefile.am and WebCore.xcodeproj now.
        Other build systems will be updated once the code is functional.
        Tests will be landed once the code is completed and functional.

        * DerivedSources.cpp:
        * GNUmakefile.am:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::webSocket):
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        (WebCore::toEventTarget):
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::toWebSocket):
        * dom/EventTarget.h:
        * page/DOMWindow.idl:
        * websockets/WebSocket.cpp:
        (WebCore::ProcessWebSocketEventTask::create):
        (WebCore::ProcessWebSocketEventTask::performTask):
        (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
        (WebCore::isValidProtocolString):
        (WebCore::WebSocket::connect):
        (WebCore::WebSocket::send):
        (WebCore::WebSocket::close):
        (WebCore::WebSocket::bufferedAmount):
        (WebCore::WebSocket::addEventListener):
        (WebCore::WebSocket::removeEventListener):
        (WebCore::WebSocket::dispatchEvent):
        (WebCore::WebSocket::didConnect):
        (WebCore::WebSocket::didReceiveMessage):
        (WebCore::WebSocket::didClose):
        (WebCore::WebSocket::dispatchOpenEvent):
        (WebCore::WebSocket::dispatchMessageEvent):
        (WebCore::WebSocket::dispatchCloseEvent):
        * websockets/WebSocket.h:
        (WebCore::WebSocket::create):
        (WebCore::WebSocket::):
        (WebCore::WebSocket::setOnopen):
        (WebCore::WebSocket::onopen):
        (WebCore::WebSocket::setOnmessage):
        (WebCore::WebSocket::onmessage):
        (WebCore::WebSocket::setOnclose):
        (WebCore::WebSocket::onclose):
        (WebCore::WebSocket::toWebSocket):
        (WebCore::WebSocket::eventListeners):
        (WebCore::WebSocket::refEventTarget):
        (WebCore::WebSocket::derefEventTarget):
        * websockets/WebSocketChannel.cpp: Added.
        * websockets/WebSocketChannel.h: Added.
        * websockets/WebSocketChannelClient.h: Added.
        * websockets/WebSocketHandshake.cpp: Added.
        * websockets/WebSocketHandshake.h: Added.

2009-09-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        https://bugs.webkit.org/show_bug.cgi?id=26854
        [GTK] Needs API to allow more control over outgoing requests

        Add infrastructure required to provide the new
        WebKitNetworkResponse object in our API.

        * GNUmakefile.am: Add new files to the build.
        * platform/network/soup/ResourceRequestSoup.cpp:
        (WebCore::ResourceRequest::updateFromSoupMessage):
        * platform/network/soup/ResourceResponse.h:
        * platform/network/soup/ResourceResponseSoup.cpp: Added.
        (WebCore::ResourceResponse::toSoupMessage):

2009-09-07  Mads Ager  <ager@chromium.org>

        Reviewed by Adam Barth.

        [V8] Cleanup document/frame null-checking in V8DOMWindowCustom.cpp
        https://bugs.webkit.org/show_bug.cgi?id=29009

        Be consistent in document and frame null checks.

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8Custom::WindowSetTimeoutImpl):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::V8Custom::ClearTimeoutImpl):

2009-09-07  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [Soup] Limit the number of connections
        https://bugs.webkit.org/show_bug.cgi?id=18431

        Increase the maximum number of per host and total connections to
        similar values than those used by the other modern browsers. Seems
        to significantly improve page loading time in many cases.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ensureSessionIsInitialized):

2009-09-07  Michael Nordman  <michaeln@google.com>

        Reviewed by Darin Fisher.

        Various minor chromium appcache modifications.
        https://bugs.webkit.org/show_bug.cgi?id=28960

        No new tests.

        * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
          Fix a null pointer exception.
        (WebCore::ACCESSOR_GETTER):
        * platform/network/chromium/ResourceRequest.h:
          Switch from appCache 'context' to 'host' terminology.
          Note: leaving the old deprecated accessors in place until the matching
          change in chrome is landed to use the new accessors.
        (WebCore::ResourceRequest::ResourceRequest):
        (WebCore::ResourceRequest::appCacheHostID):
        (WebCore::ResourceRequest::setAppCacheHostID):
        (WebCore::ResourceRequest::appCacheContextID):
        (WebCore::ResourceRequest::setAppCacheContextID):
        * platform/network/chromium/ResourceResponse.h:
          Add an appCacheManifestURL getter/setter.
          Drop the 'get' prefix from the appCacheID getter.
          Note: leaving the old deprecated 'get' prefixed accessor in place until the matching
          change in chrome is landed to use the new accessor.
        (WebCore::ResourceResponse::appCacheID):
        (WebCore::ResourceResponse::appCacheManifestURL):
        (WebCore::ResourceResponse::setAppCacheManifestURL):
        (WebCore::ResourceResponse::getAppCacheID):

2009-09-07  Michael Nordman  <michaeln@google.com>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=28359
        Cleanup: Undo some accidental changes around DOMApplicationCache.
        - Restore support for constructing a DOMApplicationCache object with a null frame ptr.
        - Return a non-null object for window.applicationCache when the feature is disabled.
        - Simplify the swapCache method.

        Test: http/tests/appcache/disabled.html

        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::DOMApplicationCache):
        (WebCore::DOMApplicationCache::swapCache):
        (WebCore::DOMApplicationCache::scriptExecutionContext):
        * loader/appcache/DOMApplicationCache.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::applicationCache):

2009-09-06  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        hostname and host are mixed up when manipulating anchor elements.
        https://bugs.webkit.org/show_bug.cgi?id=28954

        handle the case of port 0.

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::host):

2009-09-06  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Eric Seidel.

        Make hidden elements not focusable.

        Clean up supportsFocus and isFocusable.
        supportsFocus now strictly means that the node can be focused by default.
        This is true for links, form controls and content editable elements for example.
        isFocusable means that the user can actually focus it.
        All (2) calls to supportsFocus have been updated to take this into account.
        
        Make a elements without href work correctly as well.

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

        Tests: fast/events/click-focus-anchor.html
               fast/events/tab-focus-anchor.html
               fast/events/tab-focus-hidden.html

        * dom/Element.cpp:
        (WebCore::Element::focus):
        * dom/Node.cpp:
        (WebCore::Node::supportsFocus):
        (WebCore::Node::isFocusable):
        * dom/Node.h:
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::supportsFocus):
        (WebCore::HTMLAnchorElement::isMouseFocusable):
        (WebCore::HTMLAnchorElement::isKeyboardFocusable):
        * html/HTMLAnchorElement.h:
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::supportsFocus):
        * html/HTMLAreaElement.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::supportsFocus):
        * html/HTMLElement.h:
        * html/HTMLFieldSetElement.cpp:
        (WebCore::HTMLFieldSetElement::supportsFocus):
        * html/HTMLFieldSetElement.h:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::supportsFocus):
        (WebCore::HTMLFormControlElement::isFocusable):
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::supportsFocus):
        * html/HTMLFrameElementBase.h:
        * html/HTMLLegendElement.cpp:
        (WebCore::HTMLLegendElement::supportsFocus):
        * html/HTMLLegendElement.h:
        * html/HTMLOptGroupElement.cpp:
        (WebCore::HTMLOptGroupElement::supportsFocus):
        (WebCore::HTMLOptGroupElement::isFocusable):
        * html/HTMLOptGroupElement.h:
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::supportsFocus):
        (WebCore::HTMLOptionElement::isFocusable):
        * html/HTMLOptionElement.h:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::dispatchMouseEvent):
        * page/FocusController.cpp:
        (WebCore::FocusController::advanceFocus):
        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::supportsFocus):
        (WebCore::SVGAElement::isFocusable):
        * wml/WMLAElement.cpp:
        (WebCore::WMLAElement::supportsFocus):
        * wml/WMLAElement.h:
        * wml/WMLFormControlElement.cpp:
        (WebCore::WMLFormControlElement::supportsFocus):
        (WebCore::WMLFormControlElement::isFocusable):
        * wml/WMLFormControlElement.h:

2009-09-06  Joel Stanley  <joel@jms.id.au>

        Reviewed by Dimitri Glazkov.

        Expose functions to set the caret blink interval for Linux Chromium.
        Default value is set to that of RenderTheme::caretBlankInterval().
        Uses caretBlinkIntervalInternal to avoid overriding
        RenderThemeChromiumSkia::caretBlankInterval to preserve the disabling
        of blinking caret required for layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=28931

        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
        (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
        (WebCore::RenderThemeChromiumLinux::caretBlinkIntervalInternal):
        * rendering/RenderThemeChromiumLinux.h:

2009-09-06  Ada Chan  <adachan@apple.com>

        Remove an extra </File> in WebCore.vcproj.

        * WebCore.vcproj/WebCore.vcproj:

2009-09-06  Timothy Hatcher  <timothy@apple.com>

        Adds a persistent setting for color format in the Web Inspector.

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

        Reviewed by Dan Bernstein.

        * English.lproj/localizedStrings.js: New strings.
        * inspector/front-end/Color.js: Minor style fixes.
        (WebInspector.Color.prototype.toString): Added. Replaces the individual
        "toFoo" functions. Takes a optional arguments for the color format to return.
        * inspector/front-end/Images/paneSettingsButtons.png: Added.
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._changeColorFormat): Update the sections to show
        the new color format.
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay):
        Use the new toString function on Color.
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Use the persistent setting
        to format colors by default. Add a tooltip for the color swatch.
        * inspector/front-end/inspector.css: New styles for the settings menu.
        * inspector/front-end/inspector.js:
        (WebInspector.loaded): Initilize the colorFormat preference.

2009-09-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Eric Seidel.

        [Qt] Remove Qt v4.6 check from the prefetchDNS implementation
        https://bugs.webkit.org/show_bug.cgi?id=28993

        * platform/network/qt/DnsPrefetchHelper.cpp:
        * platform/network/qt/DnsPrefetchHelper.h:

2009-09-06  Cameron McCormack  <cam@mcc.id.au>

        Reviewed by Eric Seidel.

        Drop <definition-src> support
        https://bugs.webkit.org/show_bug.cgi?id=28991

        http://dev.w3.org/SVG/profiles/1.1F2/publish/changes.html#FontsChapter

        * DerivedSources.cpp: Remove references to definition-src.
        * DerivedSources.make: Ditto.
        * GNUmakefile.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/objc/DOM.mm:
        (WebCore::createElementClassMap): Ditto.
        * bindings/objc/DOMSVG.h: Ditto.
        * bindings/v8/DerivedSourcesAllInOne.cpp: Ditto.
        * bindings/v8/V8DOMWrapper.cpp: Ditto.
        * bindings/v8/V8Index.cpp: Ditto.
        * bindings/v8/V8Index.h: Ditto.
        * svg/SVGAllInOne.cpp: Ditto.
        * svg/SVGDefinitionSrcElement.cpp: Removed.
        * svg/SVGDefinitionSrcElement.h: Removed.
        * svg/SVGDefinitionSrcElement.idl: Removed.
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::rebuildFontFace): Don't search for
        definition-src child.
        * svg/svgtags.in: Remove definition-src.

2009-09-05  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        [Chromium] Roll out http://trac.webkit.org/changeset/48094, because the
        logic of retrieving default caret blink interval was incorrect (non-existent)
        and caused layout test flakiness.

        * rendering/RenderThemeChromiumLinux.cpp:
        * rendering/RenderThemeChromiumLinux.h:

2009-09-05  Jian Li  <jianli@chromium.org>

        Reviewed by NOBODY (Chromium reliability build break).

        Back up partial change in r48072 in order to fix chromium reliability build break.

        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::invokeEventHandler):

2009-09-05  Nicolas Weber  <thakis@chromium.org>

        Reviewed by Darin Fisher.

        https://bugs.webkit.org/show_bug.cgi?id=28975
        Fix file upload on chrome/mac. Images that have "Hide Extension" set,
        such as screenshots by default, can now be uploaded to sites such as
        imgur.com.

        * platform/FileSystem.h:
        Add pathGetDisplayFileName().
        * platform/chromium/FileChooserChromium.cpp:
        (WebCore::FileChooser::basenameForWidth):
        Call pathGetDisplayFileName() instead of pathGetFileName().
        * platform/chromium/FileSystemChromiumLinux.cpp:
        (WebCore::pathGetDisplayFileName):
        Implement pathGetDisplayFileName() by delegating to pathGetFileName().
        * platform/chromium/FileSystemChromiumMac.mm:
        (WebCore::pathGetFileName):
        Now returns a real filename instead of a presentational one, which
        fixes the problem addressed by this change.
        (WebCore::pathGetDisplayFileName):
        New function that returns a presentational filename; does what
        pathGetDisplayFileName() did prior to this patch.
        * platform/chromium/FileSystemChromiumWin.cpp:
        (WebCore::pathGetDisplayFileName):
        Implement pathGetDisplayFileName() by delegating to pathGetFileName().

2009-09-05  Joel Stanley  <joel@jms.id.au>

        Reviewed by David Levin.

        Expose functions to set the caret blink interval for Linux Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=28931

        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
        (WebCore::RenderThemeChromiumLinux::caretBlinkInterval):
        * rendering/RenderThemeChromiumLinux.h:

2009-09-04  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin.

        Prevent UI freeze in case when too many timers are in the timer queue.
        https://bugs.webkit.org/show_bug.cgi?id=23865

        The fix measures the elapsed time while executing timers. If we have too many
        timers and it takes significant time to fire, quit the loop and reschedule.
        This lets the run loop process user input (close the window for example).

        * platform/ThreadTimers.h:
        * platform/ThreadTimers.cpp:
        (WebCore::ThreadTimers::sharedTimerFiredInternal):
        (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
        Removed functions and members used before to grab a list of all expired timers.
        Now we fetch one by one, measuring time and quitting the loop if it takes too long.
        * platform/Timer.cpp:
        (WebCore::TimerBase::isActive):
        (WebCore::TimerBase::setNextFireTime):
        Since timers are now fired one by one, there is no need to keep track of updated timers.
        * manual-tests/input-starved-by-timers.html: Manual test that attempts to freeze browser by
        creating of enough timers. It then keeps UI frozen and after 10 seconds starts to drain the timers
        so the browser un-freezes. This is instead of a regular layout test because we don't have a way
        to inject an input events via regular run loop in DRT - instead they are directly dispatched by
        eventSender, which does not reproduce the UI freeze that happens with real input.

2009-09-04  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adele Peterson.

        <rdar://problem/7201063>
        
        Detach any custom scrollbars before detaching the document.
        
        * page/Frame.cpp:
        (WebCore::Frame::setView):

2009-09-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

                Unreviewed, build fix.

                Remove remaining references to UserStyleSheetLoader after r48075.

                * WebCore.gypi:
                * WebCore.xcodeproj/project.pbxproj:
                * page/qt/FrameQt.cpp:
                * page/wince/FrameWince.cpp:

2009-09-04  Michelangelo De Simone  <micdesim@gmail.com>

                Reviewed by David Levin.

                https://bugs.webkit.org/show_bug.cgi?id=28988
                Minor fix: "novalidate" attribute renamed in "noValidate", according to
                HTML5 specs:
                http://www.whatwg.org/specs/web-apps/current-work/#dom-fs-novalidate

                * html/HTMLFormElement.cpp:
                (WebCore::HTMLFormElement::noValidate):
                (WebCore::HTMLFormElement::setNoValidate):
                * html/HTMLFormElement.h:
                * html/HTMLFormElement.idl:

2009-09-04  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin.

        Remove unused line of code from WorkerContext
        https://bugs.webkit.org/show_bug.cgi?id=28990

        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::importScripts):

2009-09-04  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        Fix assertion seen when running buildbot.

        * bindings/js/JSDOMBinding.h:
        (WebCore::DOMObjectWithGlobalPointer::createStructure): Create the structure without
        the HasDefaultMark bit since this has a custom mark function.

2009-09-04  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=28984, remove the remote stylesheet loader on Mac/Qt.
        Make sure the other code path (now used by everybody) can handle data URLs.

        As per the post on webkit-dev, the ability to work remotely isn't working properly anyway (it doesn't
        hold up the pending sheet count, so you'd just FOUC on every Web page), and it's extremely unlikely
        that anybody is relying on this support.
        
        Tor Arne agreed it was ok to disable (he enabled it on the Qt side), and only Mac/Qt were using this
        code.

        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::userStyleSheet):
        * dom/Document.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::begin):
        * loader/UserStyleSheetLoader.cpp: Removed.
        * loader/UserStyleSheetLoader.h: Removed.
        * page/Frame.cpp:
        (WebCore::Frame::reapplyStyles):
        * page/Frame.h:
        * page/Page.cpp:
        (WebCore::Page::userStyleSheetLocationChanged):
        (WebCore::Page::userStyleSheet):
        * page/mac/FrameMac.mm:
        * page/qt/FrameQt.cpp:

2009-09-04  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Timothy Hatcher.

        Add "sampling profiler" preference, simplify data display when it's set.

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

        * inspector/front-end/ProfileDataGridTree.js:
        (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
        (WebInspector.ProfileDataGridNode.prototype.get data):
        * inspector/front-end/ProfileView.js:
        (WebInspector.ProfileView):
        * inspector/front-end/inspector.js:

2009-09-04  Jian Li  <jianli@chromium.org>

        Reviewed by Adam Barth.

        [V8] Run-time exception in onmessage handler is not forwarded to the worker object.
        https://bugs.webkit.org/show_bug.cgi?id=28980

        Tested by worker-close.html.

        * bindings/v8/ScriptFunctionCall.cpp:
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::invokeEventHandler):
        * bindings/v8/V8Utilities.cpp:
        (WebCore::getScriptExecutionContext):
        (WebCore::reportException):
        * bindings/v8/V8Utilities.h:
        (WebCore::getScriptExecutionContext):
        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8SharedWorkerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):

2009-09-04  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        Remove unused m_sheet variable and setCSSStyleSheet methods.

        * dom/Document.cpp:
        * dom/Document.h:

2009-09-04  Anders Carlsson  <andersca@apple.com>

        Reviewed by David Hyatt and Adele Peterson.

        (Based on a patch from Adele).
        
        Fix <rdar://problem/7185875>.
        
        * page/Frame.cpp:
        (WebCore::Frame::setView):
        Detach any custom scroll bars from the old view.
        
        * page/FrameView.cpp:
        (WebCore::FrameView::detachCustomScrollbars):
        Simplify the check (and make it work when body is null) by just checking that the scroll bar owner is
        not a RenderPart object.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::destroy):
        ASSERT that frame() is not null here and also add a null check so that release builds won't crash.

2009-09-04  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        Make m_userStyleSheetLoader in Frame an OwnPtr.

        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        (WebCore::Frame::~Frame):
        * page/Frame.h:
        * page/mac/FrameMac.mm:
        (WebCore::Frame::setUserStyleSheetLocation):
        (WebCore::Frame::setUserStyleSheet):

2009-09-04  Timothy Hatcher  <timothy@apple.com>

        Show color swatches in the Web Inspector before the color text so clicking them will not
        shift the swatch. Also makes multiple swatches in the single property toggle the color format.

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

        Reviewed by Darin Adler.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Some refactoring to consolidate
        the processing we do on the property value. This eliminated the old nickname code, since the new
        WebInspector.Color class handles this. We could also simplify the color regex since more
        is handled by the Color class. Also no longer uses innerHTML for the linkify code.
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processValue): Helper function to
        process a value given a regex and processor functions. 
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL): Make an anchor for the
        URL with "url()" syntax surrounding it.
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Makes a color, if
        there was an exception just return a text node.
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay.changeTo):
        Moved from later in the file.
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay): Ditto.
        * inspector/front-end/inspector.css:

2009-09-04  Mark Mentovai  <mark@chromium.org>

        Reviewed by Dave Hyatt.

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

        Account for scrollbar state changes that occur during layout.

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

        Perform a layout prior to checking whether the scrollbar modes are
        off, on, or automatic.  The modes may change during layout.

        * WebCore.base.exp:
        * WebCore.order:
        * page/Frame.cpp:
        (WebCore::Frame::createView):
        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::resetScrollbars):
        (WebCore::FrameView::layout):
        * page/FrameView.h:
        * platform/ScrollView.h:

        Eliminate duplicated (and incorrect) scrollbar mode tracking between
        FrameView and ScrollView.

2009-09-04  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        hostname and host are mixed up when manipulating anchor elements.
        https://bugs.webkit.org/show_bug.cgi?id=28954

        Swapped the implementation of host and hostname, and made sure not to return
        the port number if it is default for the given protocol. 
        FireFox also avoids returning the protocol number if it is default.

        Test: fast/dom/Element/hostname-host.html

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::host):
        (WebCore::HTMLAnchorElement::hostname):
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::isDefaultPortForProtocol):
        * page/SecurityOrigin.h:

2009-09-04  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler and Steve Falkenburg.

        Fix <rdar://problem/7192902>.

        Add the necessary plumbing for having QTMovieWin use WebCore timers.
        
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::TaskTimer::initialize):
        Create the timer and call QTMovieWin::setTaskTimerFuncs.
        
        (WebCore::TaskTimer::setTaskTimerDelay):
        Start the timer.
        
        (WebCore::TaskTimer::stopTaskTimer):
        Stop the timer.
        
        (WebCore::TaskTimer::fired):
        Call QTMovieWin::taskTimerFired().
        
        (WebCore::MediaPlayerPrivate::load):
        Initialize the Task timer.
        
        * platform/graphics/win/QTMovieWin.cpp:
        (updateTaskTimer):
        Call the global stopTaskTimer function and setTaskTimerDelay.
        
        (QTMovieWin::taskTimerFired):
        Make this a member function.
        
        (QTMovieWin::setTaskTimerFuncs):
        Set the global function pointers.
        
        (QTMovieWin::initializeQuickTime):
        (DllMain):
        No need to use the QT shared timer.
        * platform/graphics/win/QTMovieWin.h:

2009-09-04  Tony Chang  <tony@chromium.org>

        Reviewed by David Levin.

        Fix Chromium Win compile.  Missing return statement in
        WebCore::RenderThemeChromiumSkia::paintSliderThumb.
        https://bugs.webkit.org/show_bug.cgi?id=28974

        No new tests, build fix.

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintSliderThumb):

2009-09-04  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        [Chromium] Rolling out http://trac.webkit.org/changeset/48035, because it broke
        the build.
        https://bugs.webkit.org/show_bug.cgi?id=28696

2009-09-04  Anders Carlsson  <andersca@apple.com>

        Fix vcproj file.

        * WebCore.vcproj/WebCore.vcproj:

2009-09-03  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
        
        This patch adds new API for adding and removing user scripts from page groups.  User scripts
        are bundled together in isolated worlds (you can have multiple scripts together in the same
        world).

        Added userscripts/ directory for holding new tests (along with a simple test of script injection).

        * WebCore.base.exp:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluateInIsolatedWorld):
        * bindings/js/ScriptController.h:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::evaluateInIsolatedWorld):
        * bindings/v8/ScriptController.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::finishedParsing):
        (WebCore::FrameLoader::dispatchDocumentElementAvailable):
        * page/Frame.cpp:
        (WebCore::Frame::injectUserScripts):
        (WebCore::Frame::injectUserScriptsForWorld):
        * page/Frame.h:
        * page/PageGroup.cpp:
        (WebCore::PageGroup::~PageGroup):
        (WebCore::PageGroup::addUserScript):
        (WebCore::PageGroup::removeUserContentForWorld):
        (WebCore::PageGroup::removeAllUserContent):
        * page/PageGroup.h:
        (WebCore::PageGroup::userScripts):
        * page/UserScript.h: Added.
        (WebCore::UserScript::UserScript):
        (WebCore::UserScript::source):
        (WebCore::UserScript::url):
        (WebCore::UserScript::patterns):
        (WebCore::UserScript::worldID):
        (WebCore::UserScript::injectionTime):
        * page/UserScriptTypes.h: Added.
        (WebCore::):

2009-09-04  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26402
        Crashes when using a detached DocumentType node

        Test: fast/dom/DOMImplementation/detached-doctype.html

        DocumentType nodes are the only one that can have null document(), and they can never have
        children, so they are a degenerate case for NodeLists.

        * dom/Node.cpp:
        (WebCore::Node::childNodes): Don't try register node list with document if there's no
        document. Since there are no changes possible for a DocumentType's node list, this is not
        necessary.
        (WebCore::Node::registerDynamicNodeList): Ditto.
        (WebCore::Node::unregisterDynamicNodeList): Ditto. I couldn't find a scenario where this
        was invoked for a DocumentType node, but I also couldn't prove that it can't be (the
        de-registration code path that I saw taken was via Node destructor, and that already has
        a null check for document).

        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::addEventListener): Bail out if there is no document (just as we already do
        if there is no window).
        (WebCore::JSNode::removeEventListener): Ditto.

2009-09-04  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] loadFinished never emitted
        https://bugs.webkit.org/show_bug.cgi?id=28935

        Do not report errors right away from
        ResourceHandle::start. Instead return true and schedule an error
        to be reported in the handle later. Otherwise WebCore gets
        confused and thinks the resource never finished loading, making it
        not emit the finished status.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::startHttp):
        (WebCore::):

2009-09-04  Ben Murdoch  <benm@google.com>

        Reviewed by Eric Seidel.

        [V8] DOM Storage bindings: Event Handler should create StorageEvents
        https://bugs.webkit.org/show_bug.cgi?id=28942
        
        Tests:
        Causes the following tests that were failing with V8 to pass:
        * storage/domstorage/localstorage/onstorage-attribute-setwindow.html
        * storage/domstorage/localstorage/complex-keys.html
        * storage/domstorage/localstorage/onstorage-attribute-markup.html
        * storage/domstorage/localstorage/simple-events.html
        * storage/domstorage/localstorage/onstorage-attribute-set-attribute.html
        * storage/domstorage/localstorage/index-get-and-set.html
        * storage/domstorage/sessionstorage/onstorage-attribute-setwindow.html
        * storage/domstorage/sessionstorage/onstorage-attribute-markup.html
        * storage/domstorage/sessionstorage/simple-events.html
        * storage/domstorage/sessionstorage/onstorage-attribute-set-attribute.html
        * storage/domstorage/sessionstorage/index-get-and-set.html

        Code changes:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertEventToV8Object):  Create StorageEvents.
        * bindings/v8/custom/V8StorageCustom.cpp:
        (WebCore::storageGetter): Check if we are retrieving the length property and return the number of items in the object rather than a property named length when invoking the getItem() member of local/sessionStorage.

2009-09-03  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

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

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::dispatchOnInjectedScript):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.doEvalInWindow):
        (WebInspector.ConsoleView.prototype._formatarray):
        (WebInspector.ConsoleView.prototype._formatnode):
        * inspector/front-end/DOMAgent.js:
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
        (WebInspector.ElementsPanel.prototype.searchCanceled):
        (WebInspector.ElementsPanel.prototype.performSearch):
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.dispatch):
        * inspector/front-end/InjectedScriptAccess.js: Added.
        (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
        (InjectedScriptAccess._installHandler):
        * inspector/front-end/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane.prototype.update):
        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection.prototype.update):
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/inspector.html:

2009-09-04  Tony Chang  <tony@chromium.org>

        Reviewed by Eric Seidel.

        Implement <input type="range"> for Chromium Linux by painting
        the slider and the thumb using skia.
        https://bugs.webkit.org/show_bug.cgi?id=28928

        Covered by existing tests (we're currently hitting an assert for them).

        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
        * rendering/RenderThemeChromiumLinux.h:
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::drawVertLine):
        (WebCore::drawHorizLine):
        (WebCore::drawBox):
        (WebCore::RenderThemeChromiumSkia::paintSliderTrack):
        (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
        * rendering/RenderThemeChromiumSkia.h:

2009-09-04  Kent Tamura  <tkent@chromium.org>

        Reviewed by Eric Seidel.

        - Implement <input type=color> as a text field.
        - ValidityState::typeMismatch supports for type=color.
        https://bugs.webkit.org/show_bug.cgi?id=28966

        Tests: fast/forms/ValidityState-patternMismatch-unsupported.html
               fast/forms/ValidityState-typeMismatch-color.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::valueMissing):
        (WebCore::HTMLInputElement::patternMismatch):
        (WebCore::HTMLInputElement::setInputType):
        (WebCore::HTMLInputElement::formControlType):
        (WebCore::HTMLInputElement::saveFormControlState):
        (WebCore::HTMLInputElement::restoreFormControlState):
        (WebCore::HTMLInputElement::accessKeyAction):
        (WebCore::HTMLInputElement::rendererIsNeeded):
        (WebCore::HTMLInputElement::createRenderer):
        (WebCore::HTMLInputElement::appendFormData):
        (WebCore::HTMLInputElement::valueWithDefault):
        (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
        (WebCore::HTMLInputElement::defaultEventHandler):
        (WebCore::HTMLInputElement::isRequiredFormControl):
        (WebCore::HTMLInputElement::dataList):
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::):
        (WebCore::HTMLInputElement::isTextField):
        * html/ValidityState.cpp:
        (WebCore::ValidityState::typeMismatch):
        (WebCore::ValidityState::isValidColorString):
        * html/ValidityState.h:

2009-09-04  Mads Ager  <ager@chromium.org>

        Reviewed by David Levin.

        [V8] Crash when updating document cache
        https://bugs.webkit.org/show_bug.cgi?id=28965

        Initialization of a V8 JavaScript context can fail.  When that
        happens, do not attempt to update the document wrapper cache.

        This code path is exercised by http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::updateDocument):

2009-09-04  Yaar Schnitman  <yaar@chromium.org>

        Reviewed by Eric Seidel.

        Two bugs:

        https://bugs.webkit.org/show_bug.cgi?id=25489
        CSS property background-position is now serialized in shorthand string as
        background-position-x background-position-y, as the specification requires
        (See http://www.w3.org/TR/2008/WD-css3-background-20080910/#the-background-position).
        

        https://bugs.webkit.org/show_bug.cgi?id=26541
        CSS background-color is now be serialized before other background properties, 
        as CSS specification requires (See http://dev.w3.org/csswg/cssom/#css-value).  

        An existing layout test that accepted wrong order and skipped position test 
        had to be modified.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):

2009-09-03  Kent Tamura  <tkent@chromium.org>

        Reviewed by David Levin.

        Add support for HTMLTextAreaElement.textLength
        https://bugs.webkit.org/show_bug.cgi?id=28929

        Test: fast/forms/textarea-textlength.html

        * html/HTMLTextAreaElement.h:
        (WebCore::HTMLTextAreaElement::textLength):
        * html/HTMLTextAreaElement.idl:

2009-09-03  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/7180197>, https://bugs.webkit.org/show_bug.cgi?id=28822
        REGRESSION(r31231): Creating document with current document's DOCTYPE causes crashes

        Test: fast/dom/DOMImplementation/createDocument-with-used-doctype.html

        * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): Even though we
        cannot raise an exception immediately out of fear of breaking Acid3, we shouldn't use a
        DocumentType node in two documents.

2009-09-03  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        Page Cache should support pages with Frames.
        https://bugs.webkit.org/show_bug.cgi?id=13631

        Tests: fast/events/pageshow-pagehide-on-back-cached-with-frames.html
               fast/loader/frames-with-unload-handlers-in-page-cache.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::canCachePageContainingThisFrame):
        (WebCore::FrameLoader::logCanCacheFrameDecision):

2009-09-03  Steve VanDeBogart  <vandebo@chromium.org>

        Reviewed by Eric Seidel.

        Handle middle click in Chromium like QT
        https://bugs.webkit.org/show_bug.cgi?id=28696

        Tested by middle-click-onpaste.html.

        * platform/Pasteboard.h:
        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::getData):
        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::Pasteboard):
        (WebCore::Pasteboard::isSelectionMode):
        (WebCore::Pasteboard::setSelectionMode):
        (WebCore::Pasteboard::canSmartReplace):
        (WebCore::Pasteboard::plainText):
        (WebCore::Pasteboard::documentFragment):
        * platform/chromium/PasteboardPrivate.h:
        (WebCore::PasteboardPrivate::):

2009-09-03  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        More partial work towards "Page Cache should support pages with Frames"
        https://bugs.webkit.org/show_bug.cgi?id=13631

        Fix a bug where subframes weren't asked if they were cacheable.

        No new tests, especially since page caching for frames isn't turned on yet.
        A layout test will come in my next patch, which enables frames in the page cache.

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

2009-09-03  Adam Barth  <abarth@webkit.org>

        Reviewed by eric@webkit.org.

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

        Added mixed content methods to FrameLoaderClient.

        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::didDisplayInsecureContent):
        (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
        * loader/FrameLoaderClient.h:

2009-09-03  Kevin Watters  <kevinwatters@gmail.com>

        Reviewed by Kevin Ollivier.

        [wx] Frames support
        https://bugs.webkit.org/show_bug.cgi?id=19041

        * page/wx/EventHandlerWx.cpp:
        (WebCore::EventHandler::passMousePressEventToSubframe):
        (WebCore::EventHandler::passMouseMoveEventToSubframe):
        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
        (WebCore::EventHandler::passWheelEventToWidget):
        (WebCore::EventHandler::tabsToAllControls):
        (WebCore::EventHandler::passSubframeEventToSubframe):
        (WebCore::EventHandler::passMouseDownEventToWidget):
        * platform/wx/RenderThemeWx.cpp:
        (WebCore::nativeWindowForRenderObject):
        (WebCore::RenderThemeWx::paintButton):
        (WebCore::RenderThemeWx::paintTextField):
        (WebCore::RenderThemeWx::paintMenuList):
        (WebCore::RenderThemeWx::paintMenuListButton):
        * platform/wx/ScrollbarThemeWx.cpp: Added.
        (WebCore::ScrollbarTheme::nativeTheme):
        (WebCore::ScrollbarThemeWx::~ScrollbarThemeWx):
        (WebCore::ScrollbarThemeWx::scrollbarThickness):
        (WebCore::ScrollbarThemeWx::hasThumb):
        (WebCore::ScrollbarThemeWx::buttonSize):
        (WebCore::ScrollbarThemeWx::backButtonRect):
        (WebCore::ScrollbarThemeWx::forwardButtonRect):
        (WebCore::ScrollbarThemeWx::trackRect):
        (WebCore::ScrollbarThemeWx::paintScrollCorner):
        (WebCore::ScrollbarThemeWx::paint):
        * platform/wx/ScrollbarThemeWx.h: Added.
        (WebCore::ScrollbarThemeWx::hasButtons):
        * platform/wx/TemporaryLinkStubs.cpp:
        * platform/wx/wxcode/gtk/scrollbar_render.cpp: Added.
        (wxStyleForPart):
        (GetButtonWidget):
        (wxGetGdkWindowForDC):
        (wxRenderer_DrawScrollbar):
        * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp: Added.
        (wxScrollbarPartToHIPressedState):
        (wxRenderer_DrawScrollbar):
        * platform/wx/wxcode/scrollbar_render.h: Added.
        (calcThumbStartAndLength):
        * platform/wx/wxcode/win/non-kerned-drawing.cpp:
        (WebCore::drawTextWithSpacing):
        * platform/wx/wxcode/win/scrollbar_render.cpp: Added.
        (GraphicsHDC::GraphicsHDC):
        (GraphicsHDC::~GraphicsHDC):
        (GraphicsHDC::operator HDC):
        (getTSStateForPart):
        (wxRenderer_DrawScrollbar):
        * webcore-wx.bkl:

2009-09-03  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Page content is not displayed in case of HTTP status error
        https://bugs.webkit.org/show_bug.cgi?id=28949

        If the server sent content, show it to the user instead of an error,
        even if the HTTP status code is not success.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
        (WebCore::QNetworkReplyHandler::finish):
        (WebCore::QNetworkReplyHandler::forwardData):
        (WebCore::QNetworkReplyHandler::resetState):
        * platform/network/qt/QNetworkReplyHandler.h:

2009-09-03  Drew Wilson  <atwilson@google.com>

        Reviewed by Dimitri Glazkov.

        Need to update v8 bindings to support passing multiple ports to postMessage()
        https://bugs.webkit.org/show_bug.cgi?id=28839

        Added support for passing MessagePortArray to v8 bindings.

        New tests that now pass with V8:
               fast/events/message-port-multi.html
               fast/workers/worker-context-multi-port.html
               fast/workers/worker-multi-port.html

        * WebCore.gypi:
        Added V8MessageEventCustom.cpp and V8MessagePortCustom.h
        * bindings/v8/custom/V8CustomBinding.h:
        Added custom postMessage() handlers for various classes.
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::DOMWindowPostMessage):
        Added custom handler that supports MessagePortArray.
        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
        (WebCore::DedicatedWorkerContextPostMessage):
        Added custom handler that supports MessagePortArray.
        * bindings/v8/custom/V8MessageEventCustom.cpp: Added.
        (WebCore::MessageEventPorts):
        Added getter for ports attribute.
        (WebCore::MessageEventInitMessageEvent):
        Added custom handler that supports MessagePortArray.
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        (WebCore::MessagePortPostMessage):
        Added custom handler that supports MessagePortArray.
        (WebCore::getMessagePortArray):
        Added helper function that supports converting from a sequence-like object to a MessagePortArray.
        * bindings/v8/custom/V8MessagePortCustom.h: Added.
        Added declaration for getMessagePortArray().
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::WorkerPostMessage):
        Added custom handler that supports MessagePortArray.

2009-09-03  Drew Wilson  <atwilson@google.com>

        Reviewed by Sam Weinig.

        Need to update JS bindings and IDL files to support multiple message ports in postMessage()
        https://bugs.webkit.org/show_bug.cgi?id=28460

        Added new toJSSequence() API which validates that a JSValue meets the WebIDL criteria for a sequence.

        Tests: fast/events/message-port-multi.html
               fast/workers/worker-context-multi-port.html
               fast/workers/worker-multi-port.html

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        Added JSMessagePortCustom.h and JSMessageEventCustom.cpp.
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::toJSSequence):
        Added toJSSequence() API to do validation on sequence-like objects per WebIDL.
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::postMessage):
        Added custom handler for postMessage() that handles being passed MessagePortArrays.
        * bindings/js/JSDedicatedWorkerContextCustom.cpp:
        (WebCore::JSDedicatedWorkerContext::postMessage):
        Added custom handler for postMessage() that handles being passed MessagePortArrays.
        * bindings/js/JSMessageEventCustom.cpp: Added.
        (WebCore::JSMessageEvent::ports):
        Added custom ports() getter that converts from MessagePortArray to JSArray.
        (WebCore::JSMessageEvent::initMessageEvent):
        Added support for passing a MessagePortArray.
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::postMessage):
        Added custom handler for postMessage() that handles being passed MessagePortArray.
        (WebCore::fillMessagePortArray):
        New helper routine that validates/converts from a JS sequence o a WebCore::MessagePortArray.
        * bindings/js/JSMessagePortCustom.h: Added.
        * bindings/js/JSWorkerCustom.cpp:
        (WebCore::JSWorker::postMessage):
        Added custom handler for postMessage() that handles being passed MessagePortArray.
        * dom/MessageEvent.cpp:
        * dom/MessageEvent.h:
        (WebCore::MessageEvent::ports):
        Changed ports() to return a MessagePortArray* since this value can be null.
        * dom/MessageEvent.idl:
        Updated IDL to match HTML5 spec (now accepts MessagePortArrays instead of a solitary MessagePort).
        * dom/MessagePort.cpp:
        * dom/MessagePort.h:
        * dom/MessagePort.idl:
        Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
        * workers/DedicatedWorkerContext.cpp:
        * workers/DedicatedWorkerContext.h:
        * workers/DedicatedWorkerContext.idl:
        Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
        * workers/Worker.cpp:
        * workers/Worker.h:
        * workers/Worker.idl:
        Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).

2009-09-03  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Do not query non-function call frames for function name.

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

        * inspector/front-end/InjectedScript.js:
        (InjectedScript.CallFrameProxy):
        (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):

2009-09-03  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Crash after typing "clear" and pressing return in inspector console.

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

        * inspector/front-end/InjectedScript.js:
        (InjectedScript._clearConsoleMessages):
        (InjectedScript._inspectObject):
        (InjectedScript._ensureCommandLineAPIInstalled):

2009-09-03  Vitaly Repeshko  <vitalyr@chromium.org>

        Reviewed by Adam Barth.

        [V8] Squeezed out some performance from string conversion.
        https://bugs.webkit.org/show_bug.cgi?id=28945

        * bindings/v8/V8Binding.cpp:
        (WebCore::WebCoreStringResource::WebCoreStringResource):
        (WebCore::WebCoreStringResource::~WebCoreStringResource):
        (WebCore::WebCoreStringResource::data):
        (WebCore::WebCoreStringResource::length):
        (WebCore::WebCoreStringResource::atomicString):
        (WebCore::WebCoreStringResource::string):
        Avoid calling virtual length method. Be more explicit with
        external memory computation. Avoid function calls in data and
        length.
        (WebCore::):
        (WebCore::v8StringToWebCoreString):
        (WebCore::v8StringToAtomicWebCoreString):
        (WebCore::v8NonStringValueToWebCoreString):
        (WebCore::v8NonStringValueToAtomicWebCoreString):
        Avoid extra calls of WebCoreStringResource::toString. When
        AtomicString is computed pass it immediately when constructing
        WebCoreStringResource. Use inline buffer for small strings.
        * bindings/v8/V8Binding.h:
        (WebCore::v8ValueToWebCoreString):
        (WebCore::v8ValueToAtomicWebCoreString):
        (WebCore::toString):
        Inline dispatch of string vs. non-string values.

2009-09-03  Vitaly Repeshko  <vitalyr@chromium.org>

        Reviewed by Adam Barth.

        [V8] Inlined common case of V8IsolatedWorld::getEntered to speed
        up V8Proxy lookup.
        https://bugs.webkit.org/show_bug.cgi?id=28946

        * bindings/v8/V8IsolatedWorld.cpp:
        (WebCore::V8IsolatedWorld::getEnteredImpl):
        * bindings/v8/V8IsolatedWorld.h:
        (WebCore::V8IsolatedWorld::getEntered):

2009-09-03  Kent Tamura  <tkent@chromium.org>

        Reviewed by Eric Seidel.

        Fix a regression bug that maxLength doesn't work for IME input.
        https://bugs.webkit.org/show_bug.cgi?id=25253

        Tests: fast/forms/input-maxlength-ime-completed.html
               fast/forms/input-maxlength-ime-preedit.html

        * dom/InputElement.cpp:
        (WebCore::InputElement::handleBeforeTextInsertedEvent):
        * dom/InputElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
        * wml/WMLInputElement.cpp:
        (WebCore::WMLInputElement::defaultEventHandler):

2009-09-03  Cameron McCormack  <cam@mcc.id.au>

        Reviewed by Eric Seidel.

        Make SVGStyleElement title/media/type setters do something
        https://bugs.webkit.org/show_bug.cgi?id=28828

        Test: svg/dom/style-reflect.html

        * svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::setXmlspace): Actually change the attribute.
        (WebCore::SVGStyleElement::setType): Ditto.
        (WebCore::SVGStyleElement::setMedia): Ditto.
        (WebCore::SVGStyleElement::setTitle): Ditto.

2009-09-03  Ben Murdoch  <benm@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=28872
        
        Fixes a bug where handleEvent() in the V8 Custom SQL Statement Error binding would not return the correct result to WebCore after invoking the callback.

        Test: storage/statement-error-callback.html

        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
        (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): Return true from handleEvent() if the callback raised an exception or the callback itself returned true.

2009-09-03  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        [Haiku] Adding three font-specific files to WebCore:
        FontCustomPlatformData.cpp, FontCustomPlatformData.h,
        and FontPlatformData.h
        https://bugs.webkit.org/show_bug.cgi?id=28131

        * platform/graphics/haiku/FontCustomPlatformData.cpp: Added.
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        (WebCore::FontCustomPlatformData::fontPlatformData):
        (WebCore::createFontCustomPlatformData):
        * platform/graphics/haiku/FontCustomPlatformData.h: Added.
        (WebCore::FontCustomPlatformData::FontCustomPlatformData):
        * platform/graphics/haiku/FontPlatformData.h: Added.
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::font):
        (WebCore::FontPlatformData::size):
        (WebCore::FontPlatformData::bold):
        (WebCore::FontPlatformData::oblique):
        (WebCore::FontPlatformData::hashTableDeletedFontValue):

2009-09-02  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        More partial work towards "Page Cache should support pages with Frames"
        https://bugs.webkit.org/show_bug.cgi?id=13631

        No new tests. (No change in behavior, current tests pass).

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::stopLoading): Adopt the new enum form for FrameLoader::stopLoading().

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading): Take an enum to decide whether to dispatch no unload events,
          only unload, or unload and pagehide.
        (WebCore::FrameLoader::closeURL):
        (WebCore::FrameLoader::scheduleRedirection):
        (WebCore::FrameLoader::cachePageForHistoryItem): Call pageHidden().
        (WebCore::FrameLoader::pageHidden): Add to dispatch the pagehide event to all frames in the case
          where a page is added to the PageCache.
        * loader/FrameLoader.h:

        * loader/FrameLoaderTypes.h: Add an UnloadEventPolicy enum.

2009-09-02  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        More partial work towards "Page Cache should support pages with Frames"
        https://bugs.webkit.org/show_bug.cgi?id=13631

        - More CachedFrame destruction work.
        - Including related Frame and FrameLoader changes and cleanup.

        No new tests. (No change in behavior, current tests pass).

        * history/CachedFrame.cpp:
        (WebCore::CachedFrameBase::restore): Rebuild up the whole FrameTree when restoring.
        (WebCore::CachedFrame::CachedFrame): Tear down the entire FrameTree when caching.
        (WebCore::CachedFrame::destroy): For child frames that are being destroyed while in
          the PageCache, do lightweight cleanup to:
          A - Prevent referring to a stale Page object.
          B - Prevent World Leaks of WebKit objects.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopAllLoaders): stopAllLoaders() should never be called on Frames that are
          in the PageCache. ASSERT that fact.
        (WebCore::FrameLoader::open): Remove a bogus release-build workaround, as the comment right above it
          explains it is not effective, and it'd be better to see the crash locally instead of downstream.
        (WebCore::FrameLoader::closeAndRemoveChild): Make sure the owner element has a page pointer before
          referencing it.
        (WebCore::FrameLoader::detachFromParent): Use the new detachViewsAndDocumentLoader() call
        (WebCore::FrameLoader::detachViewsAndDocumentLoader): Does lightweight cleanup of client (WebKit) objects.
        * loader/FrameLoader.h:

        * page/Frame.cpp:
        (WebCore::Frame::detachFromPage): Simply clear the Page pointer without doing any other work.
        (WebCore::Frame::pageDestroyed): Use the new detachFromPage().
        * page/Frame.h:

2009-09-02  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Dimitri Glazkov

        [Chromium] Add 'icu::' qualifier in preparation for ICU upgrade to 4.2
        in Chromium. This is to fix a new file added in r28742 since the
        last patch for this issue.

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

        No change in the test result.

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

2009-09-02  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        [Chromium] Correct a typo to fix bustage, caused by r47991.
        https://bugs.webkit.org/show_bug.cgi?id=27933

        * platform/graphics/skia/ImageBufferSkia.cpp: Changed "Unpremultipled" to "Unmultiplied".

2009-09-02  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        [Chromium] Add a missing include to fix bustage, caused by r47991.
        https://bugs.webkit.org/show_bug.cgi?id=27933

        * platform/graphics/skia/ImageBufferSkia.cpp: Added SkColorPriv include.

2009-09-02  Jian Li  <jianli@chromium.org>

        Reviewed by Dimitri Glazkov.

        [Chromium] Implement file support for DragData.
        https://bugs.webkit.org/show_bug.cgi?id=28896

        * platform/chromium/DragDataChromium.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        (WebCore::DragData::containsCompatibleContent):

2009-09-02  Kevin Watters  <kevinwatters@gmail.com>

        Reviewed by Kevin Ollivier.

        Protect libcurl shared data with Mutex objects via curl_set_share_opt.
        https://bugs.webkit.org/show_bug.cgi?id=28920

        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::sharedResourceMutex):
        (WebCore::curl_lock_callback):
        (WebCore::curl_unlock_callback):
        (WebCore::ResourceHandleManager::ResourceHandleManager):

2009-09-02  Evan Stade  <estade@chromium.org>

        Reviewed by Eric Seidel.

        Expose functions to change the focus ring color for Linux Chromium

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

        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
        (WebCore::RenderThemeChromiumLinux::setFocusRingColor):
        (WebCore::RenderThemeChromiumLinux::platformFocusRingColor):
        * rendering/RenderThemeChromiumLinux.h:

2009-09-02  Dirk Schulze  <krit@webkit.org>

        Reviewed by Eric Seidel.

        SVG Filter premultiplied color support for getImageDate/putImageData
        [https://bugs.webkit.org/show_bug.cgi?id=27933]

        Patch to get premultiplied color support for Skia on getImageDate/putImageData.

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

2009-09-02  Brady Eidson  <beidson@apple.com>

        Forget to rename openInFrameloader() to open(), which was requested in Darin's review of my last patch.

        * history/CachedFrame.cpp:
        (WebCore::CachedFrameBase::restore):
        (WebCore::CachedFrame::open):
        * history/CachedFrame.h:
        * history/CachedPage.cpp:
        (WebCore::CachedPage::restore):

2009-09-02  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        In http://trac.webkit.org/changeset/47943 I added new header dependencies to FrameLoader.h.
        Removing them is a little trouble, but worth it going forward.
        The pattern of creating a "CachedFrameBase" as the interface CachedFrame provides to FrameLoader
        was suggested by Darin Adler.

        No new tests. (No change in behavior)

        Make CachedFrame inherit privately from CachedFrameBase, which becomes the interface FrameLoader uses:
        * history/CachedFrame.cpp:
        (WebCore::CachedFrameBase::CachedFrameBase):
        (WebCore::CachedFrameBase::~CachedFrameBase):
        (WebCore::CachedFrameBase::restore):
        (WebCore::CachedFrame::CachedFrame):
        (WebCore::CachedFrame::openInFrameLoader):
        * history/CachedFrame.h:
        (WebCore::CachedFrameBase::document):
        (WebCore::CachedFrameBase::view):
        (WebCore::CachedFrameBase::domWindow):
        (WebCore::CachedFrame::create):
        (WebCore::CachedFrame::documentLoader):
        (WebCore::CachedFrame::mousePressNode):

        Call the new ::openInFrameLoader() method on the CachedFrame, as CachedFrameBase is now the only
        thing capable of interacting with FrameLoader::open(CachedFrameBase):
        * history/CachedPage.cpp:
        (WebCore::CachedPage::restore):
        * history/CachedPage.h:
        (WebCore::CachedPage::documentLoader):

        Make ::open(CachedFrame) public, and change it to ::open(CachedFrameBase):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::open):
        * loader/FrameLoader.h:

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

        Reviewed by Eric Seidel.

        Cannot pres Enter to escape from bulleted list when <ul> is a child of <li>.
        https://bugs.webkit.org/show_bug.cgi?id=24866

        This patch modifies breakOutOfEmptyListItem to break out of a properly nested list
        (a list to break out of is inside another list item).

        When the empty list item appears at the end of another list item, WebKit breaks out of
        the outer list item, and adds new item below the outer list item.
        Otherwise, WebKit breaks out of the the inner list item and inserts new paragraph.

        Test: editing/execCommand/break-out-of-empty-list-item.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):

2009-09-02  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        More partial work towards "Page Cache should support pages with Frames"
        https://bugs.webkit.org/show_bug.cgi?id=13631

        This patch is primarily about the "CachedFrame tree" and making slightly different decisions
        based on whether a CachedFrame is the main frame or a subframe.

        - Store whether a CachedFrame represents the main frame or a subframe.
        - "Chop off the frame tree" for the main frame when creating its CachedFrame, as main frames 
          are reused and need to start new page loads with an empty frame tree.
        - Reattach the frame tree to the main frame when restoring it.
        - open() the cached subframes in their respective loaders when restoring.
        - Properly clear() and destroy() cached subframes.
        - When committing to a new page load, and after caching the previous page, only clear the
          FrameView for the main frame.

        Note that all of above will eventually be necessary as I continue to land this work in pieces,
        but doesn't actually change any behavior right now because we still refuse to even *try* to
        cache pages with frames.

        No new tests. No change in behavior, and current tests continue to pass.

        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame):
        (WebCore::CachedFrame::restore):
        (WebCore::CachedFrame::clear):
        (WebCore::CachedFrame::destroy):
        * history/CachedFrame.h:
        (WebCore::CachedFrame::isMainFrame):

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::clear):
        (WebCore::FrameLoader::open):
        * loader/FrameLoader.h:

2009-09-02  Brady Eidson  <beidson@apple.com>

        No review, build fix.

        http://trac.webkit.org/changeset/47976 broke the build.  
        Let's try compiling before we land things, shall we?

        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::SimpleFontData): Order the initialization list correctly.

2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>

        waf build fixes for Windows/MSVC.

        * wscript:

2009-09-02  Ben Murdoch  <benm@google.com>

        Unreviewed build fix for Chromium.

        Missed #including V8Proxy.h in WebCore/bindings/v8/V8Binding.cpp.

        * bindings/v8/V8Binding.cpp: add V8Proxy.h as an include

2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>

        waf build fix, don't define symbols we now grab from other sources.

        * platform/wx/TemporaryLinkStubs.cpp:

2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>

        Build fixes for PluginViewNone.cpp and a wx build fix for PluginView.cpp.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::stop):
        * plugins/PluginViewNone.cpp:
        (WebCore::PluginView::platformDestroy):

2009-09-02  Charles Wei  <charles.wei@torchmobile.com.cn>

        Reviewed by Eric Seidel.

        Fix the build failure of WebKit for Linux/Qt when WML is enabled

        No test cases needed since this just fixes the build problem.

        * wml/WMLElement.cpp:
        (WebCore::WMLElement::create):
        * wml/WMLTableElement.cpp:
        (WebCore::WMLTableElement::joinSuperflousColumns):
        (WebCore::WMLTableElement::padWithEmptyColumns):

2009-09-02 Yong Li <yong.li@torchmobile.com>

        Reviewed by Adam Barth.

        WINCE PORT: use shared buffer for custom font data
        https://bugs.webkit.org/show_bug.cgi?id=27734

        Refactored by Joe Mason <joe.mason@torchmobile.com>

        * loader/CachedFont.cpp:
        add WINCE to platforms using cached custom data
        * platform/graphics/opentype/OpenTypeUtilities.cpp:
        (WebCore::renameFont): implement for WinCE
        * platform/graphics/opentype/OpenTypeUtilities.h:
        build fixes
        * platform/graphics/wince/FontCustomPlatformData.cpp:
        (WebCore::setCustomFontCache): add accessor
        (WebCore::createFontCustomPlatformData): change param to SharedBuffer
        * platform/graphics/wince/FontCustomPlatformData.h:
        update function signatures 
 
2009-09-02 Yong Li <yong.li@torchmobile.com>

        Reviewed by Adam Barth.

        WINCE PORT: font-related build fixes and minor bugfixes
        https://bugs.webkit.org/show_bug.cgi?id=27734

        * platform/graphics/FontCache.h: declare functions added in https://bugs.webkit.org/show_bug.cgi?id=27509
        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::GlyphPageTreeNode::initializePage): fix ambiguous overload error in min/max on Windows
        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::SimpleFontData): initialize member vars
        * platform/graphics/SimpleFontData.h: disable unused members on Wince to save space 

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

        Reviewed by Adam Barth.

        Another pass at releasing the storage mutex.
        https://bugs.webkit.org/show_bug.cgi?id=28904

        Another pass at releasing the storage mutex (when applicable) when we finish
        executing JavaScript.  http://dev.w3.org/html5/spec/Overview.html#storage-mutex
        describes the required behavior.

        As it turns out, https://bugs.webkit.org/show_bug.cgi?id=28789 didn't solve
        the problem correctly.  First of all, I missed that events and timeouts go
        through a different call path.  Second of all, I didn't consider recursion
        correctly.  Third of all, my check to see if LocalStorage is alive actually
        instantiates it if it isn't yet.  Fourth, I forgot DOM_STORAGE guards around
        it.  So I'm reverting that change completely and doing it more cleanly.
        Unfortunately, the solution isn't as portable (and thus I've left out the JSC
        implementation for now).

        NOTE: This change now tracks recursion on function callbacks in V8.  I ran this
        by Mads Ager and Mike Belshe and they seemed to think adding the checks were
        fine.  Most callbacks are asynchronous and thus wouldn't be nested.  The few
        scenareos where you can have nested callbacks probably should have always been
        protected by a recursion guard.

        Unfortunately, this can't be tested without a hook added to the layout test
        controllers since the lock is (by design) not supposed to be observable by
        JavaScript.  https://bugs.webkit.org/show_bug.cgi?id=28906

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluate): revert
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::evaluate): revert
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::runScript):
            Add releaseStorageMutex call.  A small amount of clean up.
        (WebCore::V8Proxy::callFunction):
            Add releaseStorageMutex call.  A small amount of clean up.
        (WebCore::V8Proxy::releaseStorageMutex):
            Check to see if localStorage has been instantiated.  If so, tell it to
            unlock all storage areas.
        * bindings/v8/V8Proxy.h:
        * page/PageGroup.h:
        (WebCore::PageGroup::hasLocalStorage):  Make hasLocalStorage public.

2009-09-02  Yong Li  <yong.li@torchmobile.com>

        Reviewed by Adam Barth.

        WINCE PORT: Implement ImageBuffer for WINCE
        Implement Image interface with a light class BufferedImage
        for rendering ImageBuffer
        https://bugs.webkit.org/show_bug.cgi?id=28167

        * platform/graphics/wince/ImageBufferData.h: Added.
        * platform/graphics/wince/ImageBufferWince.cpp: Added.

2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Eric Seidel.

        Join the various PluginView destructors into one shared implementation

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

        The Qt port used to delete the platform plugin widget as the last step.
        Now this is done before cleaning up the script objects and unloading the
        plugin package, similar to how the Win port does it.

        * plugins/PluginView.cpp:
        * plugins/PluginViewNone.cpp:
        * plugins/gtk/PluginViewGtk.cpp:
        * plugins/mac/PluginViewMac.cpp:
        * plugins/qt/PluginViewQt.cpp:
        * plugins/win/PluginViewWin.cpp:

2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Eric Seidel.

        Share PluginView::init() between ports

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

        The port-spesific bits are moved to platformStart(), which now returns
        a bool based on the success of the platformStart.

        m_hasPendingGeometryChange is now initialized in the initializer list
        instead of in PluginViewQt's init()

        PluginViewMac (currently used only by the Qt port) used to manually call
        stop() in the case where an unsupported drawing or event model was detected.
        This was wrong, as the m_status and m_isStarted fields should be used to
        guard against doing operations on a plugin in this intermediate state.

        * plugins/PluginView.cpp:
        * plugins/PluginView.h:
        * plugins/PluginViewNone.cpp:
        * plugins/gtk/PluginViewGtk.cpp:
        * plugins/mac/PluginViewMac.cpp:
        * plugins/qt/PluginViewQt.cpp:
        * plugins/win/PluginViewWin.cpp:

2009-09-02  Ben Murdoch  <benm@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=28737
        
        Update JavaScript bindings in JSC and V8 for SQLTransaction to throw exceptions in the right places.

        * bindings/js/JSSQLTransactionCustom.cpp:
        (WebCore::JSSQLTransaction::executeSql): Throw an exception if no parameters are passed to executeSql().
        * bindings/v8/V8Binding.cpp:
        (WebCore::v8ValueToWebCoreString): Catch an exception if thrown from toString().
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL): Allow "arrayish objects" to be passed to executeSql.

2009-09-01  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Migrate Databases tab to InjectedScript /
        serialized interaction.

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

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::handleEvent):
        * inspector/front-end/Database.js:
        (WebInspector.Database.prototype.isDB):
        (WebInspector.Database.prototype.runWithTableNames.sortingCallback):
        (WebInspector.Database.prototype.runWithTableNames):
        (WebInspector.Database.prototype.executeSql):
        (WebInspector.Database.prototype.executeSql.errorCallback):
        (WebInspector.Database.prototype.executeSql.queryTransaction):
        * inspector/front-end/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
        (WebInspector.DatabaseQueryView.prototype._queryFinished):
        * inspector/front-end/DatabaseTableView.js:
        (WebInspector.DatabaseTableView):
        * inspector/front-end/StoragePanel.js:
        (WebInspector.StoragePanel.prototype.selectDatabase):
        (WebInspector.StoragePanel.prototype.updateDatabaseTables.withTableNames):
        (WebInspector.StoragePanel.prototype.updateDatabaseTables):
        (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate.withTableNames):
        (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate):

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

        Not reviewed (trivial followup fix). 
        
        Web Inspector: Trivial follow up fix to r47944.

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

        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::nodeForId):

2009-09-01  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by John Sullivan.

        Fixed a bug in handling of isReadOnly, where textareas were casted to HTMLInputElements.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isReadOnly):

2009-09-01  Patrick Mueller  <Patrick_Mueller@us.ibm.com>

        Reviewed by Timothy Hatcher.

        https://bugs.webkit.org/show_bug.cgi?id=28047
        add utility method to enable logging messages for inspector development

        manual test case added (see below)

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage.prototype.toMessageElement):
        (WebInspector.ConsoleMessage.prototype.toString):
        * inspector/front-end/inspector.css:
        * inspector/front-end/inspector.js:
        (WebInspector.log):
        * manual-tests/inspector/webinspector-log.html: Added.
        * page/Console.cpp:
        (WebCore::printMessageSourceAndLevelPrefix):
        * page/Console.h:
        (WebCore::):

2009-09-01  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=21990
        When a rare EUC-JP character is present, explicitly (and correctly) labelled EUC-JP document
        is mistreated as Shift_JIS

        <rdar://problem/5828506> Safari should not try auto-detecting if charset information exists

        WebKit used to unconditionally auto-detect document encoding if it was one of Japanese ones.
        This didn't really match any browser, and did cause problems on some sites.

        Our detector is very quick to label an EUC-JP page as Shift_JIS if it notices a byte that
        cannot be part of EUC-JP source. However, such bytes do appear in Web pages sometimes,
        especially in comments. Also, some valid EUC-JP sequences are not known to it.

        Some pages that are fixed by this change:

        <rdar://problem/5934750> Encoding in incorrect at http://cocodeparis.blog45.fc2.com/. This
        page has incorrect encoding in title, so no browser displays it 100% fine. We now match
        Firefox and IE.

        <rdar://problem/6007713> The web page http://www.sf.us.emb-japan.go.jp/top.htm is garbled
        in Safari. There is a stray byte in comments that was makes charset detector think it can't
        be EUC-JP.

        <rdar://problem/6965711> A Japanese web page www.nippontv.studiolegend.tv is garbled in
        Safari. Many comments on this page are encoded as Shift_JIS - IE magically displays that
        fine in View Source mode (it doesn't seem to have an ability to switch between EUC-JP and
        Shift_JIS in normal HTML view though).

        Test: fast/encoding/japanese-encoding-mix.html

        * loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::decode): Only invoke auto-
        detection if there is no solid charset information yet.

2009-09-01  Jian Li  <jianli@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] FileList cannot be accessed via index in Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=28883

        Tested by clipboard-file-access.html.

        * WebCore.gypi:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate):
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8FileListCustom.cpp: Added.

2009-08-31  Jon Honeycutt  <jhoneycutt@apple.com>

        Remove the workaround added in r47316.

        Reviewed by Sam Weinig.

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::AXObjectCache):

        * accessibility/AXObjectCache.h:
        Remove the Document argument to the AXObjectCache constructor and the
        m_document member variable, and replace the no-parameter
        handleFocusedUIElementChanged() with the two-parameter GTK function.
        (WebCore::AXObjectCache::handleFocusedUIElementChanged):

        * accessibility/chromium/AXObjectCacheChromium.cpp:
        (WebCore::AXObjectCache::handleFocusedUIElementChanged):

        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::AXObjectCache::handleFocusedUIElementChanged):

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (fallbackObject):
        Don't pass a null Document when constructing the AXObjectCache.

        * accessibility/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::handleFocusedUIElementChanged):

        * accessibility/win/AXObjectCacheWin.cpp:
        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
        Get the document from the RenderObject; m_document was removed.

        * dom/Document.cpp:
        (WebCore::Document::axObjectCache):
        Don't pass the Document when constructing the AXObjectCache.
        (WebCore::Document::setFocusedNode):
        Pass the old and new focused RenderObjects when calling
        handleFocusedUIElementChanged().

2009-09-01  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Timothy Hatcher.

        Check that InspectorDOMAgent and InspectorFrontend are not null
        before accessing them in InspectorBackend. They may be null if
        InspectorController is closed before an asynchronous operation is
        started.

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

        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::getCookies):
        (WebCore::InspectorBackend::getChildNodes):
        (WebCore::InspectorBackend::setAttribute):
        (WebCore::InspectorBackend::removeAttribute):
        (WebCore::InspectorBackend::setTextNodeValue):
        (WebCore::InspectorBackend::highlight):
        (WebCore::InspectorBackend::nodeForId):
        (WebCore::InspectorBackend::pushNodePathToFrontend):
        (WebCore::InspectorBackend::addNodesToSearchResult):
        (WebCore::InspectorBackend::selectDatabase):
        (WebCore::InspectorBackend::selectDOMStorage):
        (WebCore::InspectorBackend::inspectorDOMAgent):
        (WebCore::InspectorBackend::inspectorFrontend):
        * inspector/InspectorBackend.h:

2009-09-01  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        Page Cache should support pages with frames
        https://bugs.webkit.org/show_bug.cgi?id=13631

        Things learned in the full task that this patch addresses:
        - The notions of clearing a CachedFrame and destroying a CachedFrame were two concepts that 
          needed to be managed separately.
        - Once we start restoring pages with multiple CachedFrames, we'll have to be calling
          FrameLoader::open(CachedFrame&) multiple times with different CachedFrames, and this process
          will be guided by the CachedFrames themselves.

        No new tests. (No change in behavior, current layout tests pass)
        
        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame):
        (WebCore::CachedFrame::~CachedFrame):
        (WebCore::CachedFrame::clear): Only clear pointers out.
        (WebCore::CachedFrame::destroy): Perform the destructive cleanup work here - Things that shouldn't
          occur simply by navigating back to a page with a CachedFrame.
        * history/CachedFrame.h:

        * history/CachedPage.cpp:
        (WebCore::CachedPage::~CachedPage):
        (WebCore::CachedPage::restore): Call clear() after restoring.
        (WebCore::CachedPage::clear):
        (WebCore::CachedPage::destroy):
        * history/CachedPage.h:

        * history/PageCache.cpp:
        (WebCore::PageCache::releaseAutoreleasedPagesNow): destroy() CachedPages that are being pruned,
          instead of clearing them.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::commitProvisionalLoad): Let the CachedPage clear() itself after restoring.
        (WebCore::FrameLoader::open): Don't ::open() the CachedFrame, as the CachedPage does that now.
        * loader/FrameLoader.h:  Add the friending so CachedPage and CachedFrame can better guide the process.
          Even though CachedFrame::restore() isn't used for now, it will be soon.

2009-09-01  Andrei Popescu  <andreip@google.com>

        Reviewed by David Levin.

        Add a "lowMemoryNotification" method to the V8 ScriptController class.
        This is needed in order to allow the host application (Android Web browser in this case)
        to call the v8::V8::LowMemoryNotification() method added to V8 in
        http://code.google.com/p/v8/source/detail?spec=svn2777&r=2725
        
        https://bugs.webkit.org/show_bug.cgi?id=28776


        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::lowMemoryNotification):
        * bindings/v8/ScriptController.h:

2009-09-01  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Adam Barth.

        V8 Bindings for WebSocket API.
        https://bugs.webkit.org/show_bug.cgi?id=28844

        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate):
        (WebCore::V8DOMWrapper::convertToV8Object):
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        * bindings/v8/V8DOMWrapper.h:
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8WebSocketCustom.cpp: Added.

2009-09-01  Peter Kasting  <pkasting@google.com>

        Unreviewed (build fix).

        Missed a "." -> "->" conversion.

        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::ReadContext::ReadContext):

2009-09-01  Peter Kasting  <pkasting@google.com>

        Unreviewed (build fix).

        Try to fix Qt build, take 2.  The Qt code had what looks like a
        broken virtual function override.

        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::ReadContext::ReadContext):
        (WebCore::ImageDecoderQt::setData):
        * platform/graphics/qt/ImageDecoderQt.h:

2009-09-01  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Uninitialized variable in XSSAuditor
        https://bugs.webkit.org/show_bug.cgi?id=28874

        One ought to initialize variables before use even when it doesn't
        matter.  No behavior change.

        * page/XSSAuditor.h:
        (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer):

2009-09-01  Peter Kasting  <pkasting@google.com>

        Unreviewed (build fix).

        Try to fix Qt build.

        * platform/graphics/ImageSource.cpp:

2009-08-28  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=27965
        Eliminate most of ImageSourceQt.cpp in favor of ImageSource.cpp.

        * WebCore.pro:
        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::frameHasAlphaAtIndex):
        * platform/graphics/qt/ImageSourceQt.cpp:
        (WebCore::ImageSource::createFrameAtIndex):
        (WebCore::ImageSource::frameHasAlphaAtIndex):
        (WebCore::ImageSource::frameIsCompleteAtIndex):

2009-09-01  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Make InjectedScript self-contained (move necessary
        methods from utilities.js into InjectedScript).

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

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.generateStylesheet):
        * inspector/front-end/InjectedScript.js:
        (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
        (InjectedScript._ensureCommandLineAPIInstalled):
        (InjectedScript.pushNodeToFrontend):
        (InjectedScript.createProxyObject):
        (Object.type):
        (Object.hasProperties):
        (Object.className):
        (String.prototype.escapeCharacters):
        * inspector/front-end/utilities.js:

2009-09-01  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: console log message repeat count double.

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

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

2009-09-01  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Mark Rowe.

        [Gtk] Fix DATALIST build
        https://bugs.webkit.org/show_bug.cgi?id=28826

        Add ENABLE_DATALIST to FEATURE_DEFINES.

        * GNUmakefile.am:

2009-09-01  Cameron McCormack  <cam@mcc.id.au>

        Reviewed by Eric Seidel.

        SVGSVGElement suspend methods argument/return types incorrect
        https://bugs.webkit.org/show_bug.cgi?id=28860

        Also fix the style of the argument names.

        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::suspendRedraw):
        (WebCore::SVGSVGElement::unsuspendRedraw):
        * svg/SVGSVGElement.h:

2009-09-01  Roland Steiner  <rolandsteiner@google.com>

        Reviewed by Eric Seidel.

        Fix bug 28808:  [Skia] Fix flaky layout test svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html [DEBUG]
        (https://bugs.webkit.org/show_bug.cgi?id=28808)

        The bug fix adds an explicit check for the validity of the path when it is 
        transformed into local coordinates. 
        This was the most suitable place I could find that didn't cause an inordinate 
        amount of refactoring. Also, it seems pertinent and may also catch other cases 
        that are not limited to clipping paths.

        TEST: existing svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html

        * platform/graphics/skia/GraphicsContextSkia.cpp: make isPathSkiaSafe accessible
        (WebCore::):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::currentPathInLocalCoordinates): check Skia safety of path

2009-09-01  Yusuke Sato  <yusukes@chromium.org>

        Reviewed by Eric Seidel.

        [Chromium] Combining Diacritical Marks (U+0300..) are not handled correctly.
        https://bugs.webkit.org/show_bug.cgi?id=28742 

        Normalize (NFC) a TextRun when the run contains combining diacritical marks
        so that Skia can pick a correct glyph without relying on GSUB table in a font.
        This change is for Chromium Linux.

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

        This function is called when the run contains U+0300..U+036F and converts characters in
        the run to the combined form (NFC) using ICU.

2009-09-01  Vitaly Repeshko  <vitalyr@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] Inlined fast paths of V8DOMWrapper::convertNodeToV8Object and
        V8Proxy::createWrapperFromCache.
        https://bugs.webkit.org/show_bug.cgi?id=28848

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertDocumentToV8Object): Special
        function for document wrapping.
        (WebCore::V8DOMWrapper::convertNewNodeToV8Object): Slow case of
        wrapping a new node.
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::convertNodeToV8Object): Extracted fast
        path from V8DOMWrapper.cpp.
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::createWrapperFromCacheSlowCase):
        * bindings/v8/V8Proxy.h:
        (WebCore::V8Proxy::createWrapperFromCache): Extracted fast path
        from V8Proxy.cpp.

2009-09-01  Eric Seidel  <eric@webkit.org>

        No review, windows build fix only.  Clearly I should have read the patch closer. :(

        Allow excluding certain plugins from loading
        https://bugs.webkit.org/show_bug.cgi?id=28677

        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::refresh):

2009-09-01  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Timothy Hatcher.

        Implement conditional breakpoints in the Web Inspector backend
        and add frontend JavaScript stubs.
        https://bugs.webkit.org/show_bug.cgi?id=28846

        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::profiles):
        (WebCore::InspectorBackend::addBreakpoint):
        (WebCore::InspectorBackend::updateBreakpoint):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::BreakpointInfo::condition):
        (WebCore::JavaScriptDebugServer::BreakpointInfo::setCondition):
        (WebCore::JavaScriptDebugServer::addBreakpoint):
        (WebCore::JavaScriptDebugServer::breakpointInfo):
        (WebCore::JavaScriptDebugServer::updateBreakpoint):
        (WebCore::JavaScriptDebugServer::updateBreakpointInfo):
        (WebCore::JavaScriptDebugServer::removeBreakpoint):
        (WebCore::JavaScriptDebugServer::hasBreakpoint):
        (WebCore::JavaScriptDebugServer::clearBreakpoints):
        * inspector/JavaScriptDebugServer.h:
        (WebCore::JavaScriptDebugServer::BreakpointInfo::BreakpointInfo):
        * inspector/front-end/Breakpoint.js:
        (WebInspector.Breakpoint):
        (WebInspector.Breakpoint.prototype.get id):
        (WebInspector.Breakpoint.prototype.get condition):
        (WebInspector.Breakpoint.prototype.set condition):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
        (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.addScript):

2009-09-01  Marius Renn  <damarvy@gmail.com>

        Reviewed by Eric Seidel.

        Added delegate to PluginDatabase to disable loading certain plugins.
        This is useful when you want to load from the standard plugin
        directory, but want to exclude certain plugins. Plugins may be
        excluded early on by name, so that no plugin code is executed (which
        may have caused a crash).

        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::PluginDatabase):
        (WebCore::PluginDatabase::refresh):
        * plugins/PluginDatabase.h:
        (WebCore::PluginDatabase::setClient):
        * plugins/PluginDatabaseClient.h: Added.
        (WebCore::PluginDatabaseClient::~PluginDatabaseClient):

2009-08-31  Brady Eidson  <beidson@apple.com>

        Rubberstamped by Sam Weinig

        * WebCore.base.exp: Removed an unneeded symbol export.

2009-08-31  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=28466
        When downloading a file, two GET requests are sent to the HTTP server

        Can't think of a way to test this.

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::releaseResources): only nullify the
        handle's client when it is the ResourceLoader, to support the case
        in which a download API uses a different client

2009-08-31  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Darin Adler.

        Text Fields and Text Areas are reported as read-only by inspect32.exe.
        https://bugs.webkit.org/show_bug.cgi?id=28854

        Added another case in AcccessibiltyRenderObject::isReadOnly to test if text fields
        and texts areas are read-only.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isReadOnly):
        (WebCore::AccessibilityRenderObject::canSetValueAttribute):

2009-08-31  Drew Wilson  <atwilson@google.com>

        Reviewed by Alexey Proskuryakov.

        fast/workers/worker-lifecycle.html crashes intermittently on snowleopard
        https://bugs.webkit.org/show_bug.cgi?id=28795

        Changed WorkerContext::close() to no longer stop the worker thread.
        It is now the parent's responsibility to shut down the worker thread when it is notified that the context is closed.

        * workers/AbstractWorker.cpp:
        Updated dispatchScriptErrorEvent to pass-through the "handled" value from dispatchEvent(), to allow event handlers added with addEventListener() to mark events as handled.
        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::SharedWorkerProxy::workerContextClosed):
        Now shuts down the worker thread when notified that the context is closed.
        (WebCore::SharedWorkerProxy::close):
        Now handles being invoked when the context is already in the process of shutting down.
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::close):
        No longer calls WorkerThread::stop() to avoid race conditions with shutting down the thread while the parent is still interacting with it.
        * workers/WorkerContext.h:
        (WebCore::WorkerContext::isClosing):
        isClosing() is now public so WorkerRunLoop can call it to determine whether to process tasks.
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::WorkerExceptionTask::performTask):
        Error events should still be delivered even if the worker thread is closing.
        Also fixed problem where error events were not dispatched if error handlers were added via addEventListener().
        (WebCore::WorkerTerminateTask::create):
        New task that invokes terminateWorkerContext() on the parent thread when the context is closed.
        (WebCore::WorkerTerminateTask::WorkerTerminateTask):
        (WebCore::WorkerTerminateTask::performTask):
        (WebCore::WorkerMessagingProxy::workerContextClosed):
        Now fires off a WorkerTerminateTask to shut down the thread when the context is closed.
        * workers/WorkerMessagingProxy.h:
        WorkerMessagingProxy now overrides workerContextClosed().
        * workers/WorkerRunLoop.cpp:
        (WebCore::WorkerRunLoop::runInMode):
        Now drops tasks on the floor if the WorkerContext is closing.

2009-08-31  Ojan Vafai  <ojan@chromium.org>

        Not reviewed (build fix)

        Build fix for Chromium to match r49707.

        * bindings/v8/ScriptCallFrame.cpp:
        (WebCore::ScriptCallFrame::ScriptCallFrame):
        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        * platform/KURLGoogle.cpp:
        (WebCore::KURL::KURL):
        (WebCore::blankURL):

2009-08-31  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=28858
        Element.baseURI parses xml:base attribute incorrectly

        Test: fast/dom/base-attribute-parsing.xhtml

        * dom/Element.cpp: (WebCore::Element::baseURI): Avoid assertion failure (no change in
        release mode).

2009-08-31  Dimitri Glazkov  <dglazkov@chromium.org>

        Reverting http://trac.webkit.org/changeset/47904, because it caused
        layout test failure.

        Test: fast/dom/Window/new-window-opener.html

2009-08-31  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=28852
        Rename KURL single argument constructor to avoid confusion

        * platform/KURL.h: The constructor that used to be single argument should now be invoked
        as KURL(ParsedURLString, myString).

        * WebCore.base.exp:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::createWindow):
        * bindings/js/ScriptCallFrame.cpp:
        (WebCore::ScriptCallFrame::ScriptCallFrame):
        * bindings/v8/NPV8Object.cpp:
        (_NPN_EvaluateHelper):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::createWindow):
        * css/CSSCursorImageValue.cpp:
        (WebCore::isSVGCursorIdentifier):
        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::cachedImage):
        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::insertedIntoParent):
        * css/StyleBase.cpp:
        (WebCore::StyleBase::baseURL):
        * dom/Document.cpp:
        (WebCore::Document::initSecurityContext):
        * dom/Element.cpp:
        (WebCore::Element::baseURI):
        * editing/markup.cpp:
        (WebCore::completeURLs):
        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::url):
        (WebCore::HistoryItem::originalURL):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::createCached):
        * loader/Cache.cpp:
        (WebCore::Cache::revalidateResource):
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::requestResource):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::getSubresources):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::init):
        (WebCore::FrameLoader::iconURL):
        (WebCore::FrameLoader::scheduleLocationChange):
        (WebCore::FrameLoader::redirectionTimerFired):
        (WebCore::FrameLoader::loadURLIntoChildFrame):
        (WebCore::FrameLoader::startRedirectionTimer):
        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::resourceForURL):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::startLoadingEntry):
        (WebCore::ApplicationCacheGroup::addEntry):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::cacheGroupForURL):
        (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
        (WebCore::ApplicationCacheStorage::loadCache):
        (WebCore::ApplicationCacheStorage::manifestURLs):
        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::createResource):
        (WebCore::LegacyWebArchive::create):
        * loader/loader.cpp:
        (WebCore::Loader::load):
        * notifications/NotificationCenter.h:
        (WebCore::NotificationCenter::createHTMLNotification):
        * platform/KURL.cpp:
        (WebCore::KURL::KURL):
        (WebCore::blankURL):
        * platform/KURLHash.h:
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::setData):
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::createQTMovie):
        * platform/network/cf/ResourceErrorCF.cpp:
        (WebCore::ResourceError::operator CFErrorRef):
        * platform/network/cf/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):
        * platform/network/chromium/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::handleLocalReceiveResponse):
        (WebCore::headerCallback):
        * platform/network/curl/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):
        * platform/network/mac/ResourceErrorMac.mm:
        (WebCore::ResourceError::operator NSError*):
        * platform/network/mac/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):
        * platform/network/qt/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):
        * platform/network/soup/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):
        * platform/win/ClipboardWin.cpp:
        (WebCore::filesystemPathFromUrlOrTitle):
        (WebCore::ClipboardWin::setData):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):
        * xml/XSLImportRule.cpp:
        (WebCore::XSLImportRule::loadSheet):
        * xml/XSLTProcessor.cpp:
        (WebCore::docLoaderFunc):
        Adapt to the change everywhere the single argument constructor was used. I did a very
        cursory check of whether these locations were using this constructor properly, and didn't
        notice any obvious mistakes. The new explicit name will hopefully suggest checking this
        better when refactoring any such code.

2009-08-31  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=28635 [CSS3 
        Backgrounds and Borders] Add support for 2-keyword values for 
        background-repeat

        This patch allows background-repeat to take two values by making 
        background-repeat just like background-position internally. There 
        is a little extra legwork for background-repeat because the spec 
        indicates that its computed value should be equivalent to how it 
        was specified. I keep track of the specified thing by setting the 
        implicit flag whenever background-repeat is defined with only one 
        value (since internally, we now store this as 2 values.)
        
        Here we can't access the implicit flag, so for backwards-
        compatibility's sake, we always return one value when that makes 
        sense.
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::fillRepeatToCSSValue):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

        Here we check for the implicit flag and return one value when it is 
        set.
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
        (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
        (WebCore::CSSMutableStyleDeclaration::cssText):

        Add support for CSSPropertyBackgroundRepeatX and 
        CSSPropertyBackgroundRepeatY
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFillShorthand):
        (WebCore::CSSParser::parseFillRepeat):
        (WebCore::CSSParser::parseFillProperty):
        * css/CSSParser.h:

        Get rid of mappings to RepeatXFill and RepeatYFill since we don't 
        need those parts of the EFillRepeat enum anymore.
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EFillRepeat):

        Add CSSPropertyBackgroundRepeatX and CSSPropertyBackgroundRepeatY
        * css/CSSPropertyLonghand.cpp:
        (WebCore::initShorthandMap):

        Add background-repeat-x and -y.
        * css/CSSPropertyNames.in:

        Break repeat into x and y.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::mapFillRepeatX):
        (WebCore::CSSStyleSelector::mapFillRepeatY):
        * css/CSSStyleSelector.h:

        There is no more RepeatXFill. Instead, look for 
        fillLayer->repeatX() == RepeatFill
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

        Break m_repeat into m_repeatX and m_repeatY
        * rendering/style/FillLayer.cpp:
        (WebCore::FillLayer::FillLayer):
        (WebCore::FillLayer::operator=):
        (WebCore::FillLayer::operator==):
        (WebCore::FillLayer::fillUnsetProperties):
        (WebCore::FillLayer::cullEmptyLayers):
        * rendering/style/FillLayer.h:
        (WebCore::FillLayer::repeatX):
        (WebCore::FillLayer::repeatY):
        (WebCore::FillLayer::isRepeatXSet):
        (WebCore::FillLayer::isRepeatYSet):
        (WebCore::FillLayer::setRepeatX):
        (WebCore::FillLayer::setRepeatY):
        (WebCore::FillLayer::clearRepeatX):
        (WebCore::FillLayer::clearRepeatY):
        (WebCore::FillLayer::initialFillRepeatX):
        (WebCore::FillLayer::initialFillRepeatY):

        Again, break backgroundRepeat into backgroundRepeatX and 
        backgroundRepeatY
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::backgroundRepeatX):
        (WebCore::InheritedFlags::backgroundRepeatY):
        (WebCore::InheritedFlags::maskRepeatX):
        (WebCore::InheritedFlags::maskRepeatY):

        We don't need RepeatXFill or RepeatYFill. Now that we store two 
        values, they are represented by Repeat-NoRepeat and NoRepeat-
        Repeat, respectively.
        * rendering/style/RenderStyleConstants.h:
        (WebCore::):

2009-08-31  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Compositing layer size needs to take into account software reflections on children.
        https://bugs.webkit.org/show_bug.cgi?id=28837
        
        When computing the bounds of a composited layer, take software-rendered
        reflections into account.

        Test: compositing/reflections/reflection-in-composited.html

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

2009-08-31  Mark Mentovai  <mark@chromium.org>

        Reviewed by Dave Hyatt.

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

        Perform a layout prior to checking whether the scrollbar modes are
        off, on, or automatic.  The modes may change during layout.

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

2009-08-31  Patrick Mueller  <Patrick_Mueller@us.ibm.com>

        Reviewed by Timothy Hatcher.

        Inspector Request Headers Should Show Data Sent With Request
        https://bugs.webkit.org/show_bug.cgi?id=22920

        Manual test added - see below.

        * English.lproj/localizedStrings.js:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateRequest):
        (WebCore::InspectorResource::createScriptObject):
        (WebCore::InspectorResource::updateScriptObject):
        * inspector/InspectorResource.h:
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView):
        (WebInspector.ResourceView.prototype._refreshURL):
        (WebInspector.ResourceView.prototype._refreshQueryString):
        (WebInspector.ResourceView.prototype._refreshFormData):
        (WebInspector.ResourceView.prototype._refreshRequestPayload):
        (WebInspector.ResourceView.prototype._refreshParms):
        (WebInspector.ResourceView.prototype._toggleURLdecoding):
        (WebInspector.ResourceView.prototype._getHeaderValue):
        (WebInspector.ResourceView.prototype._refreshRequestHeaders):
        * inspector/front-end/inspector.css:
        * inspector/front-end/inspector.js:
        (WebInspector.addResource):
        (WebInspector.updateResource):
        * manual-tests/inspector/display-form-data.html: Added.

2009-08-31  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: pass call frames into the frontend as a part of
        pausedScript event.

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

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didPause):
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::pausedScript):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.debuggerPaused):
        * inspector/front-end/inspector.js:
        (WebInspector.pausedScript):

2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] Un-blacklist Silverlight on Mac

        Does not seem to crash anymore, probably due to how we now handle
        drawing and event model handshake better.

        * plugins/mac/PluginPackageMac.cpp:
        (WebCore::PluginPackage::isPluginBlacklisted):

2009-08-31  Cameron McCormack  <cam@mcc.id.au>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=28827
        SVGSVGElement.unsuspendRedraw() shouldn't throw

        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::unsuspendRedraw):
        * svg/SVGSVGElement.h:
        * svg/SVGSVGElement.idl:

2009-08-31  Kent Tamura  <tkent@chromium.org>

        Reviewed by Eric Seidel.

        - Change the reutrn type of HTMLInputElement::list so that it
          conforms to the standard.
        - Add HTMLInputElement::dataList()
        https://bugs.webkit.org/show_bug.cgi?id=28769


        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::list):
        (WebCore::HTMLInputElement::dataList):
        (WebCore::HTMLInputElement::selectedOption):
        * html/HTMLInputElement.h:
        * html/HTMLInputElement.idl:

2009-08-31  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Eric Seidel.

        Remove ASSERT(frame) in ResourceHandle::start (ResourceHandleCurl.cpp)
        https://bugs.webkit.org/show_bug.cgi?id=28802

        Remove ASSERT because the frame could be null if the
        ResourceHandle is not associated with any frame, e.g. if we are
        downloading a file.
        If the frame is not null but the page is null this must be an
        attempted load from an onUnload handler, so let's just block it.

        * platform/network/curl/ResourceHandleCurl.cpp:
        (WebCore::ResourceHandle::start):

2009-08-31  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        Build fix for platforms which don't enable DOM_STORAGE.
        https://bugs.webkit.org/show_bug.cgi?id=28834

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluate):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::evaluate):

2009-08-29  Adele Peterson  <adele@apple.com>

        Reviewed by Dan Bernstein.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=28829
        Crash in AccessibilityRenderObject::activeDescendant when trying to set aria-activedescendant to something without a renderer

        Test: accessibility/aria-activedescendant-crash.html

        * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::activeDescendant): Nil check.

2009-08-28  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Oliver Hunt.

        Gtk Build broken for OSX Quartz
        https://bugs.webkit.org/show_bug.cgi?id=28727

        Check for XP_UNIX instead of GTK or X11 to ease building of the Gtk
        port in Mac and Unix/Linux.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::PluginView):
        * plugins/PluginView.h:
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded):
        (WebCore::PluginView::getValueStatic):
        (WebCore::PluginView::getValue):
        (WebCore::PluginView::init):

2009-08-28  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Fix positioning error when a compositing, absolutely-positioned element has an ancestor with opacity.
        https://bugs.webkit.org/show_bug.cgi?id=28754
        
        For absolutely-positioned layers, convertToLayerCoords() jumps to the positioned
        ancestor, since the layer x and y are relative to that ancestor. However, this could
        skip over the ancestorLayer, thus giving the wrong result.
        
        Fix by duplicating the enclosingPositionedAncestor() logic in convertToLayerCoords(),
        and checking for ancestorLayer along the way. If found, compute offset of both to
        the enclosingPositionedAncestor() and subtract.
        
        This also fixes a positioning bug with abs. positioned elements in reflections,
        so there is a new reflection test with a pixel result.

        Tests: compositing/geometry/abs-position-inside-opacity.html
               fast/reflections/abs-position-in-reflection.html

        * rendering/RenderLayer.cpp:
        (WebCore::isPositionedContainer):
        (WebCore::RenderLayer::enclosingPositionedAncestor):
        (WebCore::RenderLayer::enclosingTransformedAncestor):
        (WebCore::RenderLayer::convertToLayerCoords):

2009-08-28  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Mark Rowe

        Wrap WebkitCSSTransformValues in the correct class of DOM wrapper.
        https://bugs.webkit.org/show_bug.cgi?id=27727

        When fetching the DOM wrapper for a WebkitCSSTransformValue (which is a kind of 
        CSSValueList), we need to ask the value list whether it's a WebkitCSSTransformValue,
        because there is not a unique enum value for WebkitCSSTransformValue.

        * bindings/objc/DOMCSS.mm:
        (kitClass):

2009-08-28  Peter Kasting  <pkasting@google.com>

        Reviewed by Jan Michael Alonzo.

        https://bugs.webkit.org/show_bug.cgi?id=28308
        Fix some warnings introduced by r47381.

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::convertCMYKToRGBA):
        (WebCore::convertRGBToRGBA):

2009-08-28  Ada Chan  <adachan@apple.com>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=21442
        Make sure filesystemPathFromUrlOrTitle() returns a string with length
        <= MAX_PATH - 1.

        * platform/win/ClipboardWin.cpp:
        (WebCore::filesystemPathFromUrlOrTitle):

2009-08-28  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Adding Chromium's VFS for Linux and Mac.

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

        * WebCore.gypi:
        * platform/chromium/ChromiumBridge.h:
        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
        (WebCore::SQLiteFileSystem::openDatabase):
        (WebCore::SQLiteFileSystem::deleteDatabaseFile):
        * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Removed.
        * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Removed.
        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: Added.
        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:

2009-08-28  Vitaly Repeshko  <vitalyr@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] Made bindings use Node::setOnEvent functions for Node descendants
        instead of Node::setAttributeEventListener.

        Node::setAttributeEventListener is an internal function and
        doesn't do the forwarding to DOM window that is required for some
        HTML elements.
        https://bugs.webkit.org/show_bug.cgi?id=28709

        Tests added in http://trac.webkit.org/changeset/47326 now pass with V8.

        * bindings/scripts/CodeGeneratorV8.pm:
        Now generates EventListener accessors for Node descendants instead
        of using custom callbacks.
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getEventListener): Moved from V8NodeCustom.cpp.
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Fixed a bug in
        signature.
        * bindings/v8/V8Utilities.cpp:
        (WebCore::createHiddenDependency):
        (WebCore::removeHiddenDependency):
        Changed signature to accept Handle instead of Local.
        * bindings/v8/V8Utilities.h:
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        Removed custom callbacks for EventListener accessors.

2009-08-28  Ben Murdoch  <benm@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=28803
        
        Implements V8CustomVoidCallback reporting any exceptions that were thrown from the callback function.

        * bindings/v8/custom/V8CustomVoidCallback.cpp:
        (WebCore::invokeCallback): Checks if the callback raised an exception and reports it to WebCore if so.

2009-08-28  Peter Kasting  <pkasting@google.com>

        Not reviewed (build fix).

        * platform/graphics/qt/ImageDecoderQt.cpp: Accidentally added some spaces.
        (WebCore::ImageDecoder::create):
        (WebCore::ImageDecoderQt::ImageDecoderQt):
        * platform/graphics/qt/ImageDecoderQt.h: Make constructor public so factory function can access it (this seemed better than making ImageDecoder a friend).

2009-08-28  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=27965
        Move ImageDecoder creation function to a factory function on
        ImageDecoder.  This is arguably where it makes the most sense anyway,
        and it will (soon) allow ImageSourceQt.cpp to have one less dedicated
        function.

        * platform/graphics/ImageSource.cpp:
        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoder::create):
        * platform/graphics/qt/ImageDecoderQt.h:
        * platform/graphics/qt/ImageSourceQt.cpp:
        (WebCore::ImageSource::setData):
        * platform/image-decoders/ImageDecoder.cpp:
        * platform/image-decoders/ImageDecoder.h:

2009-08-28  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=28785
        Combine duplicated code from ImageDecoder*.cpp into the main
        ImageDecoder.cpp.

        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::RGBA32Buffer::RGBA32Buffer):
        (WebCore::RGBA32Buffer::clear):
        (WebCore::RGBA32Buffer::zeroFill):
        (WebCore::RGBA32Buffer::copyBitmapData):
        (WebCore::RGBA32Buffer::setSize):
        (WebCore::RGBA32Buffer::hasAlpha):
        (WebCore::RGBA32Buffer::setHasAlpha):
        (WebCore::RGBA32Buffer::setStatus):
        (WebCore::RGBA32Buffer::operator=):
        (WebCore::RGBA32Buffer::width):
        (WebCore::RGBA32Buffer::height):
        * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
        * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
        * platform/image-decoders/wx/ImageDecoderWx.cpp:

2009-08-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=25889
        [GTK] scrollbar policy for main frame is not implementable

        Override setScrollbarModes to correctly forward scrollbar modes
        policy changes to client code, via a new platform-specific method,
        scrollbarsPolicyDidChange.

        * page/ChromeClient.h:
        (WebCore::ChromeClient::scrollbarsPolicyDidChange):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::createScrollbar):
        * platform/ScrollView.h:
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::setScrollbarModes):

2009-08-28  Cédric Luthi <cedric.luthi@gmail.com>

        Reviewed by Tor Arne Vestbø

        [Qt/Mac] Un-blacklist the QuickTime plugin

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

        Now that the drawing model is properly negotiated, there is no need the
        blacklist the QuickTime plugin anymore.

        This revealed a bug in PluginView::performRequest: it should not initiate a
        request if the plugin has been stopped, which is what happens when a plugin
        only supports the QuickDraw drawing model.

        * plugins/PluginView.cpp:
        * plugins/mac/PluginPackageMac.cpp:

2009-08-28  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Timothy Hatcher.

        Set DOM agent document to 0 in InspectorController::close to
        make DOM agent remove DOM listeners from the inspected document.

        Replace windowVisible checks with m_frontend checks to as inspector
        window lives in a different process in Chromium while frontend proxy
        is in the inspected page process.

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

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::inspect):
        (WebCore::InspectorController::addConsoleMessage):
        (WebCore::InspectorController::close):
        (WebCore::InspectorController::pruneResources):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
        (WebCore::InspectorController::identifierForInitialRequest):
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::didReceiveResponse):
        (WebCore::InspectorController::didReceiveContentLength):
        (WebCore::InspectorController::didFinishLoading):
        (WebCore::InspectorController::didFailLoading):
        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorController::scriptImported):
        (WebCore::InspectorController::didOpenDatabase):
        (WebCore::InspectorController::didUseDOMStorage):
        (WebCore::InspectorController::addProfile):
        * inspector/InspectorController.h:

2009-08-28  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Timothy Hatcher.

        Remove dependency of SummaryBar on WebInspector.resourceCategories.

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

        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype.toolbarItemClass.get categories):
        * inspector/front-end/SummaryBar.js:
        (WebInspector.SummaryBar):
        (WebInspector.SummaryBar.prototype.update):

2009-08-28  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed (patching in l18n change that was missing due to
        the git binary diff format).

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

        * English.lproj/localizedStrings.js:

2009-08-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make XSSAuditor go fast
        https://bugs.webkit.org/show_bug.cgi?id=28667

        Make the XSSAuditor go faster by implementing two optimizations:

        1) We avoid canonicalizing scripts that are larger than the page's URL.
           This saves a bunch of time for large inline scripts.

        2) We memoize canonicalizing the page's URL because it's silly to
           canonicalize repeated for each inline event listener.

        These optimizations have a measurable affect on the intl1 page cycler.

        No behavior change.

        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::MemoizingURLCanonicalizer::canonicalizeURL):
        (WebCore::XSSAuditor::canEvaluate):
        (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
        (WebCore::XSSAuditor::canCreateInlineEventListener):
        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
        (WebCore::XSSAuditor::canLoadObject):
        (WebCore::XSSAuditor::canSetBaseElementURL):
        (WebCore::XSSAuditor::decodeURL):
        (WebCore::XSSAuditor::findInRequest):
        * page/XSSAuditor.h:

2009-08-27  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        Removed ASSERT_NOT_REACHED, because indeed this ASSERT is reached in
        fast/canvas/change-context.html. And it's alright to reach it.

        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL): Removed assertion.

2009-08-27  Jeremy Orlow  <jorlow@chromium.org>

        Not reviewed.  Build fix for http://trac.webkit.org/changeset/47840

        Peter's change forgot one m_decoder->

        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::frameSizeAtIndex):

2009-08-27  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        [V8] Add NULL-check, since the context ain't changeable no more, and
        thus getContext could return 0.

        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL): Added NULL-check.

2009-08-27  Noel Gordon  <noel.gordon@gmail.com>

        Reviewed by Eric Seidel.

        dataTransfer.types() should include type "Files" when files are present in the clipboard.
        https://bugs.webkit.org/show_bug.cgi?id=28780

        Add dataTransfer type "Files" to the chromium port.  Add eseidel's
        patch for same for the mac port.

        * platform/chromium/ClipboardChromium.cpp:

2009-08-27  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Removed GL_ from all constants, and gl prefix from all calls
        https://bugs.webkit.org/show_bug.cgi?id=28773

        This was done for the external API in CanvasRenderingContext3D and
        the internal API in GraphicsContext3D.

        * html/canvas/CanvasRenderingContext3D.cpp:
        * html/canvas/CanvasRenderingContext3D.h:
        * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
        * html/canvas/CanvasRenderingContext3D.idl:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/mac/GraphicsContext3DMac.cpp:

2009-08-27  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Qt and Gtk build fixes. Not reviewed.

        Add CanvasRenderingContext3D.idl to the build scripts.

        * GNUmakefile.am:
        * WebCore.pro:

2009-08-27  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        Release the storage mutex whenever leaving JavaScript execution.
        https://bugs.webkit.org/show_bug.cgi?id=28789

        http://dev.w3.org/html5/spec/Overview.html#storage-mutex describes the
        required behavior.  After we leave JavaScript, we must be sure the storage
        mutex has been released.  At the end of evaluate(), if localStorage has been
        instantiated, tell it to release any locks that may be applicable.

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluate):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::evaluate):

2009-08-27  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=28753
        <rdar://problem/7173448> Excessive number of threads (and a crash)

        Coalesce DNS prefetch requests to reduce strain on CFHost. Currently, the algorithm is as follows:
        - when resolver is idle, the first few requests are sent immediately (they may or may not
        hit the wire);
        - if there are a few requests in flight already, coalesce all requests for one second;
        - to avoid pathological cases with lots of links to different sites on a page, only ask
        CFHost about a handful of names (dropping the rest).

        Coalescing reduces the number of requests dramatically, as prefetchDNS is called for each
        link, and these tend to have identical host name.

        * platform/network/cf/DNSCFNet.cpp:
        (WebCore::DNSResolveQueue::DNSResolveQueue):
        (WebCore::DNSResolveQueue::shared):
        (WebCore::DNSResolveQueue::add):
        (WebCore::DNSResolveQueue::decrementRequestCount):
        (WebCore::DNSResolveQueue::fired):
        (WebCore::clientCallback):
        (WebCore::DNSResolveQueue::resolve):
        (WebCore::prefetchDNS):

2009-08-27  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Final patch for Canvas 3D support
        https://bugs.webkit.org/show_bug.cgi?id=28018

        This hooks everything up and provides a working implementation of
        Canvas 3D. I plumb the creation of the 3D canvas down to GraphicsLayer,
        passing the opaque context and texture pointers so a Canvas3DLayer can be
        created (more on that later). It also plumbs changes to the 3D canvas so
        that Canvas3DLayer can recomposite the results.
        
        A 3D Canvas element needs a RenderLayer and compositing layer to render.
        This is because it renders to an off-screen texture in the GPU and then
        hands it to a Canvas3DLayer, which is a subclass of CAOpenGLLayer, to
        render that texture as a 3D quad. This keeps everything in GPU memory to 
        maximize performance. When a CanvasRenderingContext3D is created it 
        forces a style recalc which creates the RenderLayer and compositing 
        layer if needed. 
        
        I repurposed an existing flag which was put in place for animation to accomplish 
        this. This flag is passed to setNeedsStyleRecalc(), and I renamed it from 
        AnimationStyleChange to SyntheticStyleChange. It essentially says that you need
        to do a complete style recalc, even though the style itself has not really
        changed.
        
        This patch also fixes a couple of bugs discovered when testing with 3d-canvas
        turned on. I also added a constructor DOMWindow.idl for CanvasRenderingContext3D.
        This is needed when making a JS wrapper for the object so the prototype 
        property can be set.

        Test: fast/canvas/change-context.html

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
        (WebCore::JSCanvasRenderingContext3D::glDrawElements):
        * bindings/js/JSCanvasRenderingContextCustom.cpp:
        (WebCore::toJS):
        * dom/Element.cpp:
        (WebCore::Element::recalcStyle):
        * dom/Node.cpp:
        (WebCore::Node::setNeedsStyleRecalc):
        * dom/Node.h:
        (WebCore::):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):
        (WebCore::HTMLCanvasElement::is3D):
        * html/HTMLCanvasElement.h:
        * html/canvas/CanvasBuffer.cpp:
        (WebCore::CanvasBuffer::create):
        (WebCore::CanvasBuffer::CanvasBuffer):
        (WebCore::CanvasBuffer::_deleteObject):
        * html/canvas/CanvasBuffer.h:
        * html/canvas/CanvasFramebuffer.cpp:
        (WebCore::CanvasFramebuffer::create):
        (WebCore::CanvasFramebuffer::CanvasFramebuffer):
        (WebCore::CanvasFramebuffer::_deleteObject):
        * html/canvas/CanvasFramebuffer.h:
        * html/canvas/CanvasObject.cpp:
        (WebCore::CanvasObject::CanvasObject):
        (WebCore::CanvasObject::~CanvasObject):
        (WebCore::CanvasObject::deleteObject):
        * html/canvas/CanvasObject.h:
        (WebCore::CanvasObject::context):
        * html/canvas/CanvasProgram.cpp:
        (WebCore::CanvasProgram::create):
        (WebCore::CanvasProgram::CanvasProgram):
        (WebCore::CanvasProgram::_deleteObject):
        * html/canvas/CanvasProgram.h:
        * html/canvas/CanvasRenderbuffer.cpp:
        (WebCore::CanvasRenderbuffer::create):
        (WebCore::CanvasRenderbuffer::CanvasRenderbuffer):
        (WebCore::CanvasRenderbuffer::_deleteObject):
        * html/canvas/CanvasRenderbuffer.h:
        * html/canvas/CanvasRenderingContext3D.cpp:
        (WebCore::CanvasRenderingContext3D::createBuffer):
        (WebCore::CanvasRenderingContext3D::createFramebuffer):
        (WebCore::CanvasRenderingContext3D::createTexture):
        (WebCore::CanvasRenderingContext3D::createProgram):
        (WebCore::CanvasRenderingContext3D::createRenderbuffer):
        (WebCore::CanvasRenderingContext3D::createShader):
        * html/canvas/CanvasRenderingContext3D.h:
        (WebCore::CanvasRenderingContext3D::graphicsContext3D):
        * html/canvas/CanvasShader.cpp:
        (WebCore::CanvasShader::create):
        (WebCore::CanvasShader::CanvasShader):
        (WebCore::CanvasShader::_deleteObject):
        * html/canvas/CanvasShader.h:
        * html/canvas/CanvasTexture.cpp:
        (WebCore::CanvasTexture::create):
        (WebCore::CanvasTexture::CanvasTexture):
        (WebCore::CanvasTexture::_deleteObject):
        * html/canvas/CanvasTexture.h:
        * page/DOMWindow.idl:
        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::setNeedsStyleRecalc):
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::updateAnimationTimer):
        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
        (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
        (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
        (WebCore::AnimationController::cancelAnimations):
        * platform/graphics/GraphicsContext3D.h:
        (WebCore::GraphicsContext3D::platformGraphicsContext3D):
        (WebCore::GraphicsContext3D::platformTexture):
        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::setContentsToGraphicsContext3D):
        (WebCore::GraphicsLayer::setGraphicsContext3DNeedsDisplay):
        * platform/graphics/mac/GraphicsContext3DMac.cpp:
        (WebCore::GraphicsContext3D::~GraphicsContext3D):
        (WebCore::GraphicsContext3D::reshape):
        * platform/graphics/mac/GraphicsLayerCA.h:
        (WebCore::GraphicsLayerCA::):
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::GraphicsLayerCA):
        (WebCore::GraphicsLayerCA::commitLayerChanges):
        (WebCore::GraphicsLayerCA::updateContentsGraphicsContext3D):
        (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
        (WebCore::GraphicsLayerCA::setGraphicsContext3DNeedsDisplay):
        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::requiresLayer):
        * rendering/RenderHTMLCanvas.h:
        (WebCore::RenderHTMLCanvas::isCanvas):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
        (WebCore::RenderLayerBacking::canUseDirectCompositing):
        (WebCore::RenderLayerBacking::rendererContentChanged):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
        (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
        * rendering/RenderLayerCompositor.h:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isCanvas):

2009-08-27  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=28751
        Clean up ImageDecoder*.cpp a bit.

        * platform/image-decoders/ImageDecoder.cpp: Put functions in the same
          order as in the header file.  Also, since there's already an anonymous
          namespace in this file, use it to enclose the local helper functions.
        (WebCore::):
        (WebCore::ImageDecoder::upperBoundScaledX):
        (WebCore::ImageDecoder::lowerBoundScaledX):
        (WebCore::ImageDecoder::scaledY):
        * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
        (WebCore::RGBA32Buffer::width): Style fix.
        (WebCore::RGBA32Buffer::height): Style fix.
        * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
        (WebCore::RGBA32Buffer::copyBitmapData): Ensure m_size is set correctly.
        (WebCore::RGBA32Buffer::asNewNativeImage): Remove unneeded temp.
        (WebCore::RGBA32Buffer::operator=): Simplify.
        * platform/image-decoders/wx/ImageDecoderWx.cpp:
        (WebCore::RGBA32Buffer::asNewNativeImage): Try and collect spaced-out temps under loop comment to show they're all related.  Use size_t for iterating over elements of a Vector.
        (WebCore::RGBA32Buffer::width): Style fix.
        (WebCore::RGBA32Buffer::height): Style fix.

2009-08-27  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=28751
        Clean up ImageSource.* in preparation for more fixes on bug 27965.

        * platform/graphics/ImageSource.cpp: Put functions in the same order as in header file.
        (WebCore::ImageSource::isSizeAvailable): Shorten.
        (WebCore::ImageSource::size): Shorten.
        (WebCore::ImageSource::frameSizeAtIndex): Shorten.
        (WebCore::ImageSource::repetitionCount): Shorten.
        (WebCore::ImageSource::frameIsCompleteAtIndex):
        * platform/graphics/ImageSource.h: Shorten #ifdef section a bit by sharing common typedefs.

2009-08-27  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=28785
        Add ImageDecoder.cpp to various build files so platforms will be able to
        use it.  Move an ENABLE to not cover the whole file, in preparation for
        adding a bunch of code.  Simplify #ifdefs in ImageDecoder.h to be "Skia
        vs. everyone else", which also gives new platforms a reasonable default
        behavior.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCoreSources.bkl:
        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::RGBA32Buffer::getAddr):

2009-08-27  Antti Koivisto  <antti@apple.com>

        Reviewed by Dave Kilzer.
        
        https://bugs.webkit.org/show_bug.cgi?id=28784
        
        Add an exported method to flush pending repaints.

        * WebCore.base.exp:
        * page/FrameView.cpp:
        (WebCore::FrameView::layoutIfNeededRecursive):
        (WebCore::FrameView::flushDeferredRepaints):
        * page/FrameView.h:

2009-08-27  Noel Gordon  <noel.gordon@gmail.com>

        Reviewed by Eric Seidel.

        [V8] Expose files from the pasteboard in drop events.
        https://bugs.webkit.org/show_bug.cgi?id=28782

        Update chromium port to expose dataTransfer.files() as per
        HTML5 drag drop (Aug 2009 edition).

        * platform/chromium/ClipboardChromium.cpp:

2009-08-27  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Dmitry Glazkov.

        ScriptState now keeps explicit Handle of devtools front-end
        utility context instead of trying to retrieve it from inspected
        Frame.

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

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        * bindings/v8/ScriptController.h:
        * bindings/v8/ScriptObjectQuarantine.cpp:
        (WebCore::getQuarantinedScriptObject):
        * bindings/v8/ScriptScope.cpp:
        (WebCore::ScriptScope::ScriptScope):
        * bindings/v8/ScriptState.cpp:
        (WebCore::ScriptState::ScriptState):
        (WebCore::ScriptState::~ScriptState):
        (WebCore::scriptStateFromPage):
        * bindings/v8/ScriptState.h:
        (WebCore::ScriptState::context):
        * bindings/v8/ScriptValue.h:
        (WebCore::ScriptValue::~ScriptValue):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::frontendScriptState):

2009-08-27  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Console won't close.

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

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
        * inspector/front-end/utilities.js:
        (Node.prototype.isAncestor):

2009-08-27  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix a typo in files() causing image drags to have junk file arrays.
        https://bugs.webkit.org/show_bug.cgi?id=28755

        Test: editing/pasteboard/files-during-page-drags.html

        * platform/mac/ClipboardMac.mm:
        (WebCore::ClipboardMac::files):

2009-08-27  Jeremy Orlow  <jorlow@chromium.org>

        Not reviewed.  Build fix for Chromium.

        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:

2009-08-27  Alexey Proskuryakov  <ap@apple.com>

        Windows build fix.

        * DerivedSources.cpp: Added JSPageTransitionEvent.cpp to DerivedSources.cpp.

2009-08-26  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=28758
        <rdar://problem/6440869> Implement pageshow and pagehide events for b/f cache (28758)

        Tests: fast/events/pageshow-pagehide-on-back-cached.html
               fast/events/pageshow-pagehide-on-back-uncached.html
               fast/events/pageshow-pagehide.html

        * loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): Dispatch pagehide event
        (this function is called both when a document goes away, and when it goes to b/f cache).

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Dispatch pagehide right before unload.
        (WebCore::DOMWindow::dispatchPageTransitionEvent): Do what it takes to add a new event handler
        that can be installed on Window object.
        (WebCore::DOMWindow::onpagehide): Ditto.
        (WebCore::DOMWindow::setOnpagehide): Ditto.
        (WebCore::DOMWindow::onpageshow): Ditto.
        (WebCore::DOMWindow::setOnpageshow): Ditto.

        * history/CachedFrame.cpp: (WebCore::CachedFrame::restore): Dispatch pageshow for a page
        that isn't being restored from cache.

        * dom/PageTransitionEvent.cpp: Added.
        (WebCore::PageTransitionEvent::PageTransitionEvent):
        (WebCore::PageTransitionEvent::~PageTransitionEvent):
        (WebCore::PageTransitionEvent::initPageTransitionEvent):
        * dom/PageTransitionEvent.h: Added.
        (WebCore::PageTransitionEvent::create):
        (WebCore::PageTransitionEvent::isPageTransitionEvent):
        (WebCore::PageTransitionEvent::persisted):
        * dom/PageTransitionEvent.idl: Added.
        Add event class implementation.

        * html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::parseMappedAttribute): Support
        inline listener definition (note that adding listeners to document.body programmatically
        is not supported, matching Firefox).

        * dom/Document.cpp:
        (WebCore::Document::implicitClose): Dispatch pageshow event right before load event.
        (WebCore::Document::dispatchPageTransitionEvent): Do what it takes to add a new event for
        Docuemnt.
        (WebCore::Document::createEvent): Ditto.

        * dom/Document.h: Added dispatchPageTransitionEvent.

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSEventCustom.cpp: (WebCore::toJS):
        * dom/Event.cpp: (WebCore::Event::isPageTransitionEvent):
        * dom/Event.h:
        * dom/EventNames.h:
        * html/HTMLAttributeNames.in:
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        Do what it takes to add a new event type.

2009-08-27  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by NOBODY (build fix).

        Adding missing file from previous commit.

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

        * inspector/front-end/SummaryBar.js: Added.
        (WebInspector.SummaryBar):
        (WebInspector.SummaryBar.prototype.get calculator):
        (WebInspector.SummaryBar.prototype.set calculator):
        (WebInspector.SummaryBar.prototype.reset):
        (WebInspector.SummaryBar.prototype.update):
        (WebInspector.SummaryBar.prototype._drawSwatch.drawSwatchSquare):
        (WebInspector.SummaryBar.prototype._drawSwatch):
        (WebInspector.SummaryBar.prototype._drawSummaryGraph.var):
        (WebInspector.SummaryBar.prototype._drawSummaryGraph):
        (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
        (WebInspector.SummaryBar.prototype._fadeOutRect):
        (WebInspector.SummaryBar.prototype._makeLegendElement):

2009-08-27  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Timothy Hatcher.

        Factor out Factor out summary bar from Resources panel.

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

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.reset):
        (WebInspector.ResourcesPanel.prototype._updateSummaryGraph):
        (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition):
        (WebInspector.ResourcesPanel.prototype._changeSortingFunction):
        * inspector/front-end/SummaryBar.js: Added.
        (WebInspector.SummaryBar):
        (WebInspector.SummaryBar.prototype.get calculator):
        (WebInspector.SummaryBar.prototype.set calculator):
        (WebInspector.SummaryBar.prototype.reset):
        (WebInspector.SummaryBar.prototype.update):
        (WebInspector.SummaryBar.prototype._drawSwatch.drawSwatchSquare):
        (WebInspector.SummaryBar.prototype._drawSwatch):
        (WebInspector.SummaryBar.prototype._drawSummaryGraph.var):
        (WebInspector.SummaryBar.prototype._drawSummaryGraph):
        (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
        (WebInspector.SummaryBar.prototype._fadeOutRect):
        (WebInspector.SummaryBar.prototype._makeLegendElement):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        * inspector/front-end/inspector.html:

2009-08-26  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Timothy Hatcher.

        Start adding heap profiler to Inspector (hidden behind a flag.)

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

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        (WebInspector.ProfilesPanel.prototype.get statusBarItems):
        (WebInspector.ProfilesPanel.prototype.reset):
        (WebInspector.ProfilesPanel.prototype.addProfile):
        (WebInspector.ProfilesPanel.prototype._updateInterface):
        (WebInspector.ProfilesPanel.prototype._snapshotClicked):
        * inspector/front-end/inspector.css:
        * inspector/front-end/inspector.js: added Preferences.heapProfilerPresent flag.

2009-08-27  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Metrics sidebar editing is broken.

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

        * inspector/front-end/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane.prototype.update):

2009-08-27  Darin Fisher  <darin@chromium.org>

        Reviewed by Dimitri Glazkov.

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

        Make KURLGoogle.cpp's decodeURLEscapeSequences decode %00 to match
        KURL.cpp.  This makes the XSSAuditor tests pass when using KURLGoogle.

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

2009-08-27  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Build fix, missing functions after r47763.

        * platform/qt/Localizations.cpp:
        (WebCore::localizedMediaControlElementString):
        (WebCore::localizedMediaControlElementHelpText):
        (WebCore::localizedMediaTimeDescription):

2009-08-26  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Removing trailing whitespaces from all storage classes.

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

        * storage/ChangeVersionWrapper.cpp:
        * storage/Database.cpp:
        * storage/Database.h:
        * storage/DatabaseDetails.h:
        * storage/DatabaseThread.cpp:
        * storage/DatabaseTracker.cpp:
        * storage/DatabaseTracker.h:
        * storage/LocalStorageTask.cpp:
        * storage/LocalStorageTask.h:
        * storage/LocalStorageThread.cpp:
        * storage/LocalStorageThread.h:
        * storage/OriginQuotaManager.cpp:
        * storage/OriginUsageRecord.cpp:
        * storage/OriginUsageRecord.h:
        * storage/SQLError.h:
        * storage/SQLResultSetRowList.h:
        * storage/SQLStatement.cpp:
        * storage/SQLStatement.h:
        * storage/SQLStatementCallback.h:
        * storage/SQLStatementErrorCallback.h:
        * storage/SQLTransaction.cpp:
        * storage/SQLTransaction.h:
        * storage/SQLTransactionCallback.h:
        * storage/SQLTransactionErrorCallback.h:
        * storage/Storage.cpp:
        * storage/Storage.h:
        * storage/StorageArea.h:
        * storage/StorageAreaImpl.cpp:
        * storage/StorageAreaImpl.h:
        * storage/StorageAreaSync.cpp:
        * storage/StorageAreaSync.h:
        * storage/StorageEvent.cpp:
        * storage/StorageEvent.h:
        * storage/StorageMap.cpp:
        * storage/StorageMap.h:
        * storage/StorageNamespaceImpl.cpp:
        * storage/StorageSyncManager.cpp:
        * storage/StorageSyncManager.h:

2009-08-26  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=28763, flickering when opacity changes.

        Make opacity changes from < 1 to 1 and from 1 to < 1 cause a relayout to happen.  We need
        to do this in order for overflow information to be properly recomputed.

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):

2009-08-26  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        HTMLMediaElement sometimes loses events
        https://bugs.webkit.org/show_bug.cgi?id=28762
        <rdar://problem/7172437>

        A media element triggers the resource selection algorithm if 
        play() is called when the networkState attribute is NETWORK_EMPTY, but
        it also immediately queues 'play' and either 'waiting' or 'playing' events.
        One of the steps in preparing to load is to flush pending events, so those 
        events were lost if the load timer fired quickly enough. Fixed by deleting
        pending events before scheduling the load timer.

        Test: media/audio-play-event.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::scheduleLoad):
            Do nothing if the load timer is already scheduled. Call prepareForLoad so queue of 
            pending events is flushed immediately.
        (WebCore::HTMLMediaElement::scheduleNextSourceChild):
            New, start the load timer without flushing pending events.
        (WebCore::HTMLMediaElement::load):
            Call prepareForLoad();
        (WebCore::HTMLMediaElement::prepareForLoad):
            New, load setup code moved from loadInternal.
        (WebCore::HTMLMediaElement::loadInternal):
            Moved some setup code to prepareForLoad so it can be invoked immediately before
            arming the load timer.
        (WebCore::HTMLMediaElement::setNetworkState):
            Call scheduleNextSourceChild instead of scheduleLoad as the later now clears
            pending events.
        * html/HTMLMediaElement.h:
            Declare scheduleNextSourceChild.

2009-08-26  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=28751
        Switch ICO decoder from a Vector of raw pointers to a Vector of
        OwnPtrs now that that is possible.  Makes code slightly simpler.

        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::decodeAtIndex):
        (WebCore::ICOImageDecoder::processDirectory):
        * platform/image-decoders/ico/ICOImageDecoder.h:

2009-08-26  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=28718, image inside relpositioned inline doesn't paint.
        Make sure vertical overflow is still computed across self-painting layers, even though it isn't
        propagated to parents.

        Added fast/repaint/rel-positioned-inline-with-overflow.html

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

2009-08-26  David Levin  <levin@chromium.org>

        Reviewed by Darin Fisher.

        ResourceRequestBase::*[Aa]llowHTTPCookies shouldn't mention http.
        https://bugs.webkit.org/show_bug.cgi?id=28735

        Renaming the method to imply its wider implications of affecting cookies
        over any protocol that supports them.

        No change in functionality so no new tests.

        * WebCore.order:
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
        (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
        (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
        * platform/network/ResourceRequestBase.cpp:
        (WebCore::ResourceRequestBase::adopt):
        (WebCore::ResourceRequestBase::copyData):
        (WebCore::ResourceRequestBase::allowCookies):
        (WebCore::ResourceRequestBase::setAllowCookies):
        (WebCore::equalIgnoringHeaderFields):
        * platform/network/ResourceRequestBase.h:
        (WebCore::ResourceRequestBase::ResourceRequestBase):
        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::ResourceRequest::doUpdatePlatformRequest):
        (WebCore::ResourceRequest::doUpdateResourceRequest):
        * platform/network/mac/ResourceRequestMac.mm:
        (WebCore::ResourceRequest::doUpdateResourceRequest):
        (WebCore::ResourceRequest::doUpdatePlatformRequest):
        * platform/network/soup/ResourceRequestSoup.cpp:
        (WebCore::ResourceRequest::updateFromSoupMessage):

2009-08-26  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        Made RenderInline::clippedOverflowRectForRepaint() actually include
        overflow.

        Test: fast/repaint/inline-overflow.html

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::linesVisibleOverflowBoundingBox): Added. Returns
            the bounding box of all lines’ visible overflow boxes (under the
            assumption that the first and last lines determine the top and
            bottom, respectively).
        (WebCore::RenderInline::clippedOverflowRectForRepaint): Changed to use
            linesVisibleOverflowBoundingBox() instead of linesBoundingBox().
        * rendering/RenderInline.h:

2009-08-26  John Gregg  <johnnyg@google.com>

        Reviewed by David Levin.

        minor style correction and include fix for notifications
        https://bugs.webkit.org/show_bug.cgi?id=28745

        No change in behavior, so no tests.

        * bindings/js/JSDesktopNotificationsCustom.cpp: add include of Error.h
        * notifications/Notification.cpp: change enum style to InterCaps
        (WebCore::Notification::Notification):
        * notifications/NotificationPresenter.h:
        (WebCore::NotificationPresenter::):

2009-08-25  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        postMessage() spec now supports sending arrays of ports
        https://bugs.webkit.org/show_bug.cgi?id=26902

        Added support for sending multiple ports at once via postMessage(). JS bindings will be updated in an upcoming patch.

        No new tests, since the new functionality is not exposed via new JS bindings yet, so the old tests suffice.

        * WebCore.xcodeproj/project.pbxproj:
        Mark MessagePort.h and MessagePortChannel.h as private since they are used by WebKit now.
        * dom/MessageEvent.cpp:
        Updated APIs to support passing MessagePortArrays.
        (WebCore::MessageEvent::MessageEvent):
        (WebCore::MessageEvent::initMessageEvent):
        (WebCore::MessageEvent::messagePort):
        * dom/MessageEvent.h:
        (WebCore::MessageEvent::create):
        Now accepts a MessagePortArray parameter instead of a single MessagePort.
        (WebCore::MessageEvent::ports):
        * dom/MessagePort.cpp:
        (WebCore::MessagePort::postMessage):
        (WebCore::MessagePort::dispatchMessages):
        (WebCore::MessagePort::disentanglePorts):
        Added new static function to extract a MessagePortChannelArray from a MessagePortArray.
        (WebCore::MessagePort::entanglePorts):
        Added new static function to generate a MessagePortArray (entangled ports) from a MessagePortChannelArray.
        * dom/MessagePort.h:
        * dom/MessagePortChannel.cpp:
        EventData now contains a MessagePortChannelArray field instead of a single MessagePortChannel.
        (WebCore::MessagePortChannel::EventData::create):
        (WebCore::MessagePortChannel::EventData::EventData):
        * dom/MessagePortChannel.h:
        (WebCore::MessagePortChannel::EventData::channels):
        * page/DOMWindow.cpp:
        (WebCore::PostMessageTimer::PostMessageTimer):
        (WebCore::PostMessageTimer::event):
        (WebCore::DOMWindow::postMessage):
        Now accepts a MessagePortArray parameter instead of a single MessagePort.
        * page/DOMWindow.h:
        * workers/DedicatedWorkerContext.cpp:
        (WebCore::DedicatedWorkerContext::postMessage):
        Now accepts a MessagePortArray parameter instead of a single MessagePort.
        (WebCore::DedicatedWorkerContext::dispatchMessage):
        * workers/DedicatedWorkerContext.h:
        * workers/Worker.cpp:
        (WebCore::Worker::postMessage):
        Now accepts a MessagePortArray parameter instead of a single MessagePort.
        (WebCore::Worker::dispatchMessage):
        * workers/Worker.h:
        * workers/WorkerContextProxy.h:
        * workers/WorkerMessagingProxy.cpp:
        Updated WorkerObjectProxy and WorkerContextProxy API implementations to support sending multiple MessagePorts.
        (WebCore::MessageWorkerContextTask::create):
        (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
        (WebCore::MessageWorkerContextTask::performTask):
        (WebCore::MessageWorkerTask::create):
        (WebCore::MessageWorkerTask::MessageWorkerTask):
        (WebCore::MessageWorkerTask::performTask):
        (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
        (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
        * workers/WorkerMessagingProxy.h:
        * workers/WorkerObjectProxy.h:
        Updated WorkerObjectProxy and WorkerContextProxy APIs to support sending multiple MessagePorts.

2009-08-26  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        SocketStreamHandle interface for WebSocket API
        https://bugs.webkit.org/show_bug.cgi?id=28037

        Add build systems only for GNUmakefile.am and WebCore.xcodeproj.now.
        Other build systems will be updated once the code is functional.
        Tests will be landed once this code is complete and functional.

        * GNUmakefile.am:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/network/SocketStreamErrorBase.cpp: Added.
        * platform/network/SocketStreamErrorBase.h: Added.
        * platform/network/SocketStreamHandleBase.cpp: Added.
        * platform/network/SocketStreamHandleBase.h: Added.
        * platform/network/SocketStreamHandleClient.h: Added.
        * platform/network/cf/SocketStreamError.h: Added.
        * platform/network/cf/SocketStreamHandle.h: Added.
        * platform/network/cf/SocketStreamHandleCFNet.cpp: Added.
        * platform/network/soup/SocketStreamError.h: Added.
        * platform/network/soup/SocketStreamHandle.h: Added.
        * platform/network/soup/SocketStreamHandleSoup.cpp: Added.

2009-08-26  Mads Ager  <ager@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] setTimeout does not convert non-string argument to string
        https://bugs.webkit.org/show_bug.cgi?id=28739

        Convert non-string argument to setTimeout to string in the V8
        bindings.

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8Custom::WindowSetTimeoutImpl):

2009-08-25  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        [ES5] Implement getOwnPropertyDescriptor
        https://bugs.webkit.org/show_bug.cgi?id=28724

        Implement the WebCore side of getOwnPropertyDescriptor.  This
        requires a custom implementation of getOwnPropertyDescriptor
        for every class with a custom implementation of getOwnPropertySlot.

        The bindings generator has been updated to generate appropriate
        versions of getOwnPropertyDescriptor for the general case where
        a custom getOwnPropertyDescriptor is not needed.  ES5 is vague
        about how getOwnPropertyDescriptor should work in the context of
        "host" functions with polymorphic [[GetOwnProperty]], so it seems
        okay that occasionally we "guess" what attributes -- eg. determining
        whether a property is writable.

        Test: fast/js/getOwnPropertyDescriptor.html

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
        * bindings/js/JSDOMWindowShell.h:
        * bindings/js/JSHTMLAppletElementCustom.cpp:
        (WebCore::JSHTMLAppletElement::getOwnPropertyDescriptorDelegate):
        * bindings/js/JSHTMLEmbedElementCustom.cpp:
        (WebCore::JSHTMLEmbedElement::getOwnPropertyDescriptorDelegate):
        * bindings/js/JSHTMLObjectElementCustom.cpp:
        (WebCore::JSHTMLObjectElement::getOwnPropertyDescriptorDelegate):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
        * bindings/js/JSNamedNodesCollection.cpp:
        (WebCore::JSNamedNodesCollection::getOwnPropertyDescriptor):
        * bindings/js/JSNamedNodesCollection.h:
        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
        * bindings/js/JSPluginElementFunctions.h:
        * bindings/js/JSQuarantinedObjectWrapper.cpp:
        (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyDescriptor):
        * bindings/js/JSQuarantinedObjectWrapper.h:
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::getOwnPropertyDescriptorDelegate):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/objc/objc_runtime.h:
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertyDescriptor):
        * bridge/runtime.h:
        (JSC::Bindings::Instance::getOwnPropertyDescriptor):
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::getOwnPropertyDescriptor):
        * bridge/runtime_array.h:
        * bridge/runtime_method.cpp:
        (JSC::RuntimeMethod::getOwnPropertyDescriptor):
        * bridge/runtime_method.h:
        * bridge/runtime_object.cpp:
        (JSC::RuntimeObjectImp::getOwnPropertyDescriptor):
        * bridge/runtime_object.h:

2009-08-26  Vincent Untz <vuntz@gnome.org>

        Reviewed by Xan Lopez.

        GObject checks for NULL (and not 0) in g_object_get, so use that
        as we were already doing elsewhere to make the compiler happy.

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

2009-08-26  Alpha Lam  <hclam@chromium.org>

        Reviewed by David Levin.

        RenderThemeMac.mm has incorrect casting for media control element.
        https://bugs.webkit.org/show_bug.cgi?id=28730

        MediaControlMuteButtonElement was incorrectly casted to
        MediaControlPlayButtonElement. This is corrected in this patch.

        No new tests because this is code cleanup and is already covered by existing
        media layout tests.

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

2009-08-26  Robert Sesek  <rsesek@chromium.org>

        Reviewed by Eric Seidel.

        [Chromium] Multi-value select boxes cannot do non-contiguous selection on Mac
        https://bugs.webkit.org/show_bug.cgi?id=28670

        Change the condition regarding the key modifier check for non-contiguous
        selection on a multi-value list from just PLATFORM(MAC) to
        PLATFORM(MAC) || (PLATFORM(CHROMIUM) && PLATFORM(DARWIN)).

        No new tests. This patch only changes the condition on which a certain mouse
        event modifier key is used.

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

2009-08-25  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein

        r47744 causes media/video-controls-with-mutation-event-handler.html to crash
        https://bugs.webkit.org/show_bug.cgi?id=28732

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
            Don't call setAttribute from the construtor, any registered mutation event 
            listener will cause a crash.

        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::createVolumeSlider):
            Set the maxAttr here instead of in the constructor.

2009-08-25  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Brady Eidson.

        Timers from cached pages fire instantly rather than the after the specified timeout delay
        https://bugs.webkit.org/show_bug.cgi?id=28683

        Test: fast/dom/Window/timer-resume-on-navigation-back.html

        * history/CachedPage.cpp:
        (WebCore::CachedPage::restore): Remove duplicated Frame::restore() call, since
            it should be done only once in FrameLoader::open(cachedFrame)
        * page/DOMTimer.cpp: Added a debug-only flag and ASSERT to catch out-of-order suspense/restore.
        (WebCore::DOMTimer::DOMTimer): Ditto.
        (WebCore::DOMTimer::suspend): Ditto.
        (WebCore::DOMTimer::resume): Ditto.
        * page/DOMTimer.h: Ditto.

2009-08-25  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        Setting the volume of a media element has no effect if called too early
        https://bugs.webkit.org/show_bug.cgi?id=28731

        * manual-tests/audio-volume.html: 
            Added.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::setVolume):
        (WebCore::MediaPlayerPrivate::setRate):
            Don't bail if metadata hasn't been loaded, it is fine to set rate and/or
            volume as soon as the movie has been created.

2009-08-25  David Levin  <levin@chromium.org>

        Reviewed by Maciej Stachowiak.

        DocumentThreadableLoader::getShouldUseCredentialStorage should allow for synchronous callbacks from SubresourceLoader::create.
        https://bugs.webkit.org/show_bug.cgi?id=28728

        Test: This code path is exercised while running xhr layout tests in chromium.

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): When called
        back synchronously, the loader is 0, so the assert is changed to allow for that.
        (WebCore::DocumentThreadableLoader::loadRequest): Synchronous callbacks may be
        done before SubresourceLoader::create finishes, so ensure that any previous loader
        -- from a preflight request -- is cleared before calling SubresourceLoader::create.

2009-08-25  Mark Rowe  <mrowe@apple.com>

        Stop installing IDL files in to the framework.

        * WebCore.xcodeproj/project.pbxproj:

2009-08-25  Kent Tamura  <tkent@chromium.org>

        Reviewed by Eric Seidel.

        Support for HTMLInputElement::list and HTMLInputElement::selectedOption.
        https://bugs.webkit.org/show_bug.cgi?id=27756

        Tests: fast/forms/input-list.html
               fast/forms/input-selectedoption.html

        * html/HTMLAttributeNames.in:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseMappedAttribute):
        (WebCore::HTMLInputElement::list):
        (WebCore::HTMLInputElement::selectedOption):
        * html/HTMLInputElement.h:
        * html/HTMLInputElement.idl:

2009-08-25  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        <video> and <audio> controller should be accessible (edit)
        https://bugs.webkit.org/show_bug.cgi?id=28081

        Test: accessibility/media-element.html

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
            Add AccessibilityMediaControls.cpp/.h

        * accessibility/AXObjectCache.cpp:
        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::getOrCreate):
            Create AccessibilityMediaControl. Update Copyright

        * accessibility/AccessibilityMediaControls.cpp:
        * accessibility/AccessibilityMediaControls.h:
            Added.

        * accessibility/AccessibilityObject.cpp:
        * accessibility/AccessibilityObject.h:
            Add isMediaTimeline. Update Copyright.

        * accessibility/AccessibilitySlider.h:
            Make constructor protected instead of private so AccessibilityMediaTimeline can
            call it.

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
            Add NSAccessibilityValueDescriptionAttribute to range attributes. 
        (-[AccessibilityObjectWrapper subrole]):
            Return NSAccessibilityTimelineSubrole for AccessibilityMediaTimeline.

        * dom/Node.h:
            add isMediaControlElement.

        * page/mac/WebCoreViewFactory.h:
        * platform/LocalizedStrings.h:
        * platform/mac/LocalizedStringsMac.mm:
        (WebCore::localizedMediaControlElementString): 
        (WebCore::localizedMediaControlElementHelpText):
        (WebCore::localizedMediaTimeDescription): 
            New, return localized media controller strings.

        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::mediaElementLoadingStateText):
        (WebCore::mediaElementLiveBroadcastStateText):
            Move inside of "#if ENABLE(VIDEO)"
        (WebCore::localizedMediaControlElementString):
        (WebCore::localizedMediaControlElementHelpText):
        (WebCore::localizedMediaTimeDescription):

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlElement::MediaControlElement):
            Initialize m_displayType.
        (WebCore::MediaControlElement::MediaControlElement):
        (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
            Fix style.
        (WebCore::MediaControlInputElement::MediaControlInputElement):
            Set m_displayType based on pseudo style ID.
        (WebCore::MediaControlInputElement::MediaControlInputElement):
            rename local "o" to "object".
        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
            Update for MediaControlInputElement constructor change.
        (WebCore::MediaControlTimeDisplayElement::formatTime):
            New, moved here from RenderMedia so AccessibilityMediaTimeDisplay can use it.
        (WebCore::MediaControlTimeDisplayElement::setCurrentValue):
            New, set text to current time.
        * rendering/MediaControlElements.h:

        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::updateControls):
            Create controls in tab order.
        (WebCore::RenderMedia::formatTime):
            Moved to MediaControlTimeDisplayElement::formatTime.
        (WebCore::RenderMedia::updateTimeDisplay):
            Call MediaControlTimeDisplayElement::setCurrentValue.
        * rendering/RenderMedia.h:

2009-08-25  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        [V8] Fix Canvas layout test failures in Chromium build.
        https://bugs.webkit.org/show_bug.cgi?id=28720

        The previous fix r47757 does not handle the V8 object conversion correctly.

        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):

2009-08-25  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        [V8] Fix compiling errors in Chromium build caused by Canvas3D changes from r47752.
        https://bugs.webkit.org/show_bug.cgi?id=28717

        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):

2009-08-25  Alpha Lam  <hclam@chromium.org>

        Reviewed by David Levin.

        [chromium] Implement media volume slider for chromium
        https://bugs.webkit.org/show_bug.cgi?id=28715

        Provided the implementation of the volume slider and its container for
        chromium port. With this change there will be a usable volume control
        slider for chromium theme.

        No new tests since this is covered by existing media layout tests.

        * css/mediaControlsChromium.css: CSS style for the volume slider.
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::mediaSliderThumbImage): Returns the image for slider thumb.
        (WebCore::mediaVolumeSliderThumbImage): Returns the image for volume slider thumb.
        (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack): Paints the track with one vertical white line.
        (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize): Adjusts thumb sizes according to the images.
        (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb): Paints slider thumb image.
        (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb): Paints volume slider thumb image.

2009-08-25  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Missed checking in 2 Canvas3D files
        https://bugs.webkit.org/show_bug.cgi?id=28018

        * bindings/js/JSCanvasRenderingContextCustom.cpp: Implements toJS to do proper subclass binding
        * bindings/js/JSCanvasRenderingContext3DCustom.cpp: Argument marshaling for 3D calls

2009-08-25  Mads Ager  <ager@chromium.org>

        Reviewed by Adam Barth.

        [V8] Exception from JavaScript propagates to main script
        https://bugs.webkit.org/show_bug.cgi?id=26433

        Make sure that exceptions thrown both at compile time and at
        runtime in javascript URLs are isolated from the main script.

        Test: fast/dom/javascript-url-exception-isolation.html

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluate):

2009-08-25  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Added all new Canvas3D files to the build
        https://bugs.webkit.org/show_bug.cgi?id=28018

        This also hooks up CanvasRenderingContext as the common base class for
        CanvasRenderingContext2D and CanvasRenderingContext3D. And it adds a bit
        of logic throughout to support the new CanvasRenderingContext3D object.
        But nothing is hooked up yet.

        * DerivedSources.make:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore/GNUmakefile.am:
        * WebCore/WebCore.gypi:
        * WebCore/WebCoreSources.bkl:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::strokeStyle):
        (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
        (WebCore::JSCanvasRenderingContext2D::fillStyle):
        (WebCore::JSCanvasRenderingContext2D::setFillStyle):
        (WebCore::JSCanvasRenderingContext2D::setFillColor):
        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
        (WebCore::JSCanvasRenderingContext2D::strokeRect):
        (WebCore::JSCanvasRenderingContext2D::drawImage):
        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
        (WebCore::JSCanvasRenderingContext2D::setShadow):
        (WebCore::JSCanvasRenderingContext2D::createPattern):
        (WebCore::JSCanvasRenderingContext2D::putImageData):
        (WebCore::JSCanvasRenderingContext2D::fillText):
        (WebCore::JSCanvasRenderingContext2D::strokeText):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::isObservableThroughDOM):
        * bindings/js/JSDocumentCustom.cpp:
        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        (WebCore::JSHTMLCanvasElement::markChildren):
        * dom/Document.cpp:
        (WebCore::Document::getCSSCanvasContext):
        * dom/Document.h:
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):
        (WebCore::HTMLCanvasElement::willDraw):
        (WebCore::HTMLCanvasElement::reset):
        (WebCore::HTMLCanvasElement::paint):
        (WebCore::HTMLCanvasElement::is3D):
        (WebCore::HTMLCanvasElement::context3D):
        (WebCore::HTMLCanvasElement::texture3D):
        * html/HTMLCanvasElement.h:
        (WebCore::HTMLCanvasElement::renderingContext):
        * html/canvas/CanvasObject.cpp:
        (WebCore::CanvasObject::~CanvasObject):
        * html/canvas/CanvasRenderingContext.idl:
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
        (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
        * html/canvas/CanvasRenderingContext2D.h:
        (WebCore::CanvasRenderingContext2D::is2d):
        * html/canvas/CanvasRenderingContext2D.idl:
        * html/canvas/CanvasRenderingContext3D.cpp:
        * html/canvas/CanvasRenderingContext3D.idl:

2009-08-25  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        REGRESSION (r47630): fast/repaint/background-generated.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=28704

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::calculateFillTileSize): Handle SizeNone.
        * rendering/style/FillLayer.cpp:
        (WebCore::FillLayer::FillLayer): Initialize the size type to SizeNone.
        * rendering/style/FillLayer.h:
        (WebCore::FillSize::FillSize): Changed assignment to initialization and
            removed redundant assignment to size.

2009-08-25  Yusuke Sato  <yusukes@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Complex text doesn't show up with text stroking
        https://bugs.webkit.org/show_bug.cgi?id=28707

        Skip the NULL check of m_hdc if Windows GDI is not in use.

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::drawComplexText):

2009-08-25  Alpha Lam  <hclam@chromium.org>

        Reviewed by David Levin.

        Media controls panel does not have a volume control slider
        https://bugs.webkit.org/show_bug.cgi?id=28241

        Introduced "-webkit-media-controls-volume-slider",
        "-webkit-media-controls-volume-slider-container" and the supporting
        implementation. Also added appearances of "media-volume-slider" and
        "media-volume-slider-container".

        The implementation of the controls are in WebCore::MediaControlElements.
        Logic to trigger the display of the volume controls are in WebCore::RenderMedia.

        No new tests since this change doesn't have theme implementation and the
        volume slider is disabled by default.

        * accessibility/AccessibilitySlider.cpp:
        (WebCore::AccessibilitySlider::orientation): Marks that volume slider is vertical.
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added corresponding CSS values.
        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::extractPseudoType): ditto.
        * css/CSSSelector.h:
        (WebCore::CSSSelector::): ditto.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto.
        * css/CSSValueKeywords.in: ditto.
        * css/mediaControls.css: Makes the volume slider disabled by default.
        * platform/ThemeTypes.h: Defines theme parts for volume slider and its container.
        (WebCore::):
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
        (WebCore::MediaControlVolumeSliderContainerElement::styleForElement):
        Adjust the CSS values for "display", "postion", "left" and "top" according to member variables.
        (WebCore::MediaControlVolumeSliderContainerElement::setVisible): Affects the "display" CSS value.
        (WebCore::MediaControlVolumeSliderContainerElement::setPosition): Affects the "left" and "top" CSS values.
        (WebCore::MediaControlVolumeSliderContainerElement::hitTest): Hit testing this element.
        (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
        (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): Modifies the volume using the slider value, allows dragging.
        * rendering/MediaControlElements.h:
        (WebCore::): Added definition for MediaControlVolumeSliderElement and MediaControlVolumeSliderContainerElement.
        (WebCore::MediaControlVolumeSliderContainerElement::isVisible): Inline getter.
        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::styleDidChange): Updates styles for volume container and volume slider.
        (WebCore::RenderMedia::createVolumeSliderContainer): Creates volume slider container and attach to panel.
        (WebCore::RenderMedia::createVolumeSlider): Creates volume slider and attach to volume slider container.
        (WebCore::RenderMedia::updateControls): Updates volume container and volume slider.
        (WebCore::RenderMedia::updateVolumeSliderContainer): Sets the visibility and position of volume slider container and its child.
        (WebCore::RenderMedia::forwardEvent):
        Hit testing the volume slider container and volume slider to toggle the visibility and forward events to slider.
        * rendering/RenderMedia.h:
        Added definition for RenderMedia::updateVolumeSliderContainer().
        * rendering/RenderMediaControls.cpp:
        (WebCore::RenderMediaControls::paintMediaControlsPart): Not implemented.
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::createThumbStyle): Makes volume slider vertical.
        (WebCore::RenderSlider::thumbRect): ditto.
        (WebCore::RenderSlider::mouseEventIsInThumb): ditto.
        (WebCore::RenderSlider::setValueForPosition): ditto.
        (WebCore::RenderSlider::positionForOffset): ditto.
        (WebCore::RenderSlider::currentPosition): ditto.
        (WebCore::RenderSlider::trackSize): ditto.
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle): Adjust style for volume slider thumb.
        (WebCore::RenderTheme::paint): Paints volume control parts using theme.
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::paintMediaVolumeSliderContainer): Naive implementation to be overridden.
        (WebCore::RenderTheme::paintMediaVolumeSliderTrack): ditto.
        (WebCore::RenderTheme::paintMediaVolumeSliderThumb): ditto.
        * rendering/style/RenderStyleConstants.h:
        (WebCore::): Constants for volume control parts.

2009-08-25  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt/Mac] Use CONFIG+=build_all only when building libraries

        If no configuration is specified when building WebKit we pass the
        debug_and_release option to QMake which results in Makefiles for
        both configurations being generated.

        Previously we built both of these configurations by default, for
        all targets (both the QtWebKit framework/dyldlib and the various
        executables such as QtLauncher and tests). This makes sense for
        the libraries, which get the _debug suffix and can be loaded on
        demand by setting the DYLD_IMAGE_SUFFIX, but for executables we
        ended up building the same executable twice.

        We now only build one instance of each executable, and since this
        is a developer build we build the debug-version. Passing either
        --debug or --release to build-webkit will override this, and
        even in the default case the release version can still be built
        by running 'make release' in the the build directory of each
        target.

        * WebCore.pro:

2009-08-25  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        https://bugs.webkit.org/show_bug.cgi?id=28690
        Build failure in webkitgtk+-1.1.3

        Do not use deprecated function to unref a pixbuf.

        * platform/gtk/CursorGtk.cpp:
        (WebCore::Cursor::Cursor):

2009-08-24  Hironori Bono  <hbono@chromium.org>

        Reviewed by Adam Barth.

        Fix Bug 27827 "[Chromium] Functions Keys don't work in google spreadsheet".
        <https://bugs.webkit.org/show_bug.cgi?id=27827>.

        Because of the lack of mappings from GDK key-codes to WebKit key-codes,
        Chromium cannot send valid key-codes to JavaScript when a user types
        function keys. This change just copies the mappings from 'KeyEventGtk.cpp'.

        To write layout tests for this issue, added mappings from function-key
        names to platform-specific key-codes to EventSendingController objects
        so that eventSender.keyDown() can send function-key events without using
        platform-specific key codes. (Unfortunately, this eventSender.keyDown() change
        is only for Mac. So this change adds this new test to Skipped tests for other
        platforms to prevent this change from crashing the build trees.)

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

       * platform/chromium/KeyCodeConversionGtk.cpp: Add mappings from GDK key-codes
        to WebKit key-code for function keys.
        (WebCore::windowsKeyCodeForKeyEvent):

2009-08-24  Antti Koivisto  <antti@apple.com>

        Reviewed by Simon Fraser.
        
        https://bugs.webkit.org/show_bug.cgi?id=28698
        Avoid unnecessary transformations for the window resizer rect.

        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::setFrameRect):

2009-08-24  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/7161900> REGRESSION: 100 MB membuster leak on windows due to 47391
        (DNS prefetching support)

        * platform/network/cf/DNSCFNet.cpp: (WebCore::prefetchDNS): Use a run loop from secondary
        thread on Windows, because there isn't one on main one.

2009-08-24  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=28374
        Cross-scheme requests should not be blocked by appcache rules

        Test: http/tests/appcache/different-scheme.html

        * loader/appcache/ApplicationCacheHost.cpp:
        (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache):
        Resources with different schemes can never be loaded from appcache.

2009-08-24  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler and Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=28688
        REGRESSION(r24994): Cannot create a frame with a javascript URL

        Test: http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html

        * bindings/js/JSAttrCustom.cpp: (WebCore::JSAttr::setValue):
        * bindings/js/JSElementCustom.cpp: (WebCore::allowSettingSrcToJavascriptURL):
        * bindings/js/JSHTMLFrameElementCustom.cpp: (WebCore::allowSettingJavascriptURL):
        * bindings/js/JSHTMLIFrameElementCustom.cpp: (WebCore::JSHTMLIFrameElement::setSrc):
        Omit the checks if there is no document in frame yet.

2009-08-24  Nate Chapin  <japhet@chromium.org>

        Reviewed by Eric Seidel.

        Fix crash in fast/css/rem-dynamic-scaling.html due to a freed
        RenderStyle being accessed.

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

        * dom/Element.cpp:
        (WebCore::Element::recalcStyle): Make currentStyle a RefPtr.

2009-08-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/5743105> Long freezing during loading and selecting text
        of a large table
        https://bugs.webkit.org/show_bug.cgi?id=14918

        * rendering/RenderView.cpp:
        (WebCore::RenderView::setSelection): Added calls to
            beginDeferredRepaints() and endDeferredRepaints() around the
            invalidation of the selection, in order to better coalesce multiple
            invalid rectangles.

2009-08-24  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Simplify findTreeElement code, get rid of potential infinite loop.

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

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
        * inspector/front-end/treeoutline.js:
        (TreeOutline.prototype.getCachedTreeElement):
        (TreeOutline.prototype.findTreeElement):
        * inspector/front-end/utilities.js:
        (isAncestorNode):
        ():

2009-08-24  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Do expand local scope when hitting the break

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

        * inspector/front-end/ScopeChainSidebarPane.js:
        (WebInspector.ScopeChainSidebarPane.prototype.update):

2009-08-24  Ada Chan  <adachan@apple.com>

        Reviewed by Steve Falkenburg.

        Make sure we use the current FrameView's frame rect when
        going back to a cached page.
        
        https://bugs.webkit.org/show_bug.cgi?id=28659

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

2009-08-24  Cameron McCormack  <cam@mcc.id.au>

        Reviewed by Darin Adler.

        Modifying <text rotate=""> doesn't clear the corresponding SVGAnimatedNumberList
        https://bugs.webkit.org/show_bug.cgi?id=28673

        Test: svg/dom/text-rotate-live.html

        * svg/SVGNumberList.cpp:
        (WebCore::SVGNumberList::parse): Clear the list before adding the parsed
        numbers.

2009-08-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by NOBODY (build fix)

        Turn off ENABLE_3D_CANVAS in the xconfig files.

        * Configurations/FeatureDefines.xcconfig:

2009-08-24  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Only expand local scope when hitting the break

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

        * inspector/front-end/ScopeChainSidebarPane.js:
        (WebInspector.ScopeChainSidebarPane.prototype.update):

2009-08-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        background-size fails to parse if a single length/percentage/auto is followed by a comma
        https://bugs.webkit.org/show_bug.cgi?id=28674

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFillSize): Added an allowComma parameter,
            which is set to false when this method consumes a comma. Moved
            handling of 'contain' and 'cover' from parseFillProperty into this
            method.
        (WebCore::CSSParser::parseFillProperty): Set allowComma to true before
            processing the next value, and pass allowComma to parseFillSize.
        * css/CSSParser.h:

2009-08-17  Martin Robinson  <martin.james.robinson@gmail.com>

        Reviewed by Gustavo Noronha.

        [GTK] Support for cursors that are images
        https://bugs.webkit.org/show_bug.cgi?id=28346

        Added support for cursors which are images for CursorGtk. Added
        a manual test for this.

        * manual-tests/gtk/cursor-image.html: Added.
        * manual-tests/gtk/resources/redcursor.cur: Added.
        * platform/gtk/CursorGtk.cpp:
        (WebCore::Cursor::Cursor):

2009-08-24  Zan Dobersek  <zandobersek@gmail.com>

        Reviewed by Gustavo Noronha.

        [GTK] Integrate GStreamer video with the graphics backend
        https://bugs.webkit.org/show_bug.cgi?id=16356

        Improves GStreamer backend implementation of MediaPlayerPrivate class.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mediaPlayerPrivateErrorCallback): Send proper MediaPlayer
        error for different GStreamer errors to MediaPlayerPrivate.
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Move static
        initialization boolean to a better place.
        (WebCore::MediaPlayerPrivate::play):
        (WebCore::MediaPlayerPrivate::pause):
        (WebCore::MediaPlayerPrivate::duration): Return if error occured, do not
        consider the source as stream if duration query failed.
        (WebCore::MediaPlayerPrivate::currentTime): Return if error occured, use
        an early return.
        (WebCore::MediaPlayerPrivate::seek): Return if error occured.
        (WebCore::MediaPlayerPrivate::setEndTime): Remove implementation since this
        function doesn't seem to be used anywhere in WebCore.
        (WebCore::MediaPlayerPrivate::paused):
        (WebCore::MediaPlayerPrivate::seeking):
        (WebCore::MediaPlayerPrivate::setRate): Seek to current time when rate is set.
        (WebCore::MediaPlayerPrivate::maxTimeBuffered): Return if error occured.
        (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto.
        (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
        (WebCore::MediaPlayerPrivate::bytesLoaded):
        (WebCore::MediaPlayerPrivate::totalBytesKnown):
        (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
        (WebCore::MediaPlayerPrivate::updateStates): Return if error occured, update
        after seek ended with a successful change
        (WebCore::MediaPlayerPrivate::didEnd): Do not pause the playbin when end is reached.
        (WebCore::MediaPlayerPrivate::loadingFailed): Update network state with the given error.
        (WebCore::mimeTypeCache): Gather supported mime types from GStreamer.
        (WebCore::MediaPlayerPrivate::getSupportedTypes):
        (WebCore::MediaPlayerPrivate::supportsType):
        (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
        (WebCore::MediaPlayerPrivate::supportsFullscreen): First step towards fullscreen
        support.
        (WebCore::MediaPlayerPrivate::createGSTPlayBin): Use playbin2 instead of playbin,
        do not set playbin's audio sink.
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
        (webkit_video_sink_idle_func): Use C++ casts, decrease reference count of async
        queue at the end of the idle function.
        (webkit_video_sink_render): Increase reference count of async queue.
        (webkit_video_sink_stop): Remove any idle functions with the sink as data.

2009-08-23  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Remaining new files for Canvas3D
        https://bugs.webkit.org/show_bug.cgi?id=28018

        * bindings/js/JSHTMLCanvasElementCustom.cpp: Added Canvas3D method behind an ifdef
        * html/canvas/CanvasByteArray.cpp: Added. Efficient array of bytes for passing to GL functions
        * html/canvas/CanvasByteArray.h: Added.
        * html/canvas/CanvasByteArray.idl: Added.
        * html/canvas/CanvasNumberArray.cpp: Added. Efficient array of 32 bit floats for passing to GL functions
        * html/canvas/CanvasNumberArray.h: Added.
        * html/canvas/CanvasNumberArray.idl: Added.

2009-08-24  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Migrate call frames interaction to the InjectedScript-based schema.

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

        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype.update):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.doEvalInWindow):
        (WebInspector.ConsoleTextMessage):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype.get domWindow):
        (InspectorController.openInInspectedWindow):
        (InspectorController.getCallFrames):
        (InspectorController.evaluateInCallFrame):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.reset):
        (WebInspector.ElementsPanel.prototype.generateStylesheet):
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.evaluate):
        (InjectedScript._evaluateOn):
        (InjectedScript.openInInspectedWindow):
        (InjectedScript.getCallFrames):
        (InjectedScript.evaluateInCallFrame):
        (InjectedScript._callFrameForId):
        (InjectedScript._objectForId):
        (InjectedScript.CallFrameProxy):
        (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection.prototype._update):
        * inspector/front-end/ObjectProxy.js:
        (WebInspector.ObjectPropertyProxy):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
        * inspector/front-end/ScopeChainSidebarPane.js:
        (WebInspector.ScopeChainSidebarPane):
        (WebInspector.ScopeChainSidebarPane.prototype.update):
        (WebInspector.ScopeVariableTreeElement.prototype.onattach):
        (WebInspector.ScopeVariableTreeElement.prototype.onexpand):
        (WebInspector.ScopeVariableTreeElement.prototype.oncollapse):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
        (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame):
        (WebInspector.ScriptsPanel.prototype.debuggerPaused.callback):
        (WebInspector.ScriptsPanel.prototype.debuggerPaused):

2009-08-24  Kent Tamura  <tkent@chromium.org>

        Reviewed by Eric Seidel.

        Add support for the placeholder attribute and DOM property of the textarea element.
        https://bugs.webkit.org/show_bug.cgi?id=21248

        A DOM node for an INPUT element doesn't have a flag for placeholder
        visibility anymore.  This patch also fixes a bug that a renderer
        doesn't reflect a corresponding DOM value change.

        Tests: fast/forms/textarea-placeholder-dom-property.html
               fast/forms/textarea-placeholder-pseudo-style.html
               fast/forms/textarea-placeholder-set-attribute.html
               fast/forms/textarea-placeholder-set-value.html

        * css/html.css: Add the default style for placeholder of textarea.
        * dom/InputElement.cpp: Cleanup for m_placeholderShouldBeVisible removal
        (WebCore::InputElement::dispatchFocusEvent):
        (WebCore::InputElement::dispatchBlurEvent):
        (WebCore::InputElement::placeholderShouldBeVisible):
        (WebCore::InputElement::updatePlaceholderVisibility):
        (WebCore::InputElement::setValueFromRenderer):
        (WebCore::InputElementData::InputElementData):
        * dom/InputElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::dispatchFocusEvent):
        (WebCore::HTMLInputElement::dispatchBlurEvent):
        (WebCore::HTMLInputElement::setValue):
        (WebCore::HTMLInputElement::placeholderShouldBeVisible):
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::updatePlaceholderVisibility):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
        (WebCore::HTMLTextAreaElement::setValue):
        (WebCore::HTMLTextAreaElement::placeholderShouldBeVisible):
        (WebCore::HTMLTextAreaElement::updatePlaceholderVisibility):
        (WebCore::HTMLTextAreaElement::dispatchFocusEvent):
        (WebCore::HTMLTextAreaElement::dispatchBlurEvent):
        * html/HTMLTextAreaElement.h:
        * html/HTMLTextAreaElement.idl:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::RenderTextControl):
        (WebCore::RenderTextControl::styleDidChange):
        (WebCore::RenderTextControl::setInnerTextStyle):
        (WebCore::RenderTextControl::updatePlaceholderVisibility):
        * rendering/RenderTextControl.h:
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
        (WebCore::RenderTextControlMultiLine::nodeAtPoint):
        (WebCore::RenderTextControlMultiLine::updateFromElement):
        (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
        (WebCore::RenderTextControlMultiLine::textBaseStyle):
        * rendering/RenderTextControlMultiLine.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
        (WebCore::RenderTextControlSingleLine::textBaseStyle):
        (WebCore::RenderTextControlSingleLine::updateFromElement):
        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
        * rendering/RenderTextControlSingleLine.h:
        * wml/WMLInputElement.cpp:
        (WebCore::WMLInputElement::dispatchFocusEvent):
        (WebCore::WMLInputElement::dispatchBlurEvent):
        (WebCore::WMLInputElement::setValue):
        (WebCore::WMLInputElement::placeholderShouldBeVisible):

2009-08-23  Dirk Schulze  <krit@webkit.org>

        Reviewed by Mark Rowe.

        Code clean-up and build fix for filters enabled builds. Moved SVGNames.h
        into #if ENABLE(SVG) for Document.cpp and added SVGNames.h to the other
        files. They are needed there after r47688.

        * dom/Document.cpp:
        * svg/SVGComponentTransferFunctionElement.h:
        * svg/SVGFELightElement.h:
        * svg/SVGFEMergeNodeElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.h:

2009-08-23  Gustavo Noronha Silva  <gns@gnome.org>

        Unreviewed, build fix for make distcheck on GTK+.

        * GNUmakefile.am: Added files needed for the build.
        * bindings/js/JSDOMWindowCustom.cpp: Protect SharedWorker include
        with #if clause.
        * bindings/js/JSEventTarget.cpp: Dito.
        * dom/Document.cpp: Dito.
        * loader/FrameLoader.cpp: Dito.

2009-08-23  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Timothy Hatcher.

        Inspector: Throws an Error on "null"
        https://bugs.webkit.org/show_bug.cgi?id=28665

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

2009-08-23  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Inspector: REGRESSION Formatting Function in Console is Abbreviated Too Often

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

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

2009-08-22  Martin Robinson  <martin.james.robinson@gmail.com>

        Reviewed by Xan Lopez.

        [GTK] BitmapImage::getGdkPixbuf does not handle alpha channels properly
        https://bugs.webkit.org/show_bug.cgi?id=28345

        When doing the conversion between cairo_surface_t* and GdkPixbuf*
        account for the differences in the respective formats' in-memory
        image format.

        * platform/graphics/gtk/ImageGtk.cpp:
        (WebCore::getCairoSurfacePixel):
        (WebCore::getGdkPixbufPixel):
        (WebCore::BitmapImage::getGdkPixbuf):

2009-08-22  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        Make DOM classes start with a reference count of 1, like all other RefCounted
        
        Next step: Element, HTMLElement, HTMLAnchorElement, HTMLAppletElement,
        HTMLAreaElement, HTMLEmbedElement, HTMLFrameElement, HTMLIFrameElement,
        HTMLObjectElement, HTMLPlugInElement, HTMLPlugInImageElement.

        * DerivedSources.make: Fix error seen every time we build by escaping the $
        in the build rule, since you have to use $$ for that in make.

        * WebCore.base.exp: Updated.

        * bindings/objc/DOM.mm:
        Added now-needed include of SVGNames.h.

        * dom/Document.cpp: Added now-needed include of SVGNames.h.
        (WebCore::Document::createElement): Use create instead of new.

        * dom/Element.cpp:
        (WebCore::Element::Element): Added ConstructionType argument so the caller
        can determine whether this starts with a reference count of either 0 or 1.
        Later we will remove this again once they are all 1.
        (WebCore::Element::create): Added.

        * dom/Element.h: Added create and made constructor protected.

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::StyledElement): Added ConstructionType argument.
        * dom/StyledElement.h: Made many functions protected or private, including
        the constructor.

        * dom/make_names.pl: Use create to create the base elements HTMLElement,
        SVGElement, and WMLElement.

        * editing/CreateLinkCommand.cpp:
        (WebCore::CreateLinkCommand::doApply): Use create instead of new.
        * editing/UnlinkCommand.cpp:
        (WebCore::UnlinkCommand::doApply): Ditto.

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::create): Added.
        * html/HTMLAnchorElement.h: Made constructor protected and added create.
        Also made m_rootEditableElementForSelectionOnMouseDown a RefPtr.

        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::create): Added.
        * html/HTMLAppletElement.h: Made constructor private and added create.

        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::create): Added.
        * html/HTMLAreaElement.h: Made constructor private and added create.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::create): Added.
        * html/HTMLElement.h: Made constructor protected and added create.
        Made other functions protected and private. Also added inline
        definition of constructor.

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::create): Added.
        * html/HTMLEmbedElement.h: Made constructor private and added create.
        Made other functions private.

        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::create): Added.
        (WebCore::HTMLFrameElement::parseMappedAttribute):
        * html/HTMLFrameElement.h: Made constructor private and added create.
        Made other functions private.

        * html/HTMLFrameElementBase.h: Made functions protected and private.

        * html/HTMLFrameOwnerElement.cpp:
        (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): Pass
        CreateElement so reference count starts at 1.

        * html/HTMLFrameOwnerElement.h: Made functions protected and private.

        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::create): Added.
        * html/HTMLIFrameElement.h: Made constructor private and added create.
        Made other functions private.

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::create): Added.
        (WebCore::HTMLObjectElement::containsJavaApplet): Changed while loop
        into a for loop and tweaked formatting.

        * html/HTMLObjectElement.h: Made constructor private and added create.
        Made other functions private.

        * html/HTMLPlugInElement.h: Made constructor protected.
        Made other functions protected and private.

        * html/HTMLPlugInImageElement.h: Made constructor and another function
        protected.

        * html/HTMLTagNames.in: Removed createWithNew from all classes that
        now have create functions. Moved conditional noscript to a separate
        paragraph.

        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Use create.
        (WebCore::HTMLViewSourceDocument::addLink): Ditto.
        * page/DragController.cpp:
        (WebCore::documentFragmentFromDragData): Ditto.

        * svg/SVGElement.cpp:
        (WebCore::SVGElement::SVGElement): Pass CreateElementZeroRefCount
        so reference count still starts at 0. Will change this class later.
        (WebCore::SVGElement::create): Added.
        * svg/SVGElement.h: Added create, made constructor protected, and
        made other functions protected and private. Removed unneeded
        SVGNames.h include.

        * svg/SVGExternalResourcesRequired.h: Added now-needed SVGNames.h
        include.

        * svg/SVGStopElement.h: Added now-needed SVGNames.h include.
        Made functions private.

        * wml/WMLElement.cpp:
        (WebCore::WMLElement::WMLElement): Pass CreateElementZeroRefCount
        so reference count still starts at 0. Will change this class later.
        (WebCore::WMLElement::create): Added.
        * wml/WMLElement.h: Added create and made constructor protected.

        * wml/WMLTagNames.in: Removed createWithNew from WMLElement.

2009-08-22  Adele Peterson  <adele@apple.com>

        Reviewed by Anders Carlsson.

        Fix for <rdar://problem/7161656> Crash in RenderObject::destroy when using custom scrollbars

        Custom scrollbars normally get detached when a document gets detached.  In this case, a crash was happening when the document had gone into the page cache 
        and then was getting destroyed without proper scrollbar teardown.  This change makes custom scrollbars get detached when the document enters the cache.

        I couldn't figure out a way to reliably cause this to happen in DRT, since the reproducible case relies on the cache being purged at a particular time.

        * history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): Detach custom scrollbars when the CachedFrame is created.  
          They'll get reattached when the document comes out of the page cache.
        * page/FrameView.cpp: (WebCore::FrameView::~FrameView): Added some asserts to catch this problem earlier in debug builds.

2009-08-22  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        Make sure self-collapsing blocks that clear floats are still able to collapse their bottom margins with
        the bottom of their parent blocks.  The old code prevented all collapsing, but all CSS2.1 states is that:
        "An element that has had clearance applied to it never collapses its top margin with its parent block's bottom margin."
        
        The implication is that the bottom margin can still collapse, and the block-inside-inline form of
        fast/block/margin-collapse/025.html (added as fast/block/margin-collapse/block-inside-inline/025.html) depends
        on it to get comparable results.

        Added block-inside-inline tests (a whole slew of them) in fast/block/margin-collapse/block-inside-inline/

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::MarginInfo::MarginInfo):
        (WebCore::RenderBlock::collapseMargins):
        (WebCore::RenderBlock::clearFloatsIfNeeded):
        (WebCore::RenderBlock::handleBottomOfBlock):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::MarginInfo::clearMargin):
        (WebCore::RenderBlock::MarginInfo::canCollapseBottomWithChildren):

2009-08-22  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Need to implement ARIA role="listitem" and role="list"
        https://bugs.webkit.org/show_bug.cgi?id=28606

        Test: platform/mac-snowleopard/accessibility/aria-list-and-listitem.html

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::getOrCreate):
        * accessibility/AccessibilityList.cpp:
        (WebCore::AccessibilityList::isUnorderedList):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::RoleEntry::):

2009-08-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        Clean up fill image geometry calculation
        https://bugs.webkit.org/show_bug.cgi?id=28652

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::calculateFillTileSize): Renamed
            calculateBackgroundSize() to this. Replaced separate scaledWidth and
            scaledHeight parameters with a single scaledSize parameter. Renamed
            parameters and local variables.
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Changed
            to use CSS3 Backgrounds and Borders terminology in comments and
            local variable names. Renamed, clarified and consolidated some local
            variables.
        * rendering/RenderBoxModelObject.h: Made calculateFillTileSize() private.

2009-08-22  Chris Marrin  <cmarrin@apple.com>

        Unreviewed, build fix.

        Backing out http://trac.webkit.org/changeset/47669

        * html/canvas/CanvasRenderingContext2D.cpp:
        * html/canvas/CanvasRenderingContext2D.h:

2009-08-22  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        Backing out http://trac.webkit.org/changeset/47671 in preparation of
        rolling out http://trac.webkit.org/changeset/47669.

2009-08-22  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Anders Carlsson.

        Build fix, add CanvasRenderingContext to build systems.
        https://bugs.webkit.org/show_bug.cgi?id=28018

        * DerivedSources.make: Added CanvasRenderinContext.
        * GNUmakefile.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * WebCoreSources.bkl: Ditto.

2009-08-21  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Oliver Hunt.

        New files implementing GL buffer wrappers, and support to make them platform independent
        https://bugs.webkit.org/show_bug.cgi?id=28018

        * html/canvas/CanvasBuffer.cpp: Added. Wrapper around GL Buffer object
        * html/canvas/CanvasBuffer.h: Added.
        * html/canvas/CanvasBuffer.idl: Added.
        * html/canvas/CanvasFramebuffer.cpp: Added. Wrapper around GL Framebuffer object
        * html/canvas/CanvasFramebuffer.h: Added.
        * html/canvas/CanvasFramebuffer.idl: Added.
        * html/canvas/CanvasObject.h: Expose m_context
        * html/canvas/CanvasProgram.cpp: Added. Wrapper around GL Program object
        * html/canvas/CanvasProgram.h: Added.
        * html/canvas/CanvasProgram.idl: Added.
        * html/canvas/CanvasRenderbuffer.cpp: Added. Wrapper around GL Renderbuffer object
        * html/canvas/CanvasRenderbuffer.h: Added.
        * html/canvas/CanvasRenderbuffer.idl: Added.
        * html/canvas/CanvasRenderingContext3D.cpp: Move m_objects hash table from GraphicsContext3D to here
        * html/canvas/CanvasRenderingContext3D.h:
        * html/canvas/CanvasShader.cpp: Added. Wrapper around GL Shader object
        * html/canvas/CanvasShader.h: Added.
        * html/canvas/CanvasShader.idl: Added.
        * html/canvas/CanvasTexture.cpp: Added. Wrapper around GL Texture object
        * html/canvas/CanvasTexture.h: Added.
        * html/canvas/CanvasTexture.idl: Added.
        * platform/graphics/GraphicsContext3D.cpp: Removed.
        * platform/graphics/GraphicsContext3D.h: Move m_objects hash table from here to CanvasRenderingContext3D
        * platform/graphics/mac/GraphicsContext3DMac.cpp: Implement platform dependent code for GL object creation/destruction

2009-08-21  Darin Adler  <darin@apple.com>

        * WebCore.vcproj/build-generated-files.sh:
        * make-generated-sources.sh:
        Removed obsolete code to set up CREATE_HASH_TABLE.

2009-08-21  Adele Peterson  <adele@apple.com>

        Reviewed by Mark Rowe.

        <rdar://problem/7162322> Custom style sheet ignored if UAC is enabled 

        * platform/win/SharedBufferWin.cpp: (WebCore::SharedBuffer::createWithContentsOfFile): 
        No need to open the file with write access.  Only read access is needed.

2009-08-21  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/7161454> Leaks seen during http/tests/xmlhttprequest/cross-origin-no-authorization.html

        Also fixes leaks seen on appcache tests.

        * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::cancel): Work around
        something that's likely a CFNetwork issue. Note that on Windows, there is no matching API
        to call, and we do not think that the leak occurs there anyway.

2009-08-21  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=28650
        Remove cross-thread code from CrossOriginPreflightResultCache.
        Removed mutexes, atomic initializer and string copy.

        No new tests, the worker tests cover this.

        * loader/CrossOriginPreflightResultCache.cpp:
        (WebCore::addToAccessControlAllowList):
        (WebCore::CrossOriginPreflightResultCache::shared):
        (WebCore::CrossOriginPreflightResultCache::appendEntry):
        (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
        (WebCore::CrossOriginPreflightResultCache::empty):
        * loader/CrossOriginPreflightResultCache.h:

2009-08-21  Michelangelo De Simone  <micdesim@gmail.com>

        Reviewed by Jan Alonzo.

        Buildfix after http://trac.webkit.org/changeset/47655.

        * html/HTMLFormControlElement.h:

2009-08-19  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Timothy Hatcher.

        Inspector: Improve Cookie DataGrid to Show Hidden Data
        https://bugs.webkit.org/show_bug.cgi?id=28269

          Removed Custom Bindings

        * bindings/js/JSInspectorBackendCustom.cpp:
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8InspectorBackendCustom.cpp:
        * inspector/InspectorBackend.cpp:

          Made Non-Custom Bindings in the Backend

        (WebCore::InspectorBackend::getCookies):
        (WebCore::InspectorBackend::deleteCookie):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::deleteCookie):
        * inspector/InspectorController.h:

          Build the Cookie ScriptObjects, handles using document.cookie in
          case the platform hasn't implemented raw cookie access.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getCookies):
        (WebCore::InspectorDOMAgent::buildObjectForCookie):
        (WebCore::InspectorDOMAgent::buildArrayForCookies):
        * inspector/InspectorDOMAgent.h:

          Complete the Asynchronous Calls

        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::didGetCookies):
        * inspector/InspectorFrontend.h:

          Asynchronous Functions to get Cookie Data

        * inspector/front-end/DOMAgent.js:
        (WebInspector.Cookies.getCookiesAsync):
        (WebInspector.Cookies.buildCookiesFromString): fallback behavior

          Refactor to use the Asynchronous Functions

        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView):
        (WebInspector.CookieItemsView.prototype.get statusBarItems):
        (WebInspector.CookieItemsView.prototype.update.callback):
        (WebInspector.CookieItemsView.prototype.update):
        (WebInspector.CookieItemsView.prototype.simpleDataGridForCookies):
        (WebInspector.CookieItemsView.prototype._deleteButtonClicked):

          Cleaned/Commented Related Code

        (InspectorController.searchCanceled):
        * inspector/front-end/InjectedScript.js:
        * platform/Cookie.h:
        * English.lproj/localizedStrings.js: the new strings that were supposed to have gone in last time

2009-08-21  Michelangelo De Simone  <micdesim@gmail.com>

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=28145
        Add support for novalidate/formnovalidate attribute, from HTML5 specs:
        http://www.whatwg.org/specs/web-apps/current-work/#attr-fs-novalidate

        Tests: fast/forms/formnovalidate-attribute.html
               fast/forms/novalidate-attribute.html

        * html/HTMLAttributeNames.in: added novalidate, formnovalidate
        * html/HTMLButtonElement.idl: formnovalidate attribute exposed
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::formNoValidate): attribute getter
        (WebCore::HTMLFormControlElement::setFormNoValidate): attribute setter
        * html/HTMLFormControlElement.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::novalidate): attribute getter
        (WebCore::HTMLFormElement::setNovalidate): attribute setter
        * html/HTMLFormElement.h:
        * html/HTMLFormElement.idl: novalidate attribute exposed
        * html/HTMLInputElement.idl: formNoValidate attribute exposed

2009-08-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Beth Dakin.

        Rendering changes to complete
        [CSS3 Backgrounds and Borders] Add support for the "contain" value for
        background-size
        https://bugs.webkit.org/show_bug.cgi?id=27573
        and
        [CSS3 Backgrounds and Borders] Add support for the "cover" value for
        background-size
        https://bugs.webkit.org/show_bug.cgi?id=27574

        Test: fast/backgrounds/size/contain-and-cover.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::calculateBackgroundSize):
        * rendering/RenderObject.cpp:
        (WebCore::mustRepaintFillLayers):

2009-08-21  Michelangelo De Simone  <micdesim@gmail.com>

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=27452
        Add support for checkValidity() method and invalid event, from HTML5
        specs:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-form-checkvalidity

        Tests: fast/events/invalid-001.html
               fast/events/invalid-002.html
               fast/events/invalid-003.html
               fast/events/invalid-004.html
               fast/events/invalid-005.html
               fast/forms/checkValidity-001.html
               fast/forms/checkValidity-002.html
               fast/forms/checkValidity-003.html
               fast/forms/checkValidity-004.html

        * dom/Document.idl: oninvalid event handler
        * dom/Element.idl: ditto
        * dom/EventNames.h: added invalid event
        * dom/Node.cpp:
        (WebCore::Node::oninvalid): ditto
        (WebCore::Node::setOninvalid): ditto
        * dom/Node.h: ditto
        * html/HTMLAttributeNames.in: oninvalid attribute
        * html/HTMLButtonElement.idl: added checkValidity() method
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute): parses oninvalid
        * html/HTMLFieldSetElement.idl: added checkValidity() method
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::checkValidity): checkValidity()
        implementation
        * html/HTMLFormControlElement.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::checkValidity): checkValidity() implementation
        for form elements
        * html/HTMLFormElement.h: checkValidity() definition
        * html/HTMLFormElement.idl: added checkValidity() method
        * html/HTMLInputElement.idl: added checkValidity() method
        * html/HTMLSelectElement.idl: added checkValidity() method
        * html/HTMLTextAreaElement.idl: added checkValidity() method
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::oninvalid): oninvalid event handler
        (WebCore::DOMWindow::setOninvalid): ditto
        * page/DOMWindow.h: ditto
        * page/DOMWindow.idl: ditto

2009-08-21  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dan Bernstein.

        The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27571 [CSS3 
        Backgrounds and Borders] Add support for the "round" value for 
        background-repeat
        -and-
        https://bugs.webkit.org/show_bug.cgi?id=27570 [CSS3 Backgrounds and 
        Borders] Add support for the "space" value for background-repeat

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFillProperty):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EFillRepeat):
        * css/CSSValueKeywords.in:
        * rendering/style/FillLayer.h:
        * rendering/style/RenderStyleConstants.h:
        (WebCore::):

2009-08-21  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Oliver Hunt.

        New files for Canvas 3D feature
        https://bugs.webkit.org/show_bug.cgi?id=28018

        This is all the new files for implementing Canvas 3D. None of them are hooked up and
        are not even included in the build yet. This incorporates the reviews from Simon
        and Ollie for these files.

        * bindings/js/JSCanvasNumberArrayCustom.cpp: Added. Custom JS binding to do implicit conversion from JS Array
        * html/CanvasObject.cpp: Added. Base class for all GL object containers
        * html/CanvasObject.h: Added.
        * html/CanvasRenderingContext.cpp: Added. Base class for CanvasRenderingContext2D and CanvasRenderingContext3D
        * html/CanvasRenderingContext.h: Added.
        * html/CanvasRenderingContext.idl: Added.
        * html/CanvasRenderingContext3D.cpp: Added. 3D context returned from Canvas.getContext()
        * html/CanvasRenderingContext3D.h: Added.
        * html/CanvasRenderingContext3D.idl: Added.
        * platform/graphics/GraphicsContext3D.cpp: Added. Platform interface between CanvasRenderingContext3D and 3D graphics engine
        * platform/graphics/GraphicsContext3D.h: Added.
        * platform/graphics/mac/Canvas3DLayer.h: Added. CALayer subclass to composite 3D canvas
        * platform/graphics/mac/Canvas3DLayer.mm: Added.
        * platform/graphics/mac/GraphicsContext3DMac.cpp: Added. Mac specific interface (OpenGL based)

2009-08-21  Ryosuke Niwa  <rniwa@webkit.org>

        No Review.

        Another Windows build fix.

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

2009-08-21  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=28625, focus rings don't respect the non-strict mode
        line box shrinking quirk.  Make sure outlines don't extend outside the lineTop and lineBottom
        of the root line box.

        Covered by existing tests.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addFocusRingRects):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::addFocusRingRects):
        (WebCore::RenderInline::paintOutline):

2009-08-21  Ryosuke Niwa  <rniwa@webkit.org>

        No Review.

        Windows build fix.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::setTextDecorationProperty): Made it static
        (WebCore::diffTextDecorations): Made it static

2009-08-21  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        execCommand("Underline") uses CSS even when styleWithCSS has been turned off
        https://bugs.webkit.org/show_bug.cgi?id=23892

        This patch adds support for u and s in StyleChange and addInlineStyleIfNeeded so that
        WebKit does not use CSS to decorate texts when styleWithCSS is set to false.

        * css/CSSValueList.cpp:
        (WebCore::CSSValueList::copy): Added.
        * css/CSSValueList.h: Added copy.
        * editing/ApplyStyleCommand.cpp:
        (WebCore::StyleChange::applyUnderline):
        (WebCore::StyleChange::applyLineThrough):
        (WebCore::StyleChange::StyleChange): Added a boolean trimTextDecorations argument.
        (WebCore::StyleChange::init): Ditto.
        (WebCore::StyleChange::extractTextStyles): Handles text decorations.
        (WebCore::getPropertiesNotInComputedStyle): Handles text decorations properly.
        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Adds u and s if needed.

2009-08-21  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Timothy Hatcher.

        Inspector: Rename "Databases" Panel as "Storage"
        https://bugs.webkit.org/show_bug.cgi?id=28620

          Updated enum from "DatabasesPanel" to "StoragePanel" and wherever it was used.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::specialPanelForJSName): string to display StoragePanel can be either "databases" or "storage"
        * inspector/InspectorController.h:
        (WebCore::InspectorController::):
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::showPanel):

          Updated All Direct Access from WebInspector.panels.databases to WebInspector.panels.storage,
          any DatabasesPanel constructors and appropriate function names.

        * inspector/front-end/DOMStorageDataGrid.js:
        (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode):
        (WebInspector.DOMStorageDataGrid.prototype._startEditing):
        (WebInspector.DOMStorageDataGrid.prototype._editingCommitted):
        (WebInspector.DOMStorageDataGrid.prototype._editingCancelled):
        (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
        * inspector/front-end/DOMStorageItemsView.js:
        (WebInspector.DOMStorageItemsView.prototype.update):
        * inspector/front-end/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView.prototype._queryFinished):
        * inspector/front-end/DatabaseTableView.js:
        (WebInspector.DatabaseTableView.prototype._queryFinished):
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels): updated string that comes from hiddenPanels to be "databases" or "storage"
        (WebInspector.showStoragePanel):
        (WebInspector.selectDatabase):
        (WebInspector.selectDOMStorage):
        (WebInspector.addDatabase):
        (WebInspector.addDOMStorage):

          Renamed some files and Updated Accordingly.

        * inspector/front-end/StoragePanel.js: Renamed from WebCore/inspector/front-end/DatabasesPanel.js.
        * inspector/front-end/Images/storageIcon.png: Renamed from WebCore/inspector/front-end/Images/databasesIcon.png.
        * inspector/front-end/WebKit.qrc: use new file names
        * inspector/front-end/inspector.css: use new images name and class names
        * inspector/front-end/inspector.html: use new file name
        * WebCore.gypi: use new file names

          Miscellaneous Updates.

        * English.lproj/localizedStrings.js: Updated Tooltip from "Databases" to "Storage"

2009-08-21  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Oliver Hunt.

        [Haiku] Adding three font-specific files to WebCore:
        FontCacheHaiku.cpp, FontHaiku.cpp, and SimpleFontDataHaiku.cpp
        https://bugs.webkit.org/show_bug.cgi?id=28131

        * platform/graphics/haiku/FontCacheHaiku.cpp: Added.
        (WebCore::FontCache::platformInit):
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        (WebCore::FontCache::createFontPlatformData):
        (WebCore::FontCache::getTraitsInFamily):
        * platform/graphics/haiku/FontHaiku.cpp: Added.
        (charUnicodeToUTF8HACK):
        (WebCore::Font::canReturnFallbackFontsForComplexText):
        (WebCore::Font::drawGlyphs):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::Font::selectionRectForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):
        * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Added.
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::platformCharWidthInit):
        (WebCore::SimpleFontData::platformDestroy):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::containsCharacters):
        (WebCore::SimpleFontData::determinePitch):
        (WebCore::SimpleFontData::platformWidthForGlyph):

2009-08-21  Philippe Beauchamp  <philippe.beauchamp@gmail.com>

        Reviewed by Adam Roben.

        Middle click panning icon is offset by 3 pixels
        https://bugs.webkit.org/show_bug.cgi?id=28611

        * platform/ScrollView.cpp:
        panIconSizeLength initialized to 20 instead of 16 to match icon dimension (2 pixels offset)
        * platform/win/CursorWin.cpp:
        (WebCore::middlePanningCursor):
        Hotspot initialized to (8,8) instead of (7,7) (one pixel offset)
        
2009-08-21  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Eric Seidel.

        [Qt] Remove inspector resources for Symbian
        https://bugs.webkit.org/show_bug.cgi?id=28610

        Based on an idea from Simon Hausmann.

        * WebCore.pro:

2009-08-21  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Eric Seidel.

        Inspector: Remove Unused Variable
        https://bugs.webkit.org/show_bug.cgi?id=28616

        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype._checkWarning):

2009-08-21  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Timothy Hatcher.

        Inspector: Console Array Formatter Shows Extra Properties
        https://bugs.webkit.org/show_bug.cgi?id=28615

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._formatarray): do not ignore hasOwnProperties

2009-08-21  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dan Bernstein.

        The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27574 [CSS3 
        Backgrounds and Borders] Add support for the "contain" value for 
        background-size
        -and-
        https://bugs.webkit.org/show_bug.cgi?id=27573 [CSS3 Backgrounds and 
        Borders] Add support for the "cover" value for background-size

        Return contain or cover when appropriate, and otherwise do what we 
        used to do.
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

        Accept contain and cover as valid values for background-size.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFillProperty):

        Handle setting the size and the sizeLength if appropriate.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::mapFillSize):

        Added new keywords contain and cover.
        * css/CSSValueKeywords.in:

        Use just sizeLength instead of size to match old behavior.
        * page/animation/AnimationBase.cpp:
        (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::calculateBackgroundSize):
        * rendering/RenderObject.cpp:
        (WebCore::mustRepaintFillLayers):

        The variable m_sizeType is an EBackgroundSize, and m_sizeLength is 
        a LengthSize (the equivalent of what m_size used to be). I got rid 
        of m_sizeSet and made isSizeSet() dynamic. I also defined a new 
        struct, FillSize that can be used to set or get m_size and 
        m_sizeLength both at once. 
        * rendering/style/FillLayer.cpp:
        (WebCore::FillLayer::FillLayer):
        (WebCore::FillLayer::operator=):
        (WebCore::FillLayer::operator==):
        (WebCore::FillLayer::fillUnsetProperties):
        * rendering/style/FillLayer.h:
        (WebCore::FillSize::FillSize):
        (WebCore::FillSize::operator==):
        (WebCore::FillSize::operator!=):
        (WebCore::FillLayer::sizeLength):
        (WebCore::FillLayer::size):
        (WebCore::FillLayer::isSizeSet):
        (WebCore::FillLayer::setSizeType):
        (WebCore::FillLayer::setSizeLength):
        (WebCore::FillLayer::setSize):
        (WebCore::FillLayer::clearSize):
        (WebCore::FillLayer::initialFillSizeType):
        (WebCore::FillLayer::initialFillSizeLength):
        (WebCore::FillLayer::initialFillSize):

        This is all boiler-plate stuff to adjust to the new size() vs. 
        sizeType() vs. sizeLength() distinction.
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::backgroundSizeType):
        (WebCore::InheritedFlags::backgroundSizeLength):
        (WebCore::InheritedFlags::maskSize):
        (WebCore::InheritedFlags::setBackgroundSize):
        (WebCore::InheritedFlags::setBackgroundSizeLength):
        (WebCore::InheritedFlags::setMaskSize):

        Definition for EBackgroundSizeType.
        * rendering/style/RenderStyleConstants.h:
        (WebCore::):

2009-08-21  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Not reviewed, build fix after r47580.

        [Qt] Adjust the files.

        * inspector/front-end/WebKit.qrc:

2009-08-20  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Enable various "grouping" ARIA roles
        https://bugs.webkit.org/show_bug.cgi?id=28486

        Test: platform/mac/accessibility/aria-grouping-roles.html

        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityRenderObject.cpp:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        * page/mac/WebCoreViewFactory.h:
        * platform/LocalizedStrings.h:
        * platform/mac/LocalizedStringsMac.mm:

2009-08-20  David Levin  <levin@chromium.org>

        Unreviewed trivial comment fix.

        Update a bug link in a comment due to bugzilla amnesia.

        * loader/CachedResource.cpp:
        (WebCore::CachedResource::setResourceToRevalidate):

2009-08-20  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by David Levin.

        HTML5 media elements do not fire waiting events correctly
        https://bugs.webkit.org/show_bug.cgi?id=28335

        Fire the waiting event before seeking, and fix a case where firing of
        the seeked event is missed when the ready state is changed during
        a seek.

        Added video-waiting-seeking.html into manual tests because not
        all platforms allow seeking into non-buffered ranges.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setReadyState): add support for
        waiting event when seeking.
        (WebCore::HTMLMediaElement::finishSeek): send seeked event
        whenever seeking finishes.
        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): dispatch to
        new function.
        * html/HTMLMediaElement.h:
        * manual-tests/video-waiting-seeking.html: Added.

2009-08-20  Dan Bernstein  <mitz@apple.com>

        Reviewed by John Sullivan.

        Fix more cases of
        <rdar://problem/7154521> Lots of "<Error>: doClip: empty path." spew in
        the console with certain content

        If the border box is empty, simply avoid painting instead of trying to
        clip to the empty path.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):

2009-08-20  Jeremy Orlow  <jorlow@chromium.org>

        Build fix.  Forgot a svn add for a patch I landed.  :-(

        * storage/SQLTransactionClient.cpp: Added.
        (WebCore::SQLTransactionClient::didCommitTransaction):
        (WebCore::SQLTransactionClient::didExecuteStatement):
        (WebCore::SQLTransactionClient::didExceedQuota):
        * storage/SQLTransactionClient.h: Added.

2009-08-20  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Added a client to SQLTransaction. In addition to being a place to
        get notifications about certain events in a transaction, it is
        also an abstraction layer that allows us to plug in different
        implementations for each port for how transactions interract with
        the main DB. For example, WebCore's default implementation will
        make direct calls to DatabaseTracker's methods. At the same time,
        Chromium's implementation will send IPCs to the browser process
        whenever a transaction needs something from the main DB.

        All storage tests pass.

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

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * storage/Database.cpp:
        (WebCore::Database::transactionClient):
        * storage/Database.h:
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::DatabaseThread):
        * storage/DatabaseThread.h:
        (WebCore::DatabaseThread::transactionClient):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::runCurrentStatement):
        (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
        (WebCore::SQLTransaction::postflightAndCommit):
        * storage/SQLTransactionClient.cpp: Added.
        * storage/SQLTransactionClient.h: Added.

2009-08-20  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Steve Falkenburg.

        Fix of <https://bugs.webkit.org/show_bug.cgi?id=24793>
        Auto scroll speed is faster than in IE, Firefox.
        
        Changed pan scrolling speed to match Firefox's algorithm.

        * rendering/RenderLayer.cpp:
        (WebCore::adjustedScrollDelta):
        (WebCore::RenderLayer::panScrollFromPoint):

2009-08-20  Stephen White  <senorblanco@chromium.org>

        Reviewed by Eric Seidel.

        Fix for assert in Chromium page cycler:  drawRect() was re-using
        an SkPaint, but not resetting it before calling
        PlatformGraphicsSkia::setupPaintForFilling() a second time.  This
        CL fixes drawRect(), and re-enables the assert.
        http://bugs.webkit.org/show_bug.cgi?id=28172
        http://crbug.com/19797

        Covered by Chromium page cycler tests.

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::drawRect):
        (PlatformContextSkia::setupPaintCommon):

2009-08-20  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/7159016> Popup menus don't disappear when you click outside the window.
        
        Revert r47535 which introduced this.
        
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::show):
        (WebCore::PopupWndProc):

2009-08-20  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Crashes on sites with lots of images
        https://bugs.webkit.org/show_bug.cgi?id=28473

        The problem is that m_resourceToRevalidate::m_isBeingRevalidated is false while
        CachedResource is still referring to it, so it may get deleted before
        Cache::revalidationSucceeded calls CachedResource::clearResourceToRevalidate.

        * loader/Cache.cpp:
        (WebCore::Cache::revalidateResource): Added assert to verify the resource
        being revalidated is physically in the cache.
        (WebCore::Cache::revalidationSucceeded): Changed to do one call to switch from the revalidating
        resource to the revalidated resource.  This allows for proper lifetime management of the
        revalidated resource. Added assert to verify that the revalidatingResource is in the cache.
        (WebCore::Cache::pruneDeadResources): Don't remove items from the cache that are in the
        process of being validated (or else they can get added twice: Once through the normal mechanism
        and then again during revalidateResource).

        * loader/CachedResource.cpp:
        (WebCore::CachedResource::CachedResource):
        (WebCore::CachedResource::isSafeToMakePurgeable):
        Changed m_isBeingRevalidated to m_proxyResource to allow finding out
        who the validating resource (or proxy) is.

        (WebCore::CachedResource::~CachedResource): Removed code to handle m_resourceToRevalidate
        being non-zero because this shouldn't be possible due to checks in canDelete. Added asserts
        as well.
        (WebCore::CachedResource::setResourceToRevalidate): Adjusted for the change to m_proxyResource
        and added a comment about the assert.
        (WebCore::CachedResource::clearResourceToRevalidate):
        Only clean up the resourceToRevalidate if it hasn't gotten a new proxy resource.
        * loader/CachedResource.h:
        (WebCore::CachedResource::setInCache): Don't clear m_proxyResource because the resource
        is still being referred to by it and the code it robust to this being switched to a new proxy
        resource without it being cleared first.
        (WebCore::CachedResource::canDelete): Changed m_isBeingRevalidated to m_proxyResource.

2009-08-20  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Eric Seidel.

        Fix "Chromium RTL autocomplete popup is not layout correctly".
        https://bugs.webkit.org/show_bug.cgi?id=27889

        The complete fix of the issue consists 2 parts: the patch in webkit
        and the patch in Chromium's own code.

        This webkit patch only affects Chromium autofill. It
        1. introduces a new flag in WebCore::PopupContainerSettings to
           distinguish whether the width of the drop-down should be restricted
           or not.
           For autofill, the width of the drop-down is restricted to
           be the same as that of the input field (the new flag is set in
           Chromium's own code). But width is not restricted for <select> (same as before).
        2. introduce a new flag in WebCore::PopContainerSettings to
           indicate what heuristics to use when displaying text in drop-down menu.
           For autofill, use drop-down item's directionality to display drop-down items.
           Previously, drop-down item is displayed in the its first strong
           directional character's directionality.
           (drop-down item's directionality is set in Chromium's own code.
           It is set the same as the directionality of the element. 
           For autofill, it is the same directionality as that of the input field.)
           For <select>, still use the text's first strong directional character's
           directionality to display the text.


        Since the patch only affects the chromium client, not webcore part or
        other clients. No automatic tests is possible.

        * manual-tests/autofill-popup-width-and-item-direction.html: Added.
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::):
        (WebCore::PopupListBox::paintRow): If list box width is restricted and 
        an item is longer to fit in a list box, truncate it and draw part of the text and append ellipses.
        (WebCore::PopupListBox::layout): Restrict width of list box if applicable.
        * platform/chromium/PopupMenuChromium.h: 
        (WebCore::PopupItem::PopupItem): style change.
        (WebCore::PopupContainerSettings::): Add 2 new flags in PopupContainerSetting to 
        distinguish whether to restrict width of list box and 
        in what directionality to display the text in drop-down.

2009-08-20  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adele Peterson.

        Fix of <https://bugs.webkit.org/show_bug.cgi?id=28504>. 
        Pan Scrolling can scroll while showing the middlePanScroll icon.
        
        Fixed an off by one error between RenderLayer::panScrollFromPoint and EventHandler::updatePanScrollState. 
        In RenderLayer::panScrollFromPoint, we were setting the icon to be an arrow if the difference between the start
        of the pan scroll and the current mouseposition is > 15. However, in EventHandler::updatePanScrollState, we would
        set our amount to scroll to 0 only if the difference in mouse position is < 15. I made this check a <= 15, to fix
        the off by one error.

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

2009-08-20  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        Pull the code in layoutBlockChildren for handling a normal flow block child into a helper method,
        layoutBlockChild.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChildren):
        (WebCore::RenderBlock::layoutBlockChild):
        * rendering/RenderBlock.h:

2009-08-20  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adam Roben.

        Made subframeForHitTargetNode a public static method, so WebView can call it
        during hit testing.

        * page/EventHandler.cpp:
        (WebCore::subframeForHitTestResult):
        (WebCore::EventHandler::subframeForTargetNode):
        * page/EventHandler.h:

2009-08-20  Brent Fulgham  <bfulgham@webkit.org>

        Rubberstamped by Kevin Ollivier.

        Check for null bundle before attempting to use it.

        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::certificatePath): Add null check on return of
          CFBundleGetBundleWithIdentifier.

2009-08-20  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=28497, images and inline replaced elements don't propagate overflow properly on a line.

        Added fast/repaint/inline-block-overflow.html and updated another test.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesHorizontally):
        (WebCore::InlineFlowBox::computeVerticalOverflow):
        Make sure to still propagate the border box of the replaced element as layout overflow when overflow clip is set on the
        replaced element.  Make sure to use the InlineBox x/y positions instead of the RenderBox x/y, since the position of the
        RenderBox has not been updated to the new values yet.
        
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::paint):
        Don't use the root line box's overflow.  Use the actual line box overflow values instead.  In the case of an inline
        with a layer, our overflow didn't propagate to the root line, so we always need to use our values.

        * rendering/RenderPartObject.cpp:
        (WebCore::RenderPartObject::layout):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::layout):
        Make sure to clear shadow overflow when doing layout of replaced elements, so that we don't leave a stale overflow
        value around if a box-shadow goes away.

2009-08-20  Dmitry Titov  <dimich@chromium.org>

        Another attempt to fix Chromium build.

        * WebCore.gypi: now use the correct name of the image file.

2009-08-20  Dan Bernstein  <mitz@apple.com>

        Make the Windows build even fixeder

        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::GraphicsContextPlatformPrivate::flush):

2009-08-20  Dmitry Titov  <dimich@chromium.org>

        Not reviewed, Chromium build fix.

        * WebCore.gypi: add new Webinspector image files (localStorage.png and sessionStorage.png)

2009-08-20  Dan Bernstein  <mitz@apple.com>

        Windows build fix after the last change

        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::releaseWindowsContext):
        (WebCore::GraphicsContext::drawWindowsBitmap):

2009-08-20  Dan Bernstein  <mitz@apple.com>

        Reviewed by Geoffrey Garen.

        Replace many manually-released CFTypeRefs with RetainPtrs
        https://bugs.webkit.org/show_bug.cgi?id=28498

        * platform/graphics/cg/ColorCG.cpp:
        (WebCore::createCGColor):
        * platform/graphics/cg/GradientCG.cpp:
        (WebCore::Gradient::platformGradient):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::platformContext):
        (WebCore::GraphicsContext::applyStrokePattern):
        (WebCore::GraphicsContext::applyFillPattern):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::setURLForRect):
        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::checkForSolidColor):
        (WebCore::Image::drawPattern):
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::setData):
        (WebCore::ImageSource::isSizeAvailable):
        (WebCore::ImageSource::frameSizeAtIndex):
        (WebCore::ImageSource::repetitionCount):
        (WebCore::ImageSource::createFrameAtIndex):
        (WebCore::ImageSource::frameDurationAtIndex):
        * platform/graphics/cg/PDFDocumentImage.cpp:
        (WebCore::PDFDocumentImage::dataChanged):
        * platform/graphics/cg/PathCG.cpp:
        (WebCore::createScratchContext):
        (WebCore::Path::contains):
        * platform/graphics/mac/FontCustomPlatformData.cpp:
        (WebCore::createFontCustomPlatformData):
        * platform/graphics/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/graphics/mac/ImageMac.mm:
        (WebCore::BitmapImage::getTIFFRepresentation):
        * platform/mac/ClipboardMac.mm:
        (WebCore::cocoaTypeFromMIMEType):
        (WebCore::MIMETypeFromCocoaType):
        * platform/mac/WebCoreNSStringExtras.mm:
        (stringEncodingForResource):
        * platform/network/mac/FormDataStreamMac.mm:
        (WebCore::advanceCurrentStream):
        (WebCore::setHTTPBody):
        * platform/text/mac/TextCodecMac.cpp:
        (WebCore::TextCodecMac::encode):

2009-08-20  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Eric Seidel.

        Output actual values of counters in showTree
        https://bugs.webkit.org/show_bug.cgi?id=28481

        No new tests because this patch just improves debugging outputs.

        * rendering/CounterNode.cpp:
        (WebCore::showTreeAndMark):

2009-08-20  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by NOBODY (build fix).

        Add file missed in last check-in.

        * html/HTMLAttributeNames.in:

2009-08-19  Timothy Hatcher  <timothy@apple.com>

        Adds new icons to the Web Inspector for Local Storage,
        Session Storage and Cookies.

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

        Reviewed by Eric Seidel.

        * inspector/front-end/DatabasesPanel.js:
        (WebInspector.DatabasesPanel.prototype.addDOMStorage):
        (WebInspector.DOMStorageSidebarTreeElement):
        * inspector/front-end/Images/cookie.png:
        * inspector/front-end/Images/domStorage.png: Removed.
        * inspector/front-end/Images/localStorage.png: Added.
        * inspector/front-end/Images/sessionStorage.png: Added.
        * inspector/front-end/inspector.css:

2009-08-20  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Anders Carlsson.

        HTML5 media elements must fire 'loadend' progress event
        https://bugs.webkit.org/show_bug.cgi?id=28419

        * dom/EventNames.h:
            Define loadend.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::parseMappedAttribute):
            Deal with onloadend.
        (WebCore::HTMLMediaElement::loadInternal):
            Post 'loadend' immediately after 'abort'.
        (WebCore::HTMLMediaElement::noneSupported):
            Post 'loadend' immediately after 'error'.
        (WebCore::HTMLMediaElement::mediaEngineError):
            Ditto.
        (WebCore::HTMLMediaElement::setNetworkState):
            Post 'loadend' immediately after 'load'.
        (WebCore::HTMLMediaElement::userCancelledLoad):
            Post 'loadend' immediately after 'abort'.

2009-08-20  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        REGESSION(r45316), Crash: WebKit crashes in Google Sites when indenting a table
        https://bugs.webkit.org/show_bug.cgi?id=28474

        This patch fixes a crash when indenting at right after a table.
        The bug was caused by Node* blockNode = enclosingBlock(endOfCurrentParagraph.deepEquivalent().node());
        where node() is equal to blockNode. Because blockNode is the enclosing block node, this patch changes it to
        enclosingBlock(endOfCurrentParagraph.deepEquivalent().node()->parentNode());

        Test: editing/execCommand/indent-right-after-table.html

        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::indentRegion): Fixed so that blockNode != endOfCurrentParagraph.deepEquivalent().node()

2009-08-20  Andrew Scherkus  <scherkus@chromium.org>

        Reviewed by David Levin.

        Render disabled mute button during an error or if no audio is present.

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

        Covered by existing layout tests:
        media/video-controls-visible-audio-only.html
        media/video-no-audio.html

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):

2009-08-20  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/7154605> Loading page with 1px wide <select> makes the
        toolbar go blank
        and
        <rdar://problem/7154521> Lots of "<Error>: doClip: empty path." spew in
        the console with certain content

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMenuListButtonGradients): Return early
        if the rectangle is empty. Use RenderStyle::getBorderRadiiForRect() to
        adjust the radii in case the sides of the rectangle are smaller than sum
        of the radii, so that the gradient background matches the border (which
        already uses getBorderRadiiForRect()). Check if bottomGradient is empty
        to avoid clipping to an empty path.
        (WebCore::RenderThemeMac::paintMenuListButton): Moved a
        GraphicContext::save() down to avoid a save/restore imbalance in the
        early return case.

        * rendering/RenderThemeSafari.cpp: Made the same changes.
        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
        (WebCore::RenderThemeSafari::paintMenuListButton):

2009-08-20  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Gustavo Noronha.

        [Gtk][REGRESSION] XHR test failures after r45558
        https://bugs.webkit.org/show_bug.cgi?id=27143

        Disable sniffing if it's explicitly requested. Updated patch
        originally by Gustavo Noronha.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::statusWillBeHandledBySoup):
        (WebCore::gotHeadersCallback):
        (WebCore::contentSniffedCallback):
        (WebCore::gotChunkCallback):
        (WebCore::startHttp):

2009-08-20  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Swap the pixels since QImage expect ARGB while ImageData
        stores them as RGBA.

        This fixes the fast/canvas/canvas-copyPixels.html test.

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::putImageData):

2009-08-20  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>

        Reviewed by David Levin.

        [v8] Use atomic string caching for createElement
        Extend atomic string caching to createElement.  Fix a bug in idl
        parser that caused incorrect parsing if a function argument
        attribute list contained a comma.
        https://bugs.webkit.org/show_bug.cgi?id=28449

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/IDLParser.pm:
        * bindings/v8/V8Binding.h:
        (WebCore::v8ValueToAtomicWebCoreStringWithNullCheck):
        * dom/Document.idl:

2009-08-20  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Not reviewed, build fix after r47515.

        [Qt] There is no Phonon::MediaObject::hasAudio() function.

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

2009-08-20  Darin Fisher  <darin@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=28483
        The V8 ScriptController's cleanupScriptObjectsForPlugin should take a
        Widget* instead of void* to avoid the need for manual casting to Widget*
        at the callsite.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
        * bindings/v8/ScriptController.h:

2009-08-19  David Levin  <levin@chromium.org>

        Unreviewed speculative build fix for qt.

        * page/OriginAccessEntry.cpp:

2009-08-19  Aaron Boodman  <aa@chromium.org>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
        specify a more granular policy for cross-origin XHR access.

        Tests: http/tests/xmlhttprequest/origin-whitelisting-all.html
               http/tests/xmlhttprequest/origin-whitelisting-exact-match.html
               http/tests/xmlhttprequest/origin-whitelisting-https.html
               http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains.html
               http/tests/xmlhttprequest/origin-whitelisting-ip-addresses.html
               http/tests/xmlhttprequest/origin-whitelisting-subdomains.html

        * WebCore.base.exp: Export methods to manipulate origin access whitelists to enable
        testing via layout tests.

        * WebCore.xcodeproj/project.pbxproj: Add OriginAccessEntry.*
        * GNUmakefile.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCoreSources.blk: Ditto.

        * page/SecurityOrigin.h: Implement origin access whitelists.
        (WebCore::originAccessMap): Static getter for access whitelists.
        (WebCore::SecurityOrigin::canRequest): Modify request checking logic to check whitelists.
        (WebCore::SecurityOrigin::whiteListAccessFromOrigin): Add an entry to a whitelist.
        (WebCore::SecurityOrigin::resetOriginAccessWhiteLists): Clear all the whitelists.

        * page/OriginAccessEntry.h: Added. An entry in an origin access whitelist.
        * page/OriginAccessEntry.cpp: Ditto.

2009-08-19  Kevin Ollivier  <kevino@theolliviers.com>

        Non-precomp headers build fix.

        * platform/image-decoders/ImageDecoder.cpp:

2009-08-19  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        Disable a bad SKIA assert
        https://bugs.webkit.org/show_bug.cgi?id=28482

        In http://trac.webkit.org/changeset/47386/ an assert was "fixed" in SKIA code. 
        When this was pulled into Chromium, it started breaking the page cycler. 
        Disable it again until we can figure out what's going on.

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::setupPaintCommon):

2009-08-19  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        queryCommandState('underline') returns false if the selected text is also bold and italic
        https://bugs.webkit.org/show_bug.cgi?id=11022

        This patch modifies stateStrikethrough and stateUnderline to use the value -webkit-text-decorations-in-effect
        instead of text-decoration.  Because text-decoration only retrieves explicit styling at the node on which
        the query was sent, we need to use -webkit-text-decorations-in-effect to include decorations added by ancestors
        and also u, s, and strike tags.

        Test: editing/style/text-decoration-state.html

        * editing/EditorCommand.cpp:
        (WebCore::stateStrikethrough): Use -webkit-test-decorations-in-effect instead of text-decoration.
        (WebCore::stateUnderline): Ditto.

2009-08-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        - Fix <rdar://problem/7155710>
        HTML selects on windows cause containing window to become inactive when opened.

        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::show):
        Pass SWP_NOACTIVATE to SetWindowPos, remove AW_ACTIVATE from AnimateWindow and pass
        SW_SHOWNOACTIVATE to ShowWindow.
        
        (WebCore::PopupWndProc):
        Prevent mouse activation from activating the window.

2009-08-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Images flash as you hover them on http://www.atebits.com/scribbles/
        <rdar://problem/7143958>
        
        Tag images with the device colorspace with the colorspace of the main display, rather than
        GenericRGB, so that composited images color-match those rendered via Core Graphics.
        
        Covered by LayoutTests/compositing/color-matching/image-color-matching.html

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::setContentsToImage):

2009-08-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by David Hyatt and Dan Bernstein.

        - Fix <rdar://problem/7152589> Stylable scrollbar corners aren't working.

        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        Initialize m_scrollCorner.

        (WebCore::FrameView::~FrameView):
        Assert that m_scrollCorner is null.

        (WebCore::FrameView::detachCustomScrollbars):
        Destroy m_scrollCorner.

        (WebCore::FrameView::invalidateScrollCorner):
        Invalidate the scroll corner.
        
        (WebCore::FrameView::updateScrollCorner):
        Create/destroy the scroll corner.
        
        (WebCore::FrameView::paintScrollCorner):
        Paint the scroll corner.
        
        * page/FrameView.h:
        (WebCore::FrameView::isFrameViewScrollCorner):
        Return whether a RenderScrollbarPart is the frame view scroll corner.
        
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::updateScrollbars):
        Go ahead and update the scroll corner.
        
        (WebCore::ScrollView::setScrollbarsSuppressed):
        Pass the scroll corner rect to invalidateRect.
        
        (WebCore::ScrollView::scrollCornerRect):
        Return the scroll corner rect.
        
        * platform/ScrollView.h:
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::RenderScrollbarPart::imageChanged):
        If this scrollbar part is the frame view scroll corner, invalidate it.

2009-08-19  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        SVG feComponentTransfer needs to be implemented
        [https://bugs.webkit.org/show_bug.cgi?id=27768]

        Implementation of SVG Filter feComponentTransfer.

        There is already a test case
        Test: svg/W3C-SVG-1.1/filters-comptran-01-b.svg

        * platform/graphics/filters/FEComponentTransfer.cpp:
        (WebCore::identity):
        (WebCore::table):
        (WebCore::discrete):
        (WebCore::linear):
        (WebCore::gamma):
        (WebCore::FEComponentTransfer::apply):

2009-08-19  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        <rdar://problem/7141522> Incorrect layout of product table at henry.com

        Test: fast/block/basic/quirk-percent-height-table-cell.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcPercentageHeight): Tweak the quirk that allows
        percentage-height children of auto-height blocks to look for an ancestor
        with non-auto height and compute their height based on it. The change is
        that if that ancestor is a table cell, it is ignored and the percent
        height computes to zero (just like in strict mode). This matches Firefox
        and IE.

2009-08-19  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Eric Seidel.

        Add 'icu::' qualifier when refering to ICU C++ names to the other
        file with this issue missed in the previous check-in.

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

        No change in the test result.

        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
        (WebCore::):

2009-08-19  Peter Kasting  <pkasting@google.com>

        Unreviewed (build fix for Skia).

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

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

2009-08-19  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Eric Seidel.

        [CAIRO] Remove setFont indirection
        https://bugs.webkit.org/show_bug.cgi?id=28453

        Remove the indirection and just set the font in Font::drawGlyphs.

        * platform/graphics/SimpleFontData.h:
        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/gtk/FontPlatformData.h:
        (WebCore::FontPlatformData::scaledFont):
        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
        (WebCore::FontPlatformData::~FontPlatformData):
        * platform/graphics/gtk/FontPlatformDataPango.cpp:
        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
        * platform/graphics/gtk/SimpleFontDataPango.cpp:
        * platform/graphics/win/FontPlatformData.h:
        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
        * platform/graphics/win/SimpleFontDataCairoWin.cpp:

2009-08-19  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: When adding style selector, generate default name based
        on id / class / type.

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

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode):

2009-08-19  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        Rename combinedOverflow to visibleOverflow, since that's what it actually represents.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::nodeAtPoint):
        (WebCore::InlineFlowBox::paint):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::topvisibleOverflow):
        (WebCore::InlineFlowBox::bottomvisibleOverflow):
        (WebCore::InlineFlowBox::leftvisibleOverflow):
        (WebCore::InlineFlowBox::rightvisibleOverflow):
        (WebCore::InlineFlowBox::visibleOverflowRect):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::paint):
        (WebCore::RenderBlock::floatRect):
        (WebCore::RenderBlock::nodeAtPoint):
        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::matchedEndLine):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::clippedOverflowRectForRepaint):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::visibleOverflowRect):
        (WebCore::RenderBox::topvisibleOverflow):
        (WebCore::RenderBox::bottomvisibleOverflow):
        (WebCore::RenderBox::leftvisibleOverflow):
        (WebCore::RenderBox::rightvisibleOverflow):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::localBoundingBox):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::paint):
        (WebCore::RenderLineBoxList::hitTest):
        * rendering/RenderOverflow.h:
        (WebCore::RenderOverflow::visibleOverflowRect):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::shouldPaint):
        (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        (WebCore::RenderTable::paint):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):

2009-08-19  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Eric Seidel.

        Sound button appears in controller with movies that have no audio
        https://bugs.webkit.org/show_bug.cgi?id=28464

        Test: media/video-no-audio.html

        * html/HTMLMediaElement.cpp:
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::hasAudio):
            Added hasAudio.

        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::NullMediaPlayerPrivate::hasAudio):
        (WebCore::MediaPlayer::hasVideo):
            Make const.
        (WebCore::MediaPlayer::hasAudio):
            Added hasAudio.

        * platform/graphics/MediaPlayerPrivate.h:
            Add hasAudio.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivate::hasAudio):
            Ditto.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::hasAudio):
            Ditto.

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

        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::hasAudio):
            Ditto.

        * platform/graphics/win/QTMovieWin.h:
        * platform/graphics/win/QTMovieWin.cpp:
        (QTMovieWin::hasAudio):
            Ditto.

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlMuteButtonElement::disabled):
            New, return true if media element doesn't have audio.
        (WebCore::MediaControlMuteButtonElement::rendererIsNeeded):
            Renderer is not needed if element has no audio.
        * rendering/MediaControlElements.h:
        (WebCore::MediaControlInputElement::disabled):

        * rendering/RenderThemeMac.mm:
        (WebCore::getMediaUIPartStateFlags):
            Return MediaUIPartDisabledFlag if node is disabled.
            

2009-08-19  Michelangelo De Simone  <micdesim@gmail.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=27357
        Removed the two unnecessary overridden willValidate() methods introduced
        in r47444.

        * html/HTMLKeygenElement.h:
        * html/HTMLObjectElement.h:

2009-08-19  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Allow dumping dangling nodes to the console.

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

        * bindings/js/JSInspectorBackendCustom.cpp:
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8InspectorBackendCustom.cpp:
        * inspector/InspectorBackend.cpp:
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::clearConsoleMessages):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::releaseDanglingNodes):
        (WebCore::InspectorDOMAgent::startListening):
        (WebCore::InspectorDOMAgent::stopListening):
        (WebCore::InspectorDOMAgent::handleEvent):
        (WebCore::InspectorDOMAgent::bind):
        (WebCore::InspectorDOMAgent::unbind):
        (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
        (WebCore::InspectorDOMAgent::discardBindings):
        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::setDetachedRoot):
        (WebCore::InspectorFrontend::childNodeCountUpdated):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._formatnode):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype._setDetachedRoot):
        (WebInspector.DOMAgent.prototype._childNodeCountUpdated):
        (WebInspector.setDetachedRoot):
        (WebInspector.childNodeCountUpdated):
        (InspectorController.pushNodeToFrontend):
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.pushNodeToFrontend):
        (InjectedScript.createProxyObject):

2009-08-19  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=27464
        Implement application cache online whitelist wildcard flag

        Test: http/tests/appcache/whitelist-wildcard.html

        A "*" in NETWORK section means that network loading needn't be blocked.

        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::isURLInOnlineWhitelist):
        * loader/appcache/ApplicationCache.h:
        (WebCore::ApplicationCache::setAllowsAllNetworkRequests):
        (WebCore::ApplicationCache::allowsAllNetworkRequests):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::openDatabase):
        (WebCore::ApplicationCacheStorage::store):
        (WebCore::ApplicationCacheStorage::loadCache):
        * loader/appcache/ManifestParser.cpp:
        (WebCore::parseManifest):
        * loader/appcache/ManifestParser.h:

2009-08-19  Brady Eidson <beidson@apple.com>

        Reviewed by Kevin Decker.

        <rdar://problem/7042555> Loading certain pages on Tiger will start a spurious download
        
        Get rid of method swizzling entirely. This created problems when lower level
        Foundation code would call into our own swizzled method.
        
        * platform/network/mac/ResourceHandleMac.mm: 
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 
        * platform/network/mac/WebCoreURLResponse.h:
        * platform/network/mac/WebCoreURLResponse.mm:
        (-[NSURLResponse adjustMIMETypeIfNecessary]):

2009-08-19  Adam Roben  <aroben@apple.com>

        Fix linker warnings on Windows

        Reviewed by Anders Carlsson.

        Fixes <http://webkit.org/b/28462> WebCore causes linker warnings on
        Windows about multiply-defined JSHTMLDataListElement symbols

        * WebCore.vcproj/WebCore.vcproj: Exclude JSHTMLDataListElement.cpp
        from the build (just like we do for the other generated bindings
        files) so that we don't get warnings about multiply-defined symbols in
        JSHTMLDataListElement.cpp and DerivedSources.cpp. Also removed
        duplicate versions of JSSVGElementWrapperFactory.cpp, and let VS
        reorder a few files.

2009-08-19  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Eric Seidel

        Add 'icu::' qualifier when refering to ICU C++ names.

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

        No change in the test result.

        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::fontContainsCharacter):

2009-08-19  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        Cleanup from my patch thet rewrote overflow.  Remove unused member variables from RenderTableSection and
        move the addition of overflow from children into a separate pass after the height of the section has been
        set.  This prevents the RenderOverflow struct from being aggressively allocated for all table sections.
        (Not a a correctness issue, just a memory issue.)

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::RenderTableSection):
        (WebCore::RenderTableSection::layoutRows):
        * rendering/RenderTableSection.h:

2009-08-19  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Xan Lopez.

        [Gtk] Remove bogus dependency rules for built sources that derive
        from HTMLTagNames.in, HTMLAttributeNames.in and xmlattrs.in. The
        header files should be generated regardless of whether the source
        file changed or not. We should only rely on the *.in files being
        changed.

        * GNUmakefile.am:

2009-08-18  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver Hunt.

        convert FormatBlock candidate tag list from if chain to hash lookup
        https://bugs.webkit.org/show_bug.cgi?id=28448

        No behavior change, just cleanup.

        * editing/htmlediting.cpp:
        (WebCore::validBlockTag):
        * editing/htmlediting.h:

2009-08-19  Mike Fenton  <mike.fenton@torchmobile.com>

        Reviewed by Eric Seidel.

        Update GraphicsContextSkia's version of drawLine to make use of the shared
        adjustLineToPixelBoundaries function and elimination overlapping code.

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

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

2009-08-18  Mike Fenton  <mike.fenton@torchmobile.com>

        Reviewed by Eric Seidel.

        Style fixes based on cpp_style.py and WebKit Style guide for
        GraphicsContextSkia.cpp

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

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        (WebCore::GraphicsContext::drawFocusRing):
        (WebCore::GraphicsContext::roundToDevicePixels):
        (WebCore::GraphicsContext::setLineDash):
        (WebCore::GraphicsContext::setPlatformShadow):

2009-08-18  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=28446
        Custom request headers shouldn't be sent with cross-origin preflight request

        Tests: http/tests/xmlhttprequest/access-control-preflight-headers-async.html
               http/tests/xmlhttprequest/access-control-preflight-headers-sync.html

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
        Don't copy headers to OPTIONS request. The spec is vague about this, but the intention was
        that they shouldn't be sent, and Firefox doesn't send them.

2009-08-18  John Gregg  <johnnyg@google.com>

        Reviewed by Dimitri Glazkov.

        V8 Bindings for Desktop Notifications feature.
        https://bugs.webkit.org/show_bug.cgi?id=28271

        * WebCore.gypi: 
        added notification files to build (all still behind a flag that's not on)
        * bindings/scripts/CodeGeneratorV8.pm:
        added special case in DOMWindow/AppCache style for named event handlers
        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate):
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:
        * bindings/v8/V8Proxy.h:
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::convertToV8Object):
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8NotificationCenterCustom.cpp: Added.
        * notifications/Notification.h:
        made event handler routines public (as they are in DOMWindow, eg) for
        binding access.
        * notifications/NotificationCenter.idl:
        needed to make methods V8Custom to support different behaviors in 
        worker/page context in chromium. 
        * workers/WorkerThread.h:
        (WebCore::WorkerThread::getNotificationPresenter):
        (WebCore::WorkerThread::setNotificationPresenter):
        needed to make these methods public as well so chromium can inject
        the notification presenter into the worker thread.

2009-08-13  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Sam Weinig.

        - Implement HTML5 nav element
        https://bugs.webkit.org/show_bug.cgi?id=27937

        <nav> should behave essentially the same as <div> for parsing
        etc. This is implemented by the changes below.
        
        Tests: fast/html/nav-element.html

        * css/html.css:
        * editing/htmlediting.cpp:
        (WebCore::validBlockTag):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::tagPriority):
        (WebCore::blockTagList):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::getNode):
        * html/HTMLTagNames.in:

2009-08-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adele Peterson, David Hyatt and Dan Bernstein.

        - Fix <rdar://problem/7152727>

        If a page has custom scroll bars, they will not update correctly when the window is activated/deactivated.
        
        * page/FrameView.cpp:
        (WebCore::FrameView::hasCustomScrollbars):
        Check if the frame view or any of its subviews have custom scroll bars.
        
        (WebCore::FrameView::updateControlTints):
        Go ahead and update control tints if the frame view has custom scroll bars.
        
        * page/FrameView.h:

2009-08-18  Mark Rowe  <mrowe@apple.com>

        Roll out r47477 as it introduced assertion failures and crashes on the build bots.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * storage/Database.cpp:
        * storage/Database.h:
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::DatabaseThread):
        * storage/DatabaseThread.h:
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::runCurrentStatement):
        (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
        (WebCore::SQLTransaction::postflightAndCommit):
        * storage/SQLTransactionClient.cpp: Removed.
        * storage/SQLTransactionClient.h: Removed.

2009-08-18  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        [Haiku] Adding the SharedTimer file for WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=28126

        * platform/haiku/SharedTimerHaiku.cpp: Added.
        (WebCore::):
        (WebCore::SharedTimerHaiku::SharedTimerHaiku):
        (WebCore::SharedTimerHaiku::~SharedTimerHaiku):
        (WebCore::SharedTimerHaiku::instance):
        (WebCore::SharedTimerHaiku::start):
        (WebCore::SharedTimerHaiku::stop):
        (WebCore::SharedTimerHaiku::Filter):
        (WebCore::setSharedTimerFiredFunction):
        (WebCore::setSharedTimerFireTime):
        (WebCore::stopSharedTimer):

2009-08-18  Mark Rowe  <mrowe@apple.com>

        Release build fix.

        * xml/XMLHttpRequest.cpp: Sprinkle some #ifndef NDEBUG around.
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::~XMLHttpRequest):

2009-08-18  Aaron Boodman  <aa@chromium.org>

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=28412: Leak of WebCore::XMLHttpRequest object during layout tests.

        No new tests: Already covered by existing tests.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::XMLHttpRequest): Add instrumentation for this kind of leak.
        (WebCore::XMLHttpRequest::~XMLHttpRequest): Ditto.
        (WebCore::XMLHttpRequest::createRequest): Only setPendingActivity() if we actually started a request. Also,
        restore a call to nonCacheRequestInFlight() that got lost in a recent refactor.

2009-08-18  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Added a client to SQLTransaction. In addition to being a place to
        get notifications about certain events in a transaction, it is
        also an abstraction layer that allows us to plug in different
        implementations for each port for how transactions interract with
        the main DB. For example, WebCore's default implementation will
        make direct calls to DatabaseTracker's methods. At the same time,
        Chromium's implementation will send IPCs to the browser process
        whenever a transaction needs something from the main DB.

        All storage tests pass.

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

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * storage/Database.cpp:
        (WebCore::Database::transactionClient):
        * storage/Database.h:
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::DatabaseThread):
        * storage/DatabaseThread.h:
        (WebCore::DatabaseThread::transactionClient):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::runCurrentStatement):
        (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
        (WebCore::SQLTransaction::postflightAndCommit):
        * storage/SQLTransactionClient.cpp: Added.
        * storage/SQLTransactionClient.h: Added.

2009-08-18  Julie Parent  <jparent@chromium.org>

        Not reviewed, build fix for Chromium.

        Final change for v8 corresponding to http://trac.webkit.org/changeset/47469.

        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: Added missing using statment

2009-08-18  Julie Parent  <jparent@chromium.org>

        Not reviewed, build fix for Chromium.

       More corresponding changes to V8 from http://trac.webkit.org/changeset/47469.

        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
        (WebCore::ACCESSOR_SETTER): Use srcAttr instead of the src function.

2009-08-18  Julie Parent  <jparent@chromium.org>

        Not reviewed, build fix for Chromium.

        Make corresponding changes to V8 from http://trac.webkit.org/changeset/47469.

        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
        (WebCore::ACCESSOR_SETTER): Use srcAttr instead of the src function.

2009-08-18  Dan Bernstein  <mitz@apple.com>

        Build fix.

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

2009-08-18  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        More work on making DOM classes start with reference count of 1
        https://bugs.webkit.org/show_bug.cgi?id=28068

        Some related clean-up and preparation steps so the subsequent
        patches will be as small as possible.

        * WebCore.base.exp: Sorted this file.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityDescription):
        Use nameAttr instead of the name function.

        * bindings/js/JSHTMLFrameElementCustom.cpp:
        (WebCore::JSHTMLFrameElement::setSrc):
        Use srcAttr instead of the src function.

        * bindings/js/JSHTMLIFrameElementCustom.cpp:
        (WebCore::JSHTMLIFrameElement::setSrc):
        Use srcAttr instead of the src function.

        * bindings/objc/DOM.mm: Sorted includes.
        * dom/Document.cpp: Ditto.

        * dom/StyledElement.cpp: Made invalidateStyleAttribute inline.
        * dom/StyledElement.h: Ditto.

        * dom/make_names.pl: Changed default of createWithNew to 0.
        Eventually all elements will be created with create instead of new.

        * html/HTMLTagNames.in:
        * svg/svgtags.in:
        * wml/WMLTagNames.in:
        Added createWithNew for every tag. We'll remove it as we convert
        element classes to use create.

        * html/HTMLAppletElement.h: Removed unneeded forward declarations.
        * html/HTMLFrameElement.h: Ditto.

        * html/HTMLEmbedElement.cpp: Removed many attribute get and
        set functions.
        * html/HTMLEmbedElement.h: Ditto.
        * html/HTMLIFrameElement.cpp: Ditto.
        * html/HTMLIFrameElement.h: Ditto.
        * html/HTMLObjectElement.cpp: Ditto.
        * html/HTMLObjectElement.h: Ditto.
        * html/HTMLPlugInElement.cpp: Ditto.
        * html/HTMLPlugInElement.h: Ditto.

        * html/HTMLFrameElementBase.cpp: Removed many attribute get and
        set functions.
        (WebCore::HTMLFrameElementBase::location): Changed to use
        srcAttr instead of src.
        * html/HTMLFrameElementBase.h: Removed many attribute get and set
        functions.

        * loader/MediaDocument.cpp:
        (WebCore::MediaDocument::replaceMediaElementTimerFired):
        Use srcAttr and typeAttr instead of setSrc and setType.
        * loader/PluginDocument.cpp:
        (WebCore::PluginTokenizer::createDocumentStructure): Ditto.

        * rendering/RenderPartObject.cpp:
        (WebCore::RenderPartObject::updateWidget): Use nameAttr instead
        of name -- this avoids an extra AtomicString round trip and a little
        ref count churn too.

2009-08-18  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        SharedWorkers need to support loading.
        https://bugs.webkit.org/show_bug.cgi?id=28342

        Added loader support to shared workers, and refactored worker tests to also test SharedWorkers

        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::SharedWorkerProxy::postTaskToLoader):
        Forwards load requests to an arbitrary document from the list of worker's documents.
        (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
        Posts responses back to the shared worker thread.

2009-08-18  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        StyleChange::init needs clean up before fixing the bug 23892
        https://bugs.webkit.org/show_bug.cgi?id=27749

        This patch simplifies StyleChange::init by removing the iteration on CSS properties,
        and adding functions reconcileTextDecorationProperties and extractTextStyle to handle the style.

        Because there is a bug in how text decorations are processes in getPropertiesNotInComputedStyle,
        this patch simplifies the treatment in order to preserve the original behavior of WebKit.
        However, the current implementation is not best (adds redundant text-decorations) and we should fix it later.

        No test is added since there is no change in behavior.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::StyleChange::init): Uses getPropertiesNotInComputedStyle instead of iterating through the properties
        (WebCore::StyleChange::reconcileTextDecorationProperties): Removes -webkit-text-decorations-in-effects and redundant "none"
        (WebCore::getIdentifierValue): Obtains the identifier of a CSSPrimitiveValue
        (WebCore::StyleChange::extractTextStyles): Converts properties in style to m_apply* and removes the property
        (WebCore::getPropertiesNotInComputedStyle): Fixed a bug with how text decorations are treated

2009-08-18  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Fixing a DB file naming bug in Chromium. The origin should come
        before the DB name in the file name.

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

        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::fullPathForDatabase):

2009-08-18  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        [Haiku] Adding four image-specific files to WebCore:
        IconHaiku.cpp, ImageBufferData.h, ImageBufferHaiku.cpp, ImageHaiku.cpp
        https://bugs.webkit.org/show_bug.cgi?id=28130

        * platform/graphics/Icon.h:
        * platform/graphics/haiku/IconHaiku.cpp: Added.
        (WebCore::Icon::~Icon):
        (WebCore::Icon::createIconForFile):
        (WebCore::Icon::createIconForFiles):
        (WebCore::Icon::paint):
        * platform/graphics/haiku/ImageBufferData.h: Added.
        * platform/graphics/haiku/ImageBufferHaiku.cpp: Added.
        (WebCore::ImageBufferData::ImageBufferData):
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::~ImageBuffer):
        (WebCore::ImageBuffer::context):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):
        (WebCore::ImageBuffer::toDataURL):
        (WebCore::ImageBuffer::image):
        (WebCore::ImageBuffer::platformTransformColorSpace):
        * platform/graphics/haiku/ImageHaiku.cpp: Added.
        (WebCore::FrameData::clear):
        (WebCore::Image::loadPlatformResource):
        (WebCore::BitmapImage::initPlatformData):
        (WebCore::BitmapImage::invalidatePlatformData):
        (WebCore::BitmapImage::draw):
        (WebCore::Image::drawPattern):
        (WebCore::BitmapImage::checkForSolidColor):
        (WebCore::BitmapImage::getBBitmap):

2009-08-18  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dan Bernstein.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=27575 [CSS3 
        Backgrounds and Borders] Drop the prefix from background-size

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFillProperty):
        (WebCore::cssPropertyID):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * page/animation/AnimationBase.cpp:
        (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
        (WebCore::ensurePropertyMap):

2009-08-18  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        SharedWorkers need to forward exceptions to parent documents
        https://bugs.webkit.org/show_bug.cgi?id=28320

        Changed SharedWorkerProxy to have individual mutexes (so workers can interact with their parent documents without contention).

        Updated SharedWorkerProxy to forward exceptions/console messages to all parent documents.

        * bindings/js/JSSharedWorkerConstructor.cpp:
        Cleaned up bitrot - added missing include.
        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::postExceptionTask):
        Callback used to deliver exceptions to a document.
        (WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
        Forwards exceptions to all parent documents for presentation to the user.
        (WebCore::postConsoleMessageTask):
        (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
        Forwards console messages to all parent documents for presentation to the user.
        (WebCore::SharedWorkerProxy::addToWorkerDocuments):
        Grabs the mutex before accessing workerDocuments.
        (WebCore::SharedWorkerProxy::documentDetached):
        Grabs the mutex before accessing workerDocuments.

2009-08-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adele Peterson.

        <rdar://problem/7135588> HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource
        
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::isSafeToLoadURL):
        Call FrameLoaderClient::shouldLoadMediaElementURL.
        
        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::shouldLoadMediaElementURL):
        Return true by default.

2009-08-18  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        openDatabase() should not execute any SQL statement on the
        database it's trying to open, unless there are no other open
        handles to the same database. Otherwise, we might run into a
        deadlock.

        Test: storage/open-database-while-transaction-in-progress.html

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

        * storage/Database.cpp:
        (WebCore::Database::performOpenAndVerify):

2009-08-18  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        SVG Filter feBlend implementation missing
        [https://bugs.webkit.org/show_bug.cgi?id=28133]

        Implementation of SVG Filter feBlend.

        FilterEffect.cp needed changes to optimize the rendering. With the old code
        we drew a subEffect on the current FilterEffect by drawImage, got the PixelArray,
        cleared the drawing area, drew the next FilterEffect with drawImage and picked this
        PixelArray again. This was unefficient and slow. Now we calculate the requested area
        of the subEffect and ask the FilterEffect's ImageBuffer for the PixelArray directly,
        without any drawing operations on GraphicsContext.

        There is already a test case
        Test: svg/W3C-SVG-1.1/filters-blend-01-b.svg

        * html/canvas/CanvasPixelArray.h:
        (WebCore::CanvasPixelArray::set):
        (WebCore::CanvasPixelArray::get):
        * platform/graphics/filters/FEBlend.cpp:
        (WebCore::unknown):
        (WebCore::normal):
        (WebCore::multiply):
        (WebCore::screen):
        (WebCore::darken):
        (WebCore::lighten):
        (WebCore::FEBlend::apply):
        * platform/graphics/filters/FEBlend.h:
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::calculateDrawingIntRect):
        * platform/graphics/filters/FilterEffect.h:

2009-08-18  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Fix array formatter followup: node formatter.

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

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._format):

2009-08-18  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Metrics sidebar broken

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

        * inspector/front-end/MetricsSidebarPane.js:

2009-08-18  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=28432
        String::createCFString() returns a non-retained empty string

        No known change in functionality, so no test.

        * platform/text/cf/StringCF.cpp: (WebCore::String::createCFString): Retain the CFSTR result.
    
2009-08-18  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Oliver Hunt.

        Fix of <https://bugs.webkit.org/show_bug.cgi?id=28326> DRT on Windows doesn't support 
        LayoutTestController::setQuota or print a callback on UIDelegate::exceededDatabaseQuota.
        
        Removed an early return that can cause deleteOrigin or deleteAllDatabases to fail when
        it doesn't have to.

        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::deleteOrigin):

2009-08-18  Michelangelo De Simone  <micdesim@gmail.com>

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=27357
        Support for :valid and :invalid CSS selectors, from HTML5 specs.
        http://www.whatwg.org/specs/web-apps/current-work/#selector-valid

        Tests: fast/css/pseudo-invalid-001.html
               fast/css/pseudo-invalid-002.html
               fast/css/pseudo-valid-001.html
               fast/css/pseudo-valid-002.html
               fast/css/pseudo-valid-003.html
               fast/css/pseudo-valid-004.html
               fast/css/pseudo-valid-005.html
               fast/css/pseudo-valid-006.html
               fast/css/pseudo-valid-007.html

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::extractPseudoType): extracts new pseudo-classes
        * css/CSSSelector.h:
        (WebCore::CSSSelector::):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement): Make sure we don't share style between
form controls that have different validity states.
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): applies
        style associated to new pseudo-classes
        * dom/Element.h:
        (WebCore::Element::willValidate): pushed up in hierarchy
        (WebCore::Element::isValidFormControlElement): checks for valid form
        control elements (wraps ValidityState::valid())
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::willValidate): minor clean up
        (WebCore::HTMLFormControlElement::isValidFormControlElement): ditto
        * html/HTMLFormControlElement.h:
        * html/HTMLKeygenElement.h:
        (WebCore::HTMLKeygenElement::willValidate): added
        * html/HTMLObjectElement.h:
        (WebCore::HTMLObjectElement::willValidate): added
        * html/HTMLObjectElement.idl:

2009-08-18  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Fix array formatter.

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

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._formatarray):

2009-08-17  Joe Mason  <joe.mason@torchmobile.com>

        Reviewed by George Staikos

        Replace repeated string of PLATFORM(FOO) with a single define
        https://bugs.webkit.org/show_bug.cgi?id=27734

        * loader/CachedFont.cpp:
        (WebCore::CachedFont::~CachedFont):
        (WebCore::CachedFont::ensureCustomFontData):
        (WebCore::CachedFont::platformDataFromCustomData):
        (WebCore::CachedFont::allClientsRemoved):

2009-08-16  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=20329, shadows and reflections incorrectly
        considered part of scrollable overflow.

        This patch takes the engine's concept of overflow and splits it into two types:
        layout overflow and visual overflow.
        
        Layout overflow is about other boxes that spill out of an enclosing box,  For example,
        in the inline flow case a tall image could spill out of a line box. Examples of 
        visual overflow are shadows, text stroke (and eventually outline and
        border-image).

        Three objects tracked overflow before this patch: RenderBlock had 
        m_overflowLeft/Top/Width/Height variables.  RootInlineBox had an Overflow*
        that also had four overflow values.  Finally RenderReplaced elements tracked shadow/reflection
        overflow using a map that cached four values.
        
        This patch takes all of these different overflow models and unifies them into a single
        new class called RenderOverflow.   This class is now a member variable in RenderBox and
        InlineFlowBoxes.  It is only allocated if overflow actually exists.  Instead of tracking
        four values, it tracks eight: left/top/right/bottom for layout overflow and 
        left/top/right/bottom for visual overflow.
        
        Overflow computation is now done after layout is finished rather than during layout
        (when child objects can be churning and moving around).  A number of layout tests progressed
        by deferring overflow computation to a separate pass.
        
        All inline flow boxes now track overflow (and not just the root line box).  This allows
        repainting of line boxes to actually be tight and bail early if the overflow rect of a box
        doesn't intersect.  The old code always visited all object on a line if the root line box
        intersected at all.
        
        Line box overflow no longer propagates across self-painting layers.  This fixes a number of
        issues with incorrect scrollbars appearing when relative positioned inlines were used in a page.
        
        Layer bounds have been modified to exclude visual overflow.  The width/height members only really
        have one reason for continued existence, and that is that they happen to be used in repaint()
        when an overflow clip object's height isn't accurate.  In this case, the bounds should exclude
        visual overflow anyway, so this change tightens that repaint up.
        
        Root lines have renamed m_selectionTop/Bottom to m_lineTop/Bottom and positionForPoint methods have
        been changed to use these instead of relying on overflow (which was totally wrong).

        Significant changes have been made to the "almost strict mode" line box quirk where objects with no
        text children have no effect on the height of a line.  Instead of making the height() of the objects
        variable and dependent on overflow, the objects now have their full height and get placed on
        the baseline properly.  They simply don't contribute to overflow above lineTop/Bottom.
        
        Reflections are no longer considered overflow of any kind.  Because reflections have their own layers,
        it is not necessary to treat them as visual or layout overflow in the RenderObject tree.  The end result
        of not incorporating them into RenderOverflow is that they have no effect on scrolling.  transparencyClipBox
        has been extended to support fully reflecting the entire clip box when a reflection exists.  This fixes
        numerous repaint bugs in transparent objects with reflections when the transparent objects had self-painting
        sublayers.

        * WebCore.xcodeproj/project.pbxproj:
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::getUpperLeftCorner):
        * editing/visible_units.cpp:
        (WebCore::previousLinePosition):
        (WebCore::nextLinePosition):
        * page/FrameView.cpp:
        (WebCore::FrameView::adjustViewSize):
        (WebCore::FrameView::adjustPageHeight):
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::height):
        * rendering/InlineBox.h:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::adjustPosition):
        (WebCore::InlineFlowBox::placeBoxesHorizontally):
        (WebCore::InlineFlowBox::placeBoxesVertically):
        (WebCore::InlineFlowBox::computeVerticalOverflow):
        (WebCore::InlineFlowBox::nodeAtPoint):
        (WebCore::InlineFlowBox::paint):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::InlineFlowBox):
        (WebCore::InlineFlowBox::topCombinedOverflow):
        (WebCore::InlineFlowBox::bottomCombinedOverflow):
        (WebCore::InlineFlowBox::leftCombinedOverflow):
        (WebCore::InlineFlowBox::rightCombinedOverflow):
        (WebCore::InlineFlowBox::combinedOverflowRect):
        (WebCore::InlineFlowBox::topLayoutOverflow):
        (WebCore::InlineFlowBox::bottomLayoutOverflow):
        (WebCore::InlineFlowBox::leftLayoutOverflow):
        (WebCore::InlineFlowBox::rightLayoutOverflow):
        (WebCore::InlineFlowBox::layoutOverflowRect):
        (WebCore::InlineFlowBox::topVisualOverflow):
        (WebCore::InlineFlowBox::bottomVisualOverflow):
        (WebCore::InlineFlowBox::leftVisualOverflow):
        (WebCore::InlineFlowBox::rightVisualOverflow):
        (WebCore::InlineFlowBox::visualOverflowRect):
        (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
        (WebCore::InlineFlowBox::setVerticalOverflowPositions):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::RenderBlock):
        (WebCore::RenderBlock::layout):
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::addOverflowFromBlockChildren):
        (WebCore::RenderBlock::handleBottomOfBlock):
        (WebCore::RenderBlock::layoutBlockChildren):
        (WebCore::RenderBlock::paint):
        (WebCore::RenderBlock::fillInlineSelectionGaps):
        (WebCore::RenderBlock::floatRect):
        (WebCore::RenderBlock::lowestPosition):
        (WebCore::RenderBlock::rightmostPosition):
        (WebCore::RenderBlock::leftmostPosition):
        (WebCore::RenderBlock::addOverhangingFloats):
        (WebCore::RenderBlock::nodeAtPoint):
        (WebCore::RenderBlock::positionForPointWithInlineChildren):
        (WebCore::RenderBlock::layoutColumns):
        (WebCore::getHeightForLineCount):
        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
        (WebCore::RenderBlock::computeVerticalPositionsForLine):
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::matchedEndLine):
        (WebCore::RenderBlock::addOverflowFromInlineChildren):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::destroy):
        (WebCore::RenderBox::clippedOverflowRectForRepaint):
        (WebCore::RenderBox::localCaretRect):
        (WebCore::RenderBox::addShadowAndReflectionOverflow):
        (WebCore::RenderBox::addOverflowFromChild):
        (WebCore::RenderBox::addLayoutOverflow):
        (WebCore::RenderBox::addVisualOverflow):
        (WebCore::RenderBox::clearLayoutOverflow):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::combinedOverflowRect):
        (WebCore::RenderBox::topCombinedOverflow):
        (WebCore::RenderBox::bottomCombinedOverflow):
        (WebCore::RenderBox::leftCombinedOverflow):
        (WebCore::RenderBox::rightCombinedOverflow):
        (WebCore::RenderBox::layoutOverflowRect):
        (WebCore::RenderBox::topLayoutOverflow):
        (WebCore::RenderBox::bottomLayoutOverflow):
        (WebCore::RenderBox::leftLayoutOverflow):
        (WebCore::RenderBox::rightLayoutOverflow):
        (WebCore::RenderBox::visualOverflowRect):
        (WebCore::RenderBox::topVisualOverflow):
        (WebCore::RenderBox::bottomVisualOverflow):
        (WebCore::RenderBox::leftVisualOverflow):
        (WebCore::RenderBox::rightVisualOverflow):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPosition):
        (WebCore::RenderLayer::localBoundingBox):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::paint):
        (WebCore::RenderLineBoxList::hitTest):
        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::positionListMarker):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::RenderObject):
        * rendering/RenderObject.h:
        * rendering/RenderOverflow.h: Added.
        (WebCore::RenderOverflow::RenderOverflow):
        (WebCore::RenderOverflow::topLayoutOverflow):
        (WebCore::RenderOverflow::bottomLayoutOverflow):
        (WebCore::RenderOverflow::leftLayoutOverflow):
        (WebCore::RenderOverflow::rightLayoutOverflow):
        (WebCore::RenderOverflow::topVisualOverflow):
        (WebCore::RenderOverflow::bottomVisualOverflow):
        (WebCore::RenderOverflow::leftVisualOverflow):
        (WebCore::RenderOverflow::rightVisualOverflow):
        (WebCore::RenderOverflow::setTopLayoutOverflow):
        (WebCore::RenderOverflow::setBottomLayoutOverflow):
        (WebCore::RenderOverflow::setLeftLayoutOverflow):
        (WebCore::RenderOverflow::setRightLayoutOverflow):
        (WebCore::RenderOverflow::setTopVisualOverflow):
        (WebCore::RenderOverflow::setBottomVisualOverflow):
        (WebCore::RenderOverflow::setLeftVisualOverflow):
        (WebCore::RenderOverflow::setRightVisualOverflow):
        (WebCore::RenderOverflow::layoutOverflowRect):
        (WebCore::RenderOverflow::visualOverflowRect):
        (WebCore::RenderOverflow::combinedOverflowRect):
        (WebCore::RenderOverflow::move):
        (WebCore::RenderOverflow::addLayoutOverflow):
        (WebCore::RenderOverflow::addVisualOverflow):
        (WebCore::RenderOverflow::resetLayoutOverflow):
        * rendering/RenderPartObject.cpp:
        (WebCore::RenderPartObject::layout):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::~RenderReplaced):
        (WebCore::RenderReplaced::layout):
        (WebCore::RenderReplaced::shouldPaint):
        (WebCore::RenderReplaced::positionForPoint):
        (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
        * rendering/RenderReplaced.h:
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::RenderScrollbarPart::layout):
        (WebCore::RenderScrollbarPart::paintIntoRect):
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::layout):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        (WebCore::RenderTable::paint):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):
        * rendering/RenderTableSection.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::positionForPoint):
        (WebCore::RenderText::localCaretRect):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::layout):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::addHighlightOverflow):
        (WebCore::RootInlineBox::adjustPosition):
        (WebCore::RootInlineBox::verticallyAlignBoxes):
        (WebCore::RootInlineBox::selectionTop):
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::RootInlineBox):
        (WebCore::RootInlineBox::nextRootBox):
        (WebCore::RootInlineBox::prevRootBox):
        (WebCore::RootInlineBox::lineTop):
        (WebCore::RootInlineBox::lineBottom):
        (WebCore::RootInlineBox::selectionBottom):
        (WebCore::RootInlineBox::selectionHeight):
        (WebCore::RootInlineBox::floats):
        (WebCore::RootInlineBox::floatsPtr):
        (WebCore::RootInlineBox::setLineTopBottomPositions):
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::layoutInlineBoxes):

2009-08-18  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=28431
        <rdar://problem/7137610> Application Cache doesn't work with HTTP authentication

        Test: http/tests/appcache/auth.html

        * loader/appcache/ApplicationCacheGroup.h:
        (WebCore::ApplicationCacheGroup::shouldUseCredentialStorage): If appcache is enabled,
        always allow it to use stored credentials (we can't ask WebKit client, and maybe we
        shouldn't ask it, because it's not a document that's loading these resources).

2009-08-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by John Sullivan and David Hyatt.

        Fix <rdar://problem/7147996>

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setHasHorizontalScrollbar):
        (WebCore::ScrollView::setHasVerticalScrollbar):
        Update the style of the scroll bars.
        
        * rendering/RenderScrollbar.cpp:
        (WebCore::RenderScrollbar::RenderScrollbar):
        Calculate the size of the scrollbar and set it as the frame size.

2009-08-18  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        HTMLMediaElement should fire 'progress' event before 'load'
        https://bugs.webkit.org/show_bug.cgi?id=28314

        Test: media/progress-event-at-least-one.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setNetworkState):
            Schedule 'progress' event before 'load'.

2009-08-18  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=28415
        Set svn:eol-style CRLF on all .sln and .vcproj files that don't already
        have it.

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

2009-08-18  Drew Wilson  <atwilson@google.com>

        Reviewed by Eric Seidel.

        Need to extend DumpRenderTree to expose number of worker threads
        https://bugs.webkit.org/show_bug.cgi?id=28292

        Expose WorkerThread::workerThreadCount() for DumpRenderTree so we can write worker lifecycle tests.

        Tests: fast/workers/shared-worker-lifecycle.html-disabled
               fast/workers/worker-lifecycle.html

        * WebCore.base.exp:
        Exported WorkerThread::workerThreadCount().
        * WebCore.xcodeproj/project.pbxproj:
        * workers/WorkerThread.cpp:
        Added tracking of the number of worker threads.
        (WebCore::threadCountMutex):
        (WebCore::WorkerThread::workerThreadCount):
        (WebCore::WorkerThread::WorkerThread):
        (WebCore::WorkerThread::~WorkerThread):
        * workers/WorkerThread.h:

2009-08-18  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Unreviewed, build fix.

        [Qt] Add new files I forgot to add in r47424.

2009-08-18  Markus Goetz <Markus.Goetz@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] Implement prefetchDNS() function.

        * WebCore.pro:
        * platform/qt/TemporaryLinkStubs.cpp:

2009-08-18  Kent Tamura  <tkent@chromium.org>

        Reviewed by Eric Seidel.

        Support for parsing <datalist> element and generating HTMLDataListElement nodes.
        https://bugs.webkit.org/show_bug.cgi?id=26915

        Tests: fast/forms/datalist-nonoption-child.html
               fast/forms/datalist.html

        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.vcproj/build-generated-files.sh:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * css/html.css:
        * html/CollectionType.h:
        (WebCore::):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::itemAfter):
        * html/HTMLDataListElement.cpp: Added.
        (WebCore::HTMLDataListElement::HTMLDataListElement):
        (WebCore::HTMLDataListElement::~HTMLDataListElement):
        (WebCore::HTMLDataListElement::checkDTD):
        (WebCore::HTMLDataListElement::options):
        * html/HTMLDataListElement.h: Added.
        * html/HTMLDataListElement.idl: Added.
        * html/HTMLElement.cpp:
        (WebCore::inlineTagList):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::isAffectedByResidualStyle):
        * html/HTMLTagNames.in:

2009-08-17  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Eric Seidel.

        -webkit-box-orient:horizontal doesn't work on <button> tag
        https://bugs.webkit.org/show_bug.cgi?id=34445

        Make a flexible button's anonymous child flexible and pass the
        parent's box-orient to the anonymous child.

        Also, added a renderName for anonymous flexible boxes.

        Test: fast/flexbox/box-orient-button.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::createAnonymousBlock):
        * rendering/RenderBlock.h:
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::addChild):
        (WebCore::RenderButton::setupInnerStyle):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::renderName):

2009-08-17  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.
        
        Render -webkit-mask via compositing layers when possible
        https://bugs.webkit.org/show_bug.cgi?id=28414
        
        Implement accelerated compositing of -webkit-mask, when combined
        with already-composited content.
        
        RenderLayerBacking now creates an additional GraphicsLayer for the mask contents,
        and sets this as the mask on another GraphicsLayer via the setMaskLayer() method.
        GraphicsLayerCA then applies the mask using -[CALayer setMask:].
        
        The enum values for GraphicsLayerPaintingPhase were renamed to avoid the
        confusion with "mask", and a new value, GraphicsLayerPaintMask, was added which
        indicates that just the mask is painting.
        
        When painting the composited mask, we need to paint with the normal compositing
        mode rather than CompositeDestinationIn, so InlineFlowBox and RenderBox now consult
        layer()->hasCompositedMask() to pick the mode. If the mask is composited, they no longer
        need to make transparency layers.
        
        We no longer have to throw video rendering into software because of masks.
        
        When a masked element has composited descendants, that element needs to
        become composited so that the mask can be applied via compositing.

        Tests: compositing/masks/masked-ancestor.html
               compositing/masks/simple-composited-mask.html

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::GraphicsLayer):
        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::maskLayer):
        (WebCore::GraphicsLayer::setMaskLayer):
        (WebCore::GraphicsLayer::paintingPhase):
        (WebCore::GraphicsLayer::setPaintingPhase):
        * platform/graphics/GraphicsLayerClient.h:
        (WebCore::):
        * platform/graphics/mac/GraphicsLayerCA.h:
        (WebCore::GraphicsLayerCA::):
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::setMaskLayer):
        (WebCore::GraphicsLayerCA::recursiveCommitChanges):
        (WebCore::GraphicsLayerCA::commitLayerChanges):
        (WebCore::GraphicsLayerCA::updateMaskLayer):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintMask):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintMaskImages):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hasCompositedMask):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::hasCompositedMask):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::~RenderLayerBacking):
        (WebCore::RenderLayerBacking::destroyGraphicsLayer):
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        (WebCore::RenderLayerBacking::updateForegroundLayer):
        (WebCore::RenderLayerBacking::updateMaskLayer):
        (WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer):
        (WebCore::RenderLayerBacking::setContentsNeedDisplay):
        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
        (WebCore::RenderLayerBacking::paintIntoLayer):
        (WebCore::RenderLayerBacking::paintContents):
        * rendering/RenderLayerBacking.h:
        (WebCore::RenderLayerBacking::hasMaskLayer):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
        (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
        (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing):
        * rendering/RenderLayerCompositor.h:

2009-08-17  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        Layer content misplaced with compositing, z-index and overflow
        https://bugs.webkit.org/show_bug.cgi?id=28361
        
        The foreground GraphicsLayer (used to render element foreground when the element has 
        negative z-order children) was misplaced when there is a clipping layer (which clips
        children). The foreground layer is parented under the clipping layer so that the foreground
        depth-sorts with the layer's children, so its geometry needs to be computed relative to
        that clipping layer.
        
        Also clarified some FIXME comments, and corrected a debug-only layer name.

        Test: compositing/geometry/clipping-foreground.html

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::updateSublayerList):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        (WebCore::RenderLayerBacking::updateForegroundLayer):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):

2009-08-17  Mark Rowe  <mrowe@apple.com>

        Reviewed by Sam Weinig.

        Fix leaks of SVGElementInstance seen during regression tests.

        r47313 made TreeShared types start with a ref-count of 1, but SVGElementInstance was mistakenly
        not updated to have a create method that adopted the initial reference.  This lead to the instances
        of SVGElementInstance allocated by SVGUseElement being leaked.

        * svg/SVGElementInstance.h:
        (WebCore::SVGElementInstance::create):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::buildPendingResource):
        (WebCore::SVGUseElement::buildInstanceTree):
        (WebCore::SVGUseElement::handleDeepUseReferencing):

2009-08-17  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        Some cleanup towards https://bugs.webkit.org/show_bug.cgi?id=13631
        Page Cache should support pages with frames.

        - Re-factor all remaining page cache code out of DocumentLoader, as CachedPage/CacheFrame loads
          are solely the responsibility of FrameLoader.
        - Enhance some page cache related Logging to help development.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::identifierForInitialRequest):

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::DocumentLoader):
        * loader/DocumentLoader.h:

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::isLoadingFromCachedPage):

2009-08-17  Roland Steiner  <rolandsteiner@google.com>

        Reviewed by Eric Seidel.

        Moved implementation of isAfterContent to RenderObject
        (as inline method to avoid potential performance regressions).

        BUG 28376 -  [Cleanup] isAfterContent() implemented twice, should be member of RenderObject
        (https://bugs.webkit.org/show_bug.cgi?id=28376)

        * rendering/RenderBox.cpp:
        * rendering/RenderBox.h:
        * rendering/RenderInline.cpp:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isAfterContent):

2009-08-17  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler.

        Assertion failure in WebCore::RenderHTMLCanvas::layout
        https://bugs.webkit.org/show_bug.cgi?id=12052

        Don't handle run-in if the element is not a block element.

        Test: fast/runin/nonblock-runin.html

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

2009-08-17  Benjamin C Meyer  <benjamin.meyer@torchmobile.com>

        Reviewed by Darin Adler.

        Fix createImageData to raise the NOT_SUPPORTED_ERR exception when
        either of the arguments are not finite.

        According to
        http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation:
        "If any of the arguments to createImageData() or getImageData() are
        infinite or NaN, or if the createImageData()  method is invoked with
        only one argument but that argument is null, the method must instead
        raise a NOT_SUPPORTED_ERR  exception."

        Test: http://philip.html5.org/tests/canvas/suite/tests/2d.imageData.create.nonfinite.html

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::createImageData):
        * html/canvas/CanvasRenderingContext2D.h:
        * html/canvas/CanvasRenderingContext2D.idl:

2009-08-17  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        Add a way to release the storage lock
        https://bugs.webkit.org/show_bug.cgi?id=28411

        Two scripts within the same origin that are accessing LocalStorage must not do
        it simultaneously, according to the spec.  There are some cases, however, where
        a script might want to override this behavior.  navigator.getStorageUpdates()
        was added for this reason:
        http://dev.w3.org/html5/spec/Overview.html#manually-releasing-the-storage-mutex

        Add this function to navigator and hook it up to DOM Storage.

        * page/Navigator.cpp:
        (WebCore::Navigator::getStorageUpdates):
        * page/Navigator.h:
        * page/Navigator.idl:
        * storage/StorageNamespace.h:
        * storage/StorageNamespaceImpl.cpp:
        (WebCore::StorageNamespaceImpl::unlock):
        * storage/StorageNamespaceImpl.h:

2009-08-17  Mark Rowe  <mrowe@apple.com>

        Build fix.

        CFNetwork isn't present in the framework search path on Mac OS X so we can't directly include its headers.
        We include CoreServices.h, the umbrella framework that contains CFNetwork, from the prefix header which
        results in the CFNetwork headers being included on Mac OS X.  CoreServices.h doesn't include CFNetwork.h on
        Windows though so we explicitly include this header from the prefix header when on Windows.

        * WebCorePrefix.h:
        * platform/network/cf/DNSCFNet.cpp: Remove #include that is no longer needed.

2009-08-17  Alexey Proskuryakov  <ap@apple.com>

        Trying a better build fix (the previous one broke Leopard bots, although it did build for me).

        * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFNetwork.h instead.

2009-08-17  Alexey Proskuryakov  <ap@apple.com>

        Trying to fix Windows build.

        * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFHost.h.

2009-08-17  Peter Kasting  <pkasting@google.com>

        Reviewed by Steve Falkenburg.

        https://bugs.webkit.org/show_bug.cgi?id=27323
        Only add Cygwin to the path when it isn't already there.  This avoids
        causing problems for people who purposefully have non-Cygwin versions of
        executables like svn in front of the Cygwin ones in their paths.

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

2009-08-17  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=28401
        Add support for DNS prefetching with CFNetwork

        This is just an optimization, no behavior change, so no tests.

        * platform/network/cf/DNSCFNet.cpp:
        (WebCore::clientCallback):
        (WebCore::prefetchDNS):
        Use async CFHostStartInfoResolution() for implementation.

2009-08-17  Aaron Boodman  <aa@chromium.org>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=28313: Combine ThreadableLoaderOptions::crossOriginRequestPolicy and
        ThreadableLoaderOptions::crossOriginRedirectPolicy since they are always set the same way.

        Also, tightened up behavior of XMLHttpRequest with cross-origin redirects and access control. We have not implemented
        redirects access control, so we should never redirect across origins. But in two edge cases, we were:

        * Asynchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control
          authorization headers) to a resource on origin A.
        * Synchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control
          authorization headers) to another resource on origin B (this time sending access control authorization headers).

        Test: http/tests/xmlhttprequest/access-control-and-redirects.html

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::willSendRequest): Refactor redirect checking code into shared location.
        (WebCore::DocumentThreadableLoader::loadRequest): Ditto.
        (WebCore::DocumentThreadableLoader::isAllowedRedirect): Ditto.
        * loader/DocumentThreadableLoader.h:
        * loader/ThreadableLoader.h:
        (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Remove ThreadableLoaderOptions::crossOriginRedirectPolicy.
        * page/EventSource.cpp:
        (WebCore::EventSource::connect): Ditto.
        * workers/Worker.cpp: Ditto.
        (WebCore::Worker::Worker): Ditto.
        * workers/WorkerContext.cpp: Ditto.
        (WebCore::WorkerContext::importScripts): Ditto.
        * workers/WorkerScriptLoader.cpp:
        (WebCore::WorkerScriptLoader::loadSynchronously): Ditto.
        (WebCore::WorkerScriptLoader::loadAsynchronously): Ditto.
        * workers/WorkerScriptLoader.h: 
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::createRequest): Ditto.

2009-08-17  Adam Langley  <agl@google.com>

        Reviewed by Dan Bernstein (relanding of r47157).

        Fix a typo in platform/graphics/skia/PlatformContextSkia.cpp

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

        This was originally fixed in r47157, however it triggered a bug in
        Skia which caused Chromium Linux to fail layout tests in debug mode.
        It was reverted in r47189 while we sorted it out.

        The Skia bug was fixed in Skia's r321 [1] and rolled into Chromium in
        Chromium's r23523. This is a reland of the original patch.

        No new tests because it's a just typo fix.

        [1] http://code.google.com/p/skia/source/detail?r=321

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::setupPaintCommon):

2009-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        Protect ResourceHandle for g_file_query_info_async call, using the
        same technique we already use for HTTP requests that take the soup
        path.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
        (WebCore::ResourceHandle::~ResourceHandle):
        (WebCore::finishedCallback):
        (WebCore::):

2009-08-17  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        REGRESSION (r47255): MediaWiki's (including Wikipedia) navigation pane
        appears below the main content
        https://bugs.webkit.org/show_bug.cgi?id=28350

        A particular version of the MediaWiki software detects WebKit through
        user agent sniffing and imports a style sheet called KHTMLFixes.css,
        which contains a single rule that was meant to work around some KHTML
        bug, but currently has the sole effect of causing the float containing
        the main article content to extend all the way to the left and thus push
        down the left navigation pane.

        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::setCSSStyleSheet): If site specific hacks are
        enabled, check if the imported style sheet is the MediaWiki
        KHTMLFixes.css. If so, remove the offending rule.

2009-08-17  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Kevin Ollivier.

        Correct crash when processing local cancelled requests.

        No new tests. Existing fast/images/favicon-as-image.html
        displays the problem.

        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::writeCallback): Add check for m_cancelled after
          performing local-file processing.
        (WebCore::ResourceHandleManager::downloadTimerCallback): Add
          check for m_cancelled after performing local-file processing.

2009-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Unreviewed. Reverts 47371, since it breaks GTK+.

        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::setData):
        * platform/image-decoders/ImageDecoder.cpp: Removed.
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageDecoder::ImageDecoder):
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::convertCMYKToRGBA):
        (WebCore::convertRGBToRGBA):
        (WebCore::JPEGImageDecoder::outputScanlines):
        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::headerAvailable):
        (WebCore::PNGImageDecoder::rowAvailable):

2009-08-17  Yong Li  <yong.li@torchmobile.com>

        Reviewed by Adam Treat.

        Allow image decoders to down-sample the image directly
        to scaled output buffer. This can be enabled/disabled by
        macro ENABLE(IMAGE_DECODER_DOWN_SAMPLING).
        Only JPEG and PNG decoders are modified to support it now.
        https://bugs.webkit.org/show_bug.cgi?id=28308

        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::setData):
        * platform/image-decoders/ImageDecoder.cpp: Added.
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageDecoder::ImageDecoder):
        (WebCore::ImageDecoder::setMaxNumPixels):
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::convertCMYKToRGBA):
        (WebCore::convertRGBToRGBA):
        (WebCore::JPEGImageDecoder::outputScanlines):
        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
        (WebCore::JPEGImageDecoder::setSize):
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::headerAvailable):
        (WebCore::PNGImageDecoder::rowAvailable):

2009-08-17  Simon Fraser  <simon.fraser@apple.com>

        Build fix: fix float literals to avoid casting warnings.

        * rendering/MediaControlElements.cpp:

2009-08-17  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Eric Seidel.

        Use OwnPtrs for GraphicsLayers
        https://bugs.webkit.org/show_bug.cgi?id=28399

        Convert RenderLayerBacking and RenderLayerCompositor to use OwnPtrs
        for their references to GraphicsLayers.

        * platform/graphics/GraphicsLayer.h:
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayer::create):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::RenderLayerBacking):
        (WebCore::RenderLayerBacking::createGraphicsLayer):
        (WebCore::RenderLayerBacking::destroyGraphicsLayer):
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        (WebCore::RenderLayerBacking::updateInternalHierarchy):
        (WebCore::RenderLayerBacking::updateClippingLayers):
        (WebCore::RenderLayerBacking::updateForegroundLayer):
        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
        * rendering/RenderLayerBacking.h:
        (WebCore::RenderLayerBacking::graphicsLayer):
        (WebCore::RenderLayerBacking::clippingLayer):
        (WebCore::RenderLayerBacking::ancestorClippingLayer):
        (WebCore::RenderLayerBacking::foregroundLayer):
        (WebCore::RenderLayerBacking::parentForSublayers):
        (WebCore::RenderLayerBacking::childForSuperlayers):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::~RenderLayerCompositor):
        (WebCore::RenderLayerCompositor::rootPlatformLayer):
        (WebCore::RenderLayerCompositor::didMoveOnscreen):
        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
        (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
        * rendering/RenderLayerCompositor.h:

2009-08-17  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Reset InjectedScript styles cache on document change.

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

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::close):
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::resetInjectedScript):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setDocument):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/InjectedScript.js:
        (InjectedScript._reset):

2009-08-17  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        * rendering/MediaControlElements.cpp: Removed unneeded include of CString.h,
        resorted includes, renamed "doc" to "document" and fixed formatting.

2009-08-17  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Removed functions now unneeded due to use of Reflect to create
        language bindings.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
        Get at usemap attribute directly.

        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::createDeletionUI):
        Get at id attribute directly.
        * editing/EditorCommand.cpp:
        (WebCore::executeInsertHorizontalRule): Ditto.

        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::dir): Get at dir attribute of body directly.
        (WebCore::HTMLDocument::setDir): Ditto.

        * html/HTMLElement.cpp: Deleted unused functions.
        * html/HTMLElement.h: Ditto.

        * html/HTMLImageElement.cpp: Deleted unused functions.
        (WebCore::HTMLImageElement::alt): Changed to return const AtomicString&.
        (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Changed to
        get at usemap attribute directly, but added a FIXME because although
        it is what the old code did, it looks to not be entirely correct.

        * html/HTMLImageElement.h: Deleted unused functions.

        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::altDisplayString): Get at alt attribute directly.

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageMap): Get at usemap attribute directly.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::createGraphicsLayer): Get at id attribute
        directly.
        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Removed
        explicit HTMLNames namespace qualification.

2009-08-17  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        * dom/Document.cpp:
        (WebCore::Document::setFocusedNode): Removed unneeded calls
        to RefPtr::get.

2009-08-17  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Discard DOM Node bindings on any document change.

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

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setDocument):

2009-08-13  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Timothy Hatcher.

        Inspector: Improve Cookie DataGrid to Show Hidden Data
        https://bugs.webkit.org/show_bug.cgi?id=28269

        * English.lproj/localizedStrings.js: DataGrid Headers "Name", "Value", "Size", ...
        * WebCore.gypi: added missing files

          Implemented Bindings for InspectorController.deleteCookie(name)

        * inspector/InspectorBackend.idl:
        * bindings/js/JSInspectorBackendCustom.cpp:
        (WebCore::JSInspectorBackend::cookies):
        (WebCore::JSInspectorBackend::deleteCookie):

          v8 Bindings Stubs

        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8InspectorBackendCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):

          Removed WebInspector.Cookie

        * inspector/front-end/Cookie.js: Removed.
        * inspector/front-end/inspector.html:
        * inspector/front-end/WebKit.qrc:

          Improved DataGrid and Kept Fallback Behavior for Platforms that don't
          yet provide access to raw cookies.

        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView):
        (WebInspector.CookieItemsView.prototype.get statusBarItems):
        (WebInspector.CookieItemsView.prototype.update):
        (WebInspector.CookieItemsView.prototype.buildCookies):
        (WebInspector.CookieItemsView.prototype.dataGridForCookies):
        (WebInspector.CookieItemsView.prototype.fallbackUpdate.callback):
        (WebInspector.CookieItemsView.prototype.fallbackUpdate):
        (WebInspector.CookieItemsView.prototype.fallbackBuildCookiesFromString):
        (WebInspector.CookieItemsView.prototype.fallbackDataGridForCookies):
        (WebInspector.CookieItemsView.prototype._deleteButtonClicked):

          Interaction with the page through Injected Script (for fallback behavior)

        * inspector/front-end/DOMAgent.js:
        (InspectorController.getCookies):
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.setStyleProperty): style fix
        (InjectedScript.getCookies):

          Allow alignment of text inside DataGrids.

        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid):
        (WebInspector.DataGridNode.prototype.createCell):
        * inspector/front-end/DatabasesPanel.js:
        (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
        * inspector/front-end/inspector.css:

          Added deleteCookie(., ., String name)
          Modified getRawCookies to return a bool to know if its implemented

        * platform/CookieJar.h:


          Implemented deleteCookie for Macs

        * platform/mac/CookieJar.mm:
        (WebCore::getRawCookies):
        (WebCore::deleteCookie):

          Stub Implementations for Other Platforms

        * platform/haiku/CookieJarHaiku.cpp:
        (WebCore::getRawCookies):
        (WebCore::deleteCookie):
        * platform/network/chromium/CookieJarChromium.cpp:
        (WebCore::getRawCookies):
        (WebCore::deleteCookie):
        * platform/network/curl/CookieJarCurl.cpp:
        (WebCore::getRawCookies):
        (WebCore::deleteCookie):
        * platform/network/soup/CookieJarSoup.cpp:
        (WebCore::getRawCookies):
        (WebCore::deleteCookie):
        * platform/network/win/CookieJarCFNetWin.cpp:
        (WebCore::getRawCookies):
        (WebCore::deleteCookie):
        * platform/network/win/CookieJarWin.cpp:
        (WebCore::getRawCookies):
        (WebCore::deleteCookie):
        * platform/qt/CookieJarQt.cpp:
        (WebCore::getRawCookies):
        (WebCore::deleteCookie):

2009-08-17  Adam Treat  <adam.treat@torchmobile.com>

        Blind build fix for Leopard.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::adjustLineToPixelBoundaries):

2009-08-13  Mike Fenton  <mike.fenton@torchmobile.com>

        Reviewed by Adam Treat.

        Style fixes based on cpp_style.py and WebKit Style guide for
        GraphicsContextCG.cpp

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

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::applyStrokePattern):
        (WebCore::GraphicsContext::drawPath):
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::clipOutEllipseInRect):
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        (WebCore::GraphicsContext::clipToImageBuffer):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::setLineCap):
        (WebCore::GraphicsContext::setLineJoin):
        (WebCore::GraphicsContext::roundToDevicePixels):
        (WebCore::GraphicsContext::drawLineForText):
        (WebCore::GraphicsContext::setURLForRect):
        (WebCore::GraphicsContext::setImageInterpolationQuality):
        (WebCore::GraphicsContext::imageInterpolationQuality):
        (WebCore::GraphicsContext::setPlatformTextDrawingMode):
        (WebCore::GraphicsContext::setCompositeOperation):

2009-08-13  Mike Fenton  <mike.fenton@torchmobile.com>

        Reviewed by Adam Treat.

        Style fixes based on cpp_style.py and WebKit Style guide for
        GraphicsContext.cpp/h, GraphicsContextCairo.cpp and GraphicsContextQt.cpp.

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

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::save):
        (WebCore::GraphicsContext::restore):
        (GraphicsContext::drawText):
        (GraphicsContext::initFocusRing):
        (GraphicsContext::focusRingBoundingRect):
        (GraphicsContext::drawImage):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::setLineCap):
        (WebCore::GraphicsContext::setLineJoin):
        (WebCore::toCairoOperator):
        * platform/graphics/qt/GraphicsContextQt.cpp:

2009-08-17  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Change HTMLAreaElement to use OwnArrayPtr
        https://bugs.webkit.org/show_bug.cgi?id=28386

        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::HTMLAreaElement): Removed unneeded initializer.
        (WebCore::HTMLAreaElement::~HTMLAreaElement): Removed unneeded delete call.
        (WebCore::HTMLAreaElement::parseMappedAttribute): Use the set function
        instead of deletion followed by assignment.
        * html/HTMLAreaElement.h: Use OwnArrayPtr.

2009-08-17  Darin Adler  <darin@apple.com>

        Fix Windows build.

        * dom/make_names.pl: Add back cast to (void*) needed on Windows.

2009-08-17  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Move noResize from HTMLFrameElementBase to HTMLFrameElement
        https://bugs.webkit.org/show_bug.cgi?id=28384

        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::HTMLFrameElement): Initialize m_noResize.
        (WebCore::HTMLFrameElement::parseMappedAttribute): Set m_noResize to true
        here if noresizeAttr is changed. This code was moved here from
        HTMLFrameElementBase, but I added some FIXME comments.
        (WebCore::HTMLFrameElement::setNoResize): Set the attribute based on
        boolean argument. Moved here from HTMLFrameElementBase.

        * html/HTMLFrameElement.h: Moved noResize, setNoResize, and m_noResize
        here from HTMLFrameElementBase.

        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Removed m_noResize.
        (WebCore::HTMLFrameElementBase::parseMappedAttribute): Removed code to parse
        noresizeAttr.

        * html/HTMLFrameElementBase.h: Removed noResize, setNoResize, and m_noResize.

2009-08-17  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Tweak HTMLFrameElementBase so that m_URL can be private
        https://bugs.webkit.org/show_bug.cgi?id=28385

        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::rendererIsNeeded): Removed m_URL argument.
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::isURLAllowed): Use m_URL instead of
        taking an argument.
        (WebCore::HTMLFrameElementBase::openURL): Removed m_URL argument.
        * html/HTMLFrameElementBase.h: Removed argument from isURLAllowed function.
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::rendererIsNeeded): Removed m_URL argument.

2009-08-17  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        HTMLViewSourceDocument should use smart pointers
        https://bugs.webkit.org/show_bug.cgi?id=28378

        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): Don't initialize
        pointers any more since RefPtr starts 0 by default.
        (WebCore::HTMLViewSourceDocument::createContainingTable): Use more specific
        types for local variables.
        (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Return a PassRefPtr,
        and use a RefPtr of a more specific type for a local variable.
        (WebCore::HTMLViewSourceDocument::addLine): Use more specific types for local
        variables, and use RefPtr as well.
        (WebCore::HTMLViewSourceDocument::addLink): Return a PassRefPtr, and use a
        RefPtr of a more specific type for a local variable.

        * html/HTMLViewSourceDocument.h: Change return types to PassRefPtr and
        data member types to RefPtr.

2009-08-17  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        DOM attribute getter/setter functions should use const AtomicString& type
        https://bugs.webkit.org/show_bug.cgi?id=25425

        Convert 4 more classes. These are classes I am going to make other changes
        to soon, so it's good to have this use of Reflect in the IDL out of the way.

        * html/HTMLEmbedElement.idl: Use Reflect for many attributes.
        * html/HTMLFrameElement.idl: Ditto.
        * html/HTMLIFrameElement.idl: Ditto.
        * html/HTMLObjectElement.idl: Ditto.

2009-08-17  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Script to create element factory needs changes to accommodate calling create
        https://bugs.webkit.org/show_bug.cgi?id=28379

        * dom/make_names.pl: Tweak formatting. Remove lots of unneeded quotes
        around names used inside {}. Added new createWithNew property for tags
        that makes the factory use a create function instead of calling new.
        Renamed functions with initialize in their name to have default in their
        name, since they return an array full of default values and don't themselves
        initialize anything.

2009-08-16  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        StyledElement should use ASCIICType instead of having its own toHex function
        https://bugs.webkit.org/show_bug.cgi?id=28377

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::addCSSColor): Use isASCIIHexDigit and toASCIIHexValue.

2009-08-16  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        execCommand("InsertHorizontalRule") inserts a broken <hr> element
        https://bugs.webkit.org/show_bug.cgi?id=28375

        * editing/EditorCommand.cpp:
        (WebCore::executeInsertHorizontalRule): Create an HTMLHRElement
        instead of just an HTMLElement.

2009-08-16  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        [WML] <option> element & 'onpick' events - history navigation is broken
        https://bugs.webkit.org/show_bug.cgi?id=28371

        After selecting an option element with an 'onpick' event associated with a 'go' task,
        the navigation is executed. When going back in history, the same 'onpick' event is fired
        again. Fix that problem, add wml/option-element-onpick-recursion.html covering the bug.

        Test: wml/option-element-onpick-recursion.html

        * wml/WMLOptionElement.cpp:
        (WebCore::WMLOptionElement::handleIntrinsicEventIfNeeded):
        * wml/WMLSelectElement.cpp:
        (WebCore::WMLSelectElement::WMLSelectElement):
        (WebCore::WMLSelectElement::selectInitialOptions):
        * wml/WMLSelectElement.h:
        (WebCore::WMLSelectElement::initialized):

2009-08-16  Anthony Ricaud  <rik@webkit.org>

        Reviewed by Timothy Hatcher.

        Inspector Resource filtering: keyboard Navigation always uses ALL resources
        https://bugs.webkit.org/show_bug.cgi?id=28231
        
        Determine if a resource is selectable on user action.
        
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourceSidebarTreeElement.prototype.get selectable):

2009-08-16  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/28355> Replace MAX()/MIN() macros with type-safe std::max()/min() templates

        Reviewed by Dan Bernstein.

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (AXAttributeStringSetSpelling): Changed MIN() to min().
        * platform/graphics/mac/FontMacATSUI.mm:
        (WebCore::Font::selectionRectForComplexText): Changed MAX() to
        max() and MIN() to min().
        (WebCore::Font::floatWidthForComplexText): Ditto.
        * platform/graphics/mac/SimpleFontDataMac.mm: Added using
        std::max statement.
        (WebCore::SimpleFontData::platformInit): Changed MAX() to max().
        * platform/text/mac/TextCodecMac.cpp:
        (WebCore::TextCodecMac::decode): Changed MIN() to min().

2009-08-16  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        [WML] Cleanup WMLIntrinsicEventHandling code
        https://bugs.webkit.org/show_bug.cgi?id=28358

        Remove superflous "Event* evt" parameter from executeTask() methods. It's a leftover from the initial WML merge.

        * wml/WMLAnchorElement.cpp:
        (WebCore::WMLAnchorElement::defaultEventHandler):
        * wml/WMLDoElement.cpp:
        (WebCore::WMLDoElement::defaultEventHandler):
        * wml/WMLGoElement.cpp:
        (WebCore::WMLGoElement::executeTask):
        * wml/WMLGoElement.h:
        * wml/WMLIntrinsicEventHandler.cpp:
        (WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent):
        * wml/WMLPrevElement.cpp:
        (WebCore::WMLPrevElement::executeTask):
        * wml/WMLPrevElement.h:
        * wml/WMLRefreshElement.cpp:
        (WebCore::WMLRefreshElement::executeTask):
        * wml/WMLRefreshElement.h:
        * wml/WMLTaskElement.h:

2009-08-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: A handful of DOMAgent-related fixes and cleanups.

        - renamed elementId to nodeId in operations on nodes.
        - added load listeners to frame owners in InspectorDOMAgent.
        - removed InspectorController::inspectedWindowScriptObjectCleared event.
        - preserved isViaInspector flag for 'via inspector' marker to survive styles update.
        - removed contentDocument-related logic from ElementsPanel since it is handled in
            the InspectorDOMAgent.
        - removed DOM listeners unregistration and corresponding events from InspectorController.
        - made this.styles 'private' in ElementsPanel.
        - added TODO for the handleCopy processing.

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

        * WebCore.order:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::getChildNodes):
        (WebCore::InspectorBackend::setTextNodeValue):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::startListening):
        (WebCore::InspectorDOMAgent::stopListening):
        (WebCore::InspectorDOMAgent::handleEvent):
        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
        (WebCore::InspectorDOMAgent::getChildNodes):
        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
        (WebCore::InspectorDOMAgent::setTextNodeValue):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
        (WebCore::InspectorDOMAgent::innerParentNode):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMDocument.prototype.addEventListener):
        (WebInspector.DOMDocument.prototype.removeEventListener):
        (WebInspector.DOMDocument.prototype._fireDomEvent):
        (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
        (WebInspector.DOMAgent.prototype.getChildNodesAsync):
        (WebInspector.DOMAgent.prototype._setChildNodes):
        (WebInspector.CSSStyleDeclaration.parseRule):
        (WebInspector.childNodeInserted):
        (WebInspector.childNodeRemoved):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype.reset):
        (WebInspector.ElementsPanel.prototype.addStyleChange):
        (WebInspector.ElementsPanel.prototype.removeStyleChange):
        (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
        (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
        (WebInspector.ElementsPanel.prototype.handleCopyEvent):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
        (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
        (WebInspector.ElementsTreeElement):
        (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
        (WebInspector.ElementsTreeElement.prototype._updateChildren):
        (WebInspector.ElementsTreeElement.prototype.onexpand):
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.addStyleSelector):
        (InjectedScript._serializeRule):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection):
        * inspector/front-end/inspector.js:
        (WebInspector.set hoveredDOMNode):
        * inspector/front-end/treeoutline.js:
        (TreeOutline.prototype.findTreeElement):
        * inspector/front-end/utilities.js:
        (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray):
        (Node.prototype.enclosingNodeOrSelfWithClass):
        (isAncestorNode):
        (firstCommonNodeAncestor):
        (traverseNextNode):
        (traversePreviousNode):
        ():
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::dispatchWindowObjectAvailable):
        * page/android/InspectorControllerAndroid.cpp:

2009-08-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        Optimize updateFillImages() to not add/remove clients every time
        https://bugs.webkit.org/show_bug.cgi?id=28334

        Optimize the case where old and new just have a single layer pointing to the same (or no)
        image.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::updateFillImages):

2009-08-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Anders Carlsson.

        Implement animations of multiple text-shadows and -webkit-box-shadows.
        https://bugs.webkit.org/show_bug.cgi?id=28266
        
        Test: transitions/multiple-shadow-transitions.html

        * page/animation/AnimationBase.cpp:
        (WebCore::PropertyWrapperShadow::equals):
        (WebCore::PropertyWrapperShadow::blend):

2009-08-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Anders Carlsson.

        Make transitions work for position and size of multiple backgrounds and masks.
        https://bugs.webkit.org/show_bug.cgi?id=28266
        
        Make background-position, background-size, -webkit-mask-position and -webkit-mask-size
        properties animatable with multiple backgrounds, rather than just animating the first one.

        Tests: transitions/multiple-background-size-transitions.html
               transitions/multiple-background-transitions.html
               transitions/multiple-mask-transitions.html

        * page/animation/AnimationBase.cpp:
        (WebCore::FillLayerPropertyWrapperBase::FillLayerPropertyWrapperBase):
        (WebCore::FillLayerPropertyWrapperBase::~FillLayerPropertyWrapperBase):
        (WebCore::FillLayerPropertyWrapperGetter::FillLayerPropertyWrapperGetter):
        (WebCore::FillLayerPropertyWrapperGetter::equals):
        (WebCore::FillLayerPropertyWrapper::FillLayerPropertyWrapper):
        (WebCore::FillLayerPropertyWrapper::blend):
        (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
        (WebCore::FillLayersPropertyWrapper::equals):
        (WebCore::FillLayersPropertyWrapper::blend):
        (WebCore::ensurePropertyMap):
        * rendering/style/FillLayer.h:
        (WebCore::FillLayer::setXPosition):
        (WebCore::FillLayer::setYPosition):
        (WebCore::FillLayer::setSize):

2009-08-15  George Staikos  <george.staikos@torchmobile.com>

        Reviewed by Jan Alonzo.

        Don't crash in fieldset code when WML is enabled.
        https://bugs.webkit.org/show_bug.cgi?id=28012

        Test: fast/wml/html-fieldset-crash.html

        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::findLegend): ++brackets

2009-08-15  Sam Weinig  <sam@webkit.org>

        Try and enable EventSource on Windows.

        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.vcproj/build-generated-files.sh:

2009-08-15  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Setting attribute event listeners to the body does not set them on the window
        https://bugs.webkit.org/show_bug.cgi?id=28343

        Tests: fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html
               fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html

        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::setOnblur): Use setWindowAttributeEventListener instead of setAttributeEventListener.
        (WebCore::HTMLBodyElement::setOnerror): Ditto.
        (WebCore::HTMLBodyElement::setOnfocus): Ditto.
        (WebCore::HTMLBodyElement::setOnload): Ditto.
        (WebCore::HTMLBodyElement::setOnbeforeunload): Ditto.
        (WebCore::HTMLBodyElement::setOnmessage): Ditto.
        (WebCore::HTMLBodyElement::setOnoffline): Ditto.
        (WebCore::HTMLBodyElement::setOnonline): Ditto.
        (WebCore::HTMLBodyElement::setOnresize): Ditto.
        (WebCore::HTMLBodyElement::setOnstorage): Ditto.
        (WebCore::HTMLBodyElement::setOnunload): Ditto.
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::setOnblur): Ditto.
        (WebCore::HTMLFrameSetElement::setOnerror): Ditto.
        (WebCore::HTMLFrameSetElement::setOnfocus): Ditto.
        (WebCore::HTMLFrameSetElement::setOnload): Ditto.
        (WebCore::HTMLFrameSetElement::setOnbeforeunload): Ditto.
        (WebCore::HTMLFrameSetElement::setOnmessage): Ditto.
        (WebCore::HTMLFrameSetElement::setOnoffline): Ditto.
        (WebCore::HTMLFrameSetElement::setOnonline): Ditto.
        (WebCore::HTMLFrameSetElement::setOnresize): Ditto.
        (WebCore::HTMLFrameSetElement::setOnstorage): Ditto.
        (WebCore::HTMLFrameSetElement::setOnunload): Ditto.

2009-08-15  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Fix up some IDL comments.

        * html/HTMLBodyElement.idl:
        * html/HTMLFrameSetElement.idl:

2009-08-15  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        Reviewed by Sam Weinig.

        Added implementation of the EventSource object that enables
        server-sent events from HTML5.
        http://dev.w3.org/html5/eventsource/
        https://bugs.webkit.org/show_bug.cgi?id=14997

        Tests: fast/eventsource/eventsource-attribute-listeners.html
               fast/eventsource/eventsource-constructor.html
               http/tests/eventsource/eventsource-bad-mime-type.html
               http/tests/eventsource/eventsource-parse-event-stream.html
               http/tests/eventsource/eventsource-reconnect.html
               http/tests/eventsource/eventsource-status-code-states.html
               http/tests/eventsource/workers/eventsource-simple.html

        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::eventSource):
        * bindings/js/JSEventSourceConstructor.cpp: Added.
        (WebCore::):
        (WebCore::JSEventSourceConstructor::JSEventSourceConstructor):
        (WebCore::constructEventSource):
        (WebCore::JSEventSourceConstructor::getConstructData):
        * bindings/js/JSEventSourceConstructor.h: Added.
        (WebCore::JSEventSourceConstructor::classInfo):
        * bindings/js/JSEventSourceCustom.cpp: Added.
        (WebCore::JSEventSource::markChildren):
        (WebCore::JSEventSource::addEventListener):
        (WebCore::JSEventSource::removeEventListener):
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        (WebCore::toEventTarget):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::eventSource):
        * dom/EventNames.h:
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::toEventSource):
        * dom/EventTarget.h:
        * page/DOMWindow.idl:
        * page/EventSource.cpp: Added.
        (WebCore::EventSource::EventSource):
        (WebCore::EventSource::~EventSource):
        (WebCore::EventSource::connect):
        (WebCore::EventSource::endRequest):
        (WebCore::EventSource::scheduleReconnect):
        (WebCore::EventSource::reconnectTimerFired):
        (WebCore::EventSource::url):
        (WebCore::EventSource::readyState):
        (WebCore::EventSource::close):
        (WebCore::EventSource::scriptExecutionContext):
        (WebCore::EventSource::addEventListener):
        (WebCore::EventSource::removeEventListener):
        (WebCore::EventSource::dispatchEvent):
        (WebCore::EventSource::didReceiveResponse):
        (WebCore::EventSource::didReceiveData):
        (WebCore::EventSource::didFinishLoading):
        (WebCore::EventSource::didFail):
        (WebCore::EventSource::didFailRedirectCheck):
        (WebCore::EventSource::parseEventStream):
        (WebCore::EventSource::parseEventStreamLine):
        (WebCore::EventSource::dispatchGenericEvent):
        (WebCore::EventSource::dispatchMessageEvent):
        (WebCore::EventSource::stop):
        * page/EventSource.h: Added.
        (WebCore::EventSource::create):
        (WebCore::EventSource::):
        (WebCore::EventSource::setOnopen):
        (WebCore::EventSource::onopen):
        (WebCore::EventSource::setOnmessage):
        (WebCore::EventSource::onmessage):
        (WebCore::EventSource::setOnerror):
        (WebCore::EventSource::onerror):
        (WebCore::EventSource::toEventSource):
        (WebCore::EventSource::eventListeners):
        (WebCore::EventSource::refEventTarget):
        (WebCore::EventSource::derefEventTarget):
        * page/EventSource.idl: Added.
        * workers/WorkerContext.idl:

2009-08-15  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Minor DOMAgent bugfixes.

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

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::nodeForId):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):

2009-08-15  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Evaluating objects while on a breakpoint dumps string
        representation instead of live object. 

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

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.completions.this._evalInInspectedWindow):
        (WebInspector.ConsoleView.prototype.completions):
        (WebInspector.ConsoleView.prototype._reportCompletions):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame.delayedEvaluation):
        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
        (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame):

2009-08-15  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        [Haiku] Adding two new files to WebCore/platform/haiku:
        LocalizedStringsHaiku.cpp and LoggingHaiku.cpp
        https://bugs.webkit.org/show_bug.cgi?id=28129

        * platform/haiku/LocalizedStringsHaiku.cpp: Added.
        (WebCore::submitButtonDefaultLabel):
        (WebCore::inputElementAltText):
        (WebCore::resetButtonDefaultLabel):
        (WebCore::defaultLanguage):
        (WebCore::searchableIndexIntroduction):
        (WebCore::fileButtonChooseFileLabel):
        (WebCore::fileButtonNoFileSelectedLabel):
        (WebCore::contextMenuItemTagOpenLinkInNewWindow):
        (WebCore::contextMenuItemTagDownloadLinkToDisk):
        (WebCore::contextMenuItemTagCopyLinkToClipboard):
        (WebCore::contextMenuItemTagOpenImageInNewWindow):
        (WebCore::contextMenuItemTagDownloadImageToDisk):
        (WebCore::contextMenuItemTagCopyImageToClipboard):
        (WebCore::contextMenuItemTagOpenFrameInNewWindow):
        (WebCore::contextMenuItemTagCopy):
        (WebCore::contextMenuItemTagGoBack):
        (WebCore::contextMenuItemTagGoForward):
        (WebCore::contextMenuItemTagStop):
        (WebCore::contextMenuItemTagReload):
        (WebCore::contextMenuItemTagCut):
        (WebCore::contextMenuItemTagPaste):
        (WebCore::contextMenuItemTagNoGuessesFound):
        (WebCore::contextMenuItemTagIgnoreSpelling):
        (WebCore::contextMenuItemTagLearnSpelling):
        (WebCore::contextMenuItemTagSearchWeb):
        (WebCore::contextMenuItemTagLookUpInDictionary):
        (WebCore::contextMenuItemTagOpenLink):
        (WebCore::contextMenuItemTagIgnoreGrammar):
        (WebCore::contextMenuItemTagSpellingMenu):
        (WebCore::contextMenuItemTagShowSpellingPanel):
        (WebCore::contextMenuItemTagCheckSpelling):
        (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
        (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
        (WebCore::contextMenuItemTagFontMenu):
        (WebCore::contextMenuItemTagBold):
        (WebCore::contextMenuItemTagItalic):
        (WebCore::contextMenuItemTagUnderline):
        (WebCore::contextMenuItemTagOutline):
        (WebCore::contextMenuItemTagWritingDirectionMenu):
        (WebCore::contextMenuItemTagDefaultDirection):
        (WebCore::contextMenuItemTagLeftToRight):
        (WebCore::contextMenuItemTagRightToLeft):
        (WebCore::contextMenuItemTagInspectElement):
        (WebCore::searchMenuNoRecentSearchesText):
        (WebCore::searchMenuRecentSearchesText):
        (WebCore::searchMenuClearRecentSearchesText):
        (WebCore::unknownFileSizeText):
        (WebCore::AXWebAreaText):
        (WebCore::AXLinkText):
        (WebCore::AXListMarkerText):
        (WebCore::AXImageMapText):
        (WebCore::AXHeadingText):
        (WebCore::imageTitle):
        (WebCore::contextMenuItemTagTextDirectionMenu):
        (WebCore::AXButtonActionVerb):
        (WebCore::AXTextFieldActionVerb):
        (WebCore::AXRadioButtonActionVerb):
        (WebCore::AXCheckedCheckBoxActionVerb):
        (WebCore::AXUncheckedCheckBoxActionVerb):
        (WebCore::AXLinkActionVerb):
        (WebCore::AXDefinitionListTermText):
        (WebCore::AXDefinitionListDefinitionText):
        * platform/haiku/LoggingHaiku.cpp: Added.
        (WebCore::InitializeLoggingChannelsIfNecessary):

2009-08-15  Darin Adler  <darin@apple.com>

        Fix GTK build.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (fallbackObject): Pass 0 for document. Should be OK at least for now.

2009-08-15  Darin Adler  <darin@apple.com>

        Fix Qt build.

        * dom/XMLTokenizerQt.cpp: Use create functions instead of calling new
        directly to make CDATASection and Comment nodes.

2009-08-14  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Make DOM classes start with a reference count of 1, like all other RefCounted
        https://bugs.webkit.org/show_bug.cgi?id=28068

        First half, everything except for element classes.

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

        * dom/Attr.cpp:
        (WebCore::Attr::Attr): Added a call to createTextChild here so callers don't
        have to call it explicitly.
        (WebCore::Attr::create): Added.
        (WebCore::Attr::setValue): Changed to take AtomicString.
        (WebCore::Attr::cloneNode): Use create.

        * dom/Attr.h: Added a create function. Made the constructor private,
        and a lot of other functions private as well.

        * dom/Attribute.cpp:
        (WebCore::Attribute::createAttrIfNeeded): Use Attr::create.

        * dom/CDATASection.cpp:
        (WebCore::CDATASection::create): Added.
        (WebCore::CDATASection::cloneNode): Use create.
        (WebCore::CDATASection::virtualCreate): Ditto.

        * dom/CDATASection.h: Added a create function. Made everything private.
        Removed unneeded destructor declaration.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::CharacterData): Replaced the multiple constructors
        with a single one that takes ConstructionType.

        * dom/CharacterData.h: Made more functions be protected and private.
        Made m_data be private.

        * dom/Comment.cpp:
        (WebCore::Comment::Comment): Got rid of an extra constructor.
        (WebCore::Comment::create): Added.
        (WebCore::Comment::cloneNode): Call create.

        * dom/Comment.h: Added a create function. Made everything private.

        * dom/ContainerNode.cpp:
        (WebCore::dispatchChildInsertionEvents): Use RefPtr instead of DocPtr.
        (WebCore::dispatchChildRemovalEvents): Ditto.

        * dom/ContainerNode.h: Made the constructor protected and passed
        ConstructionType instead of an isElement boolean.

        * dom/DocPtr.h: Removed.

        * dom/Document.cpp:
        (WebCore::Document::Document): Simplified the code that sets m_document
        since it's no longer a smart pointer.
        (WebCore::Document::removedLastRef): Use explicit calls to selfOnlyRef
        and selfOnlyDeref instead of a DocPtr in here.
        (WebCore::Document::~Document): Simplified the code that sets m_document
        since it's no longer a smart pointer.
        (WebCore::Document::createDocumentFragment): Call create.
        (WebCore::Document::createTextNode): Ditto.
        (WebCore::Document::createComment): Ditto.
        (WebCore::Document::createCDATASection): Ditto.
        (WebCore::Document::createProcessingInstruction): Ditto.
        (WebCore::Document::createEntityReference): Ditto.
        (WebCore::Document::createEditingTextNode): Ditto.
        (WebCore::Document::importNode): Call Attr::create.
        (WebCore::Document::createAttributeNS): Ditto.

        * dom/Document.h: Call adoptRef. Made a lot of functions private and
        protected and sorted them so public functions come first.

        * dom/DocumentFragment.cpp:
        (WebCore::DocumentFragment::create): Added.
        (WebCore::DocumentFragment::cloneNode): Call create.
        * dom/DocumentFragment.h: Added create.

        * dom/DocumentType.cpp:
        (WebCore::DocumentType::DocumentType): Pass type to Node constructor.
        (WebCore::DocumentType::cloneNode): Use create.
        * dom/DocumentType.h:
        (WebCore::DocumentType::create): Call adoptRef.

        * dom/EditingText.cpp:
        (WebCore::EditingText::create): Added.
        * dom/EditingText.h: Added a create function. Made everything private.

        * dom/Element.cpp:
        (WebCore::Element::Element): Pass CreateElementZeroRefCount to preserve
        the zero reference count behavior for classes derived from Element.

        * dom/EntityReference.cpp:
        (WebCore::EntityReference::create): Added.
        (WebCore::EntityReference::cloneNode): Call create.
        * dom/EntityReference.h: Added create. Made everything private.

        * dom/Node.cpp:
        (WebCore::Node::initialRefCount): Added. Inline helper function for
        the constructor.
        (WebCore::Node::isContainer): Ditto.
        (WebCore::Node::isElement): Ditto.
        (WebCore::Node::isText): Ditto.
        (WebCore::Node::Node): Changed to take a construction type argument.
        Since m_document is now a normal pointer, added a call to selfOnlyRef.
        (WebCore::Node::~Node): Ditto, but selfOnlyDeref.
        (WebCore::Node::setDocument): Added selfOnlyRef/Deref calls.
        (WebCore::Node::appendTextContent): Use the data function instead of
        calling nodeValue functions, which do the same thing in a roundabout way.

        * dom/Node.h: Made the constructor protected and replaced the multiple
        arguments iwth a single ConstructionType argument. Sorted the public
        things first.

        * dom/Notation.h: Made most things private.
        * dom/Notation.cpp: Removed extra constructor.

        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::create): Added.
        (WebCore::ProcessingInstruction::cloneNode): Call create.
        * dom/ProcessingInstruction.h: Added create function. Made many other
        members private.

        * dom/Range.cpp:
        (WebCore::Range::processContents): Use DocumentFragment::create.

        * dom/Text.cpp:
        (WebCore::Text::Text): Updated for base class change.
        (WebCore::Text::create): Added.
        (WebCore::Text::splitText): Changed to not require access to m_data.
        (WebCore::Text::cloneNode): Call create.
        (WebCore::Text::createRenderer): Call dataImpl.
        (WebCore::Text::attach): Call data.
        (WebCore::Text::recalcStyle): Call dataImpl.
        (WebCore::Text::virtualCreate): Call create.
        (WebCore::Text::createWithLengthLimit): Call create.
        (WebCore::Text::formatForDebugger): Call data.

        * dom/Text.h: Added a create function. Made many other members private.
        Renamed createNew to virtualCreate.

        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::enterText): Call Text::create.

        * dom/XMLTokenizerLibxml2.cpp:
        (WebCore::XMLTokenizer::cdataBlock): Call CDATASection::create.
        (WebCore::XMLTokenizer::comment): Call Comment::create.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::deleteInsignificantText):
        Call data instead of string.

        * editing/CreateLinkCommand.cpp:
        (WebCore::CreateLinkCommand::doApply): Call Text::create.

        * editing/EditorCommand.cpp:
        (WebCore::executeInsertNode): Call DocumentFragment::create.

        * editing/SplitTextNodeCommand.cpp:
        (WebCore::SplitTextNodeCommand::doApply): Call Text::create.

        * editing/markup.cpp:
        (WebCore::appendStartMarkup): Call data instead of nodeValue.

        * html/HTMLDocument.h:
        (WebCore::HTMLDocument::create): Call adoptRef.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::createContextualFragment): Call DocumentFragment::create.
        (WebCore::replaceChildrenWithFragment): Call data instead of string.
        (WebCore::replaceChildrenWithText): Call Text::create.
        (WebCore::HTMLElement::setInnerText): Call DocumentFragment::create and
        Text::create.
        (WebCore::HTMLElement::setOuterText): Call Text::create.

        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::HTMLKeygenElement): Call Text::create.

        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::setText): Call Text::create.

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::textCreateErrorCheck): Call Text::create.
        (WebCore::HTMLParser::commentCreateErrorCheck): Call Comment::create.
        (WebCore::HTMLParser::handleIsindex): Call Text::create.

        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::addText): Call Text::create.

        * html/HTMLViewSourceDocument.h:
        (WebCore::HTMLViewSourceDocument::create): Call adoptRef.

        * loader/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryTokenizer::appendEntry): Call Text::create.
        (WebCore::FTPDirectoryTokenizer::createTDForFilename): Call Text::create.

        * loader/FTPDirectoryDocument.h:
        (WebCore::FTPDirectoryDocument::create): Call adoptRef.
        * loader/ImageDocument.h:
        (WebCore::ImageDocument::create): Ditto.
        * loader/MediaDocument.h:
        (WebCore::MediaDocument::create): Ditto.
        * loader/PlaceholderDocument.h:
        (WebCore::PlaceholderDocument::create): Ditto.
        * loader/PluginDocument.h:
        (WebCore::PluginDocument::create): Ditto.
        * loader/TextDocument.h:
        (WebCore::TextDocument::create): Ditto.

        * loader/loader.cpp:
        (WebCore::Loader::Host::didFinishLoading): Use RefPtr instead of DocPtr.
        (WebCore::Loader::Host::didFail): Ditto.

        * platform/TreeShared.h:
        (WebCore::TreeShared::TreeShared): Added an initialRefCount argument,
        defaulting to 1. Node still sometimes initializes it to 0 instead for now.

        * rendering/RenderText.cpp:
        (WebCore::RenderText::originalText): Use dataImpl instead of string.

        * rendering/RenderTextFragment.cpp:
        (WebCore::RenderTextFragment::originalText): Use dataImpl instead of string.
        (WebCore::RenderTextFragment::previousCharacter): Ditto.

        * svg/SVGDocument.h:
        (WebCore::SVGDocument::create): Use adoptRef.

        * svg/SVGElementInstance.cpp:
        (WebCore::SVGElementInstance::SVGElementInstance): Updated to take a
        PassRefPtr.

        * svg/SVGElementInstance.h: Made everything private.

        * wml/WMLDocument.h:
        (WebCore::WMLDocument::create): Called adoptRef.

        * xml/XPathNamespace.cpp:
        (WebCore::XPathNamespace::XPathNamespace): Take AtomicString arguments.
        * xml/XPathNamespace.h: Made everything private.

        * xml/XSLTProcessor.cpp:
        (WebCore::createFragmentFromSource): Use DocumentFragment::create and
        Text::create.

2009-08-13  Jon Honeycutt  <jhoneycutt@apple.com>

        Part of <rdar://problem/6218721> No MSAA focus events fired for Webkit
        nightly (20866)

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

        Reviewed by Oliver Hunt.

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::AXObjectCache):
        Changed to take a pointer to its owner document. This is used by
        AXObjectCache::handleFocusedUIElementChanged().
        (WebCore::AXObjectCache::focusedUIElementForPage):
        Code moved from AccessibilityRenderObject::focusedUIElement(). Modified
        to be a static function and to take a pointer to a Page.
        (WebCore::AXObjectCache::platformGenerateAXID):
        Moved the code to generate the next AXID from getAXID() to here. Added
        a #if to make this non-WIN only, because Windows has its own
        implementation.
        (WebCore::AXObjectCache::getAXID):
        Ensure that we generate a positive AXID, ranging from 1 to LONG_MAX.

        * accessibility/AXObjectCache.h:
        Add a declaration for Document and Page. Removed the declaration of
        AccessibilityObject, because we include the header. Reordered the
        declaration of Node alphabetically. Moved the typedef for AXID to
        AccessibilityObject. Removed some trailing whitespace. Added a member
        variable to hold a pointer to the owner Document.
        (WebCore::AXObjectCache::AXObjectCache):
        Changed to take a pointer to its owner Document.
        (WebCore::AXObjectCache::focusedUIElementForPage):
        Added; code moved from AccessiblityRenderObject::focusedUIElement().
        Returns the focused element with respect to accessibility.
        (WebCore::AXObjectCache::platformGenerateAXID):
        Declare a function to generate an AXID.
        (WebCore::AXObjectCache::objectFromAXID):
        Return the AccessibilityObject with the given AXID.

        * accessibility/AccessibilityObject.h:
        Moved the typedef for AXID from AXObjectCache to here. Made the m_id
        member use the typedef.
        (WebCore::AccessibilityObject::axObjectID):
        Changed the return type to use the typedef.
        (WebCore::AccessibilityObject::setAXObjectID):
        Changed the argument type to use the typedef.

        * accessibility/AccessibilityRenderObject.cpp:
        Removed some unneeded #includes.
        (WebCore::AccessibilityRenderObject::focusedUIElement):
        Moved the code to AXObjectCache::focusedUIElementForPage(), which we now
        call.

        * accessibility/win/AXObjectCacheWin.cpp:
        (WebCore::AXObjectCache::platformGenerateAXID):
        Ensure that we generate an AXID that is in the range 1 to LONG_MAX.
        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
        If the Document has no Page, return. If the Page has not focused
        element (respecting accessibility), return. Assert that the
        accessibility of the focused element is not ignored, and that the
        object's AXID will be negative and fit into a LONG when negated.
        Broadcast a focus event for the object.

        * dom/Document.cpp:
        (WebCore::Document::axObjectCache):
        Pass this when creating the AXObjectCache.
        (WebCore::Document::setFocusedNode):
        Call AXObjectCache::handleFocusedUIElementChanged() on Windows.

2009-08-14  Jiahua Huang  <jhuangjiahua@gmail.com>

        Reviewed by Jan Alonzo.

        [gtk] Pasteboard/GtkClipboard can't handle the "text/html" target.
        https://bugs.webkit.org/show_bug.cgi?id=27028

        Remove the improper set of enum WebKitWebViewTargetInfo
        by grabbing the target infos via m_helper.

        * manual-tests/gtk/copy-htmltext.html: Added.
        * platform/Pasteboard.h:
        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::clipboard_get_contents_cb):
        * platform/gtk/PasteboardHelper.h:

2009-08-14  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        Fix an assertion when bringing up the Inspector.
        https://bugs.webkit.org/show_bug.cgi?id=28318
        
        The fix for bug 28295 assumed that image clients count the number of times
        addClient/removeClient is called. That was true for CachedResource clients,
        but not StyleGeneratedImage clients, which pass the call onto CSSImageGeneratorValue.
        
        Fix by making CSSImageGeneratorValue count the number of times a client is
        added/removed.

        * css/CSSCanvasValue.cpp:
        (WebCore::CSSCanvasValue::canvasChanged):
        (WebCore::CSSCanvasValue::canvasResized):
        * css/CSSImageGeneratorValue.cpp:
        (WebCore::CSSImageGeneratorValue::addClient):
        (WebCore::CSSImageGeneratorValue::removeClient):
        (WebCore::CSSImageGeneratorValue::getImage):
        * css/CSSImageGeneratorValue.h:

2009-08-14  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Kevin Ollivier.

        Correct libcurl crash when downloading local files.
        https://bugs.webkit.org/show_bug.cgi?id=28312

        No new tests. Test is covered by fast/encoding/char-encoding-mac.html.

        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::handleLocalReceiveResponse): New static function that
          performs the local setting of valid URL and firing didReceiveResponse.
          This code was moved from writeCallback.
        (WebCore::writeCallback): Move local file handling to static function
          (above) and use the function instead.
        (WebCore::readCallback): Add check
          for responseFired, and handle as a local file if it was not.

2009-08-14  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Oliver Hunt.

        [Haiku] Fix RenderThemeHaiku build.
        https://bugs.webkit.org/show_bug.cgi?id=28307

        * platform/haiku/RenderThemeHaiku.cpp: Included RenderThemeHaiku.h
        instead of RenderTheme.h.
        (WebCore::RenderThemeHaiku::paintCheckbox): Removed the wrong 'virtual'
        before the function.
        (WebCore::RenderThemeHaiku::paintRadio): Removed the wrong 'virtual'
        before the function.
        * platform/haiku/RenderThemeHaiku.h: Corrected wrong function definitions.

2009-08-14  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Oliver Hunt.

        [Haiku] Adding SharedBufferHaiku to WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=28309

        * platform/haiku/SharedBufferHaiku.cpp: Added.
        (WebCore::SharedBuffer::createWithContentsOfFile):
        * platform/haiku/TemporaryLinkStubs.cpp: Removed unnecessary headers
        and functions.
        (WebCore::signedPublicKeyAndChallengeString):
        (WebCore::getSupportedKeySizes):

2009-08-14  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Ensure we're getting the right v8 context in the V8 DOMWindowEvent custom getter.

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

        This should fix Chromium failing LayoutTests/fast/events/set-event-in-another-frame.html.

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::ACCESSOR_GETTER):

2009-08-14  Aaron Boodman  <aa@chromium.org>

        Reviewed by Alexey Proskuryakov.

        BUG 28134: Move the remaining parts of Access Control from XMLHttpRequest to ThreadableDocumentLoader.
        https://bugs.webkit.org/show_bug.cgi?id=28134

        No new tests added since Access Control was already well tested and this is a pure refactor.

        * loader/DocumentThreadableLoader.cpp: Move a lot of the access control code from XHR in, preserving its
        basic strategy. Also, modify the synchronous path to not be a special case, but reuse more of the async
        path.

        (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Go through the async path and pass additional flags.
        (WebCore::DocumentThreadableLoader::create): Group enum params into an options struct.
        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto.
        (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Brought mostly from XHR.
        (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight): Ditto.
        (WebCore::DocumentThreadableLoader::willSendRequest): Handle preflight case.
        (WebCore::DocumentThreadableLoader::didReceiveResponse): Ditto.
        (WebCore::DocumentThreadableLoader::didFinishLoading): Ditto.
        (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): Ditto.
        (WebCore::DocumentThreadableLoader::preflightSuccess): Preflight handling.
        (WebCore::DocumentThreadableLoader::preflightFailure): Ditto.
        (WebCore::DocumentThreadableLoader::loadRequest): Common request function that handles async/sync.
        * loader/DocumentThreadableLoader.h: Group enum params into an options struct.
        * loader/ThreadableLoader.cpp: Ditto.
        (WebCore::ThreadableLoader::create): Ditto.
        (WebCore::ThreadableLoader::loadResourceSynchronously): Ditto.
        * loader/ThreadableLoader.h: Ditto.
        (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Ditto.
        * loader/WorkerThreadableLoader.cpp: Ditto.
        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):Ditto.
        (WebCore::WorkerThreadableLoader::loadResourceSynchronously): Ditto.
        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Ditto.
        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): Ditto.
        * loader/WorkerThreadableLoader.h: Ditto.
        (WebCore::WorkerThreadableLoader::create): Ditto.
        * platform/CrossThreadCopier.h: Allow ThreadableLoaderOptions to be copied across threads.
        (WebCore::):
        * workers/WorkerScriptLoader.cpp: More enum->struct grouping.
        (WebCore::WorkerScriptLoader::loadSynchronously): More enum->struct grouping.
        (WebCore::WorkerScriptLoader::loadAsynchronously): More enum->struct grouping.
        * xml/XMLHttpRequest.cpp: Remove all the access control code and some supporting state.
        (WebCore::XMLHttpRequest::XMLHttpRequest): Ditto.
        (WebCore::XMLHttpRequest::createRequest): Ditto.
        (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
        (WebCore::XMLHttpRequest::didReceiveResponse): Ditto.
        (WebCore::XMLHttpRequest::didReceiveData): Ditto.
        * xml/XMLHttpRequest.h: Ditto.

2009-08-14  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Rename the confusing isObject(<class>) to inherits(<class>).
        It still works on non-objects, returning false.

        * bindings/js/JSEventTarget.cpp:
        (WebCore::toEventTarget):
        * bindings/js/JSGeolocationCustom.cpp:
        (WebCore::createPositionCallback):
        (WebCore::createPositionErrorCallback):
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::toNodeFilter):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::send):
        * bindings/js/JSXSLTProcessorCustom.cpp:
        (WebCore::JSXSLTProcessor::importStylesheet):
        (WebCore::JSXSLTProcessor::transformToFragment):
        (WebCore::JSXSLTProcessor::transformToDocument):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::callObjCFallbackObject):
        * bridge/runtime_method.cpp:
        (JSC::callRuntimeMethod):
        Updated to new name, inherits, from old name, isObject.

2009-08-14  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Simon Hausmann.

        Allow Qt API to list and to remove URL schemes that were registered as
        local URL schemes.
        [Qt] Allow applications to register their own local URL scheme.
        https://bugs.webkit.org/show_bug.cgi?id=28240

        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::removeURLSchemeRegisteredAsLocal):
        (WebCore::SecurityOrigin::localURLSchemes):
        * page/SecurityOrigin.h:

2009-08-14  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Wrap console objects late (in the frontend) so that injected
        script was already in place.

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

        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        * inspector/ConsoleMessage.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addMessageToConsole):
        (WebCore::InspectorController::startGroup):
        (WebCore::InspectorController::setFrontendProxyObject):
        * inspector/InspectorController.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::InspectorFrontend):
        (WebCore::InspectorFrontend::addMessageToConsole):
        * inspector/InspectorFrontend.h:

2009-08-13  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Fix logic in RenderObject::updateFillImages() that led to incorrect client
        counts if an image was used twice in the background-image property.
        https://bugs.webkit.org/show_bug.cgi?id=28295

        Test: fast/backgrounds/multiple-backgrounds-assert.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::updateFillImages):
        Simplify the logic to call addClient()/removeClient() for every background
        image, but go through the new layers first to avoid removing all the
        clients of an image.

2009-08-13  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        Devirtualise marking
        https://bugs.webkit.org/show_bug.cgi?id=28294

        Make sure we override the JSObject createStructure method on those
        objects that have custom marking routines.

        * bindings/scripts/CodeGeneratorJS.pm:

2009-08-13  Darin Adler  <darin@apple.com>

        Reviewed by Mark Rowe.

        Follow-up to earlier work to remove dependencies on JavaScriptCore.

        * ForwardingHeaders/parser/Parser.h: Removed.
        * inspector/JavaScriptDebugServer.cpp: Removed now-unneeded includes
        of Parser.h.

2009-08-13  Dan Bernstein  <mitz@apple.com>

        Reviewed by Eric Seidel.

        'box-orient: block-axis' behaves like 'box-orient: horizontal', causes
        an assertion failure in debug builds
        https://bugs.webkit.org/show_bug.cgi?id=28279

        Test: fast/flexbox/block-axis.html

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::operator EBoxOrient): Map block-axis to
        vertical.

2009-08-13  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Fix crash when removing reflection on an absolutely-positioned image.
        https://bugs.webkit.org/show_bug.cgi?id=28289
        
        Make sure we clean up the reflection layer when removing the reflection,
        so that the RenderLayer tree does not contain pointers to deleted layers.

        Test: fast/reflections/reflected-img-crash.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::~RenderLayer):
        (WebCore::RenderLayer::styleChanged):
        (WebCore::RenderLayer::removeReflection):
        * rendering/RenderLayer.h:

2009-08-13  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        misalignment because of float:left of <div> tag
        https://bugs.webkit.org/show_bug.cgi?id=15869

        One section of http://edgar.sec.gov site draws to the right of the rest
        of the content
        <rdar://problem/7135951>

        Tests: fast/block/float/avoidance-percent-width-compat.html
               fast/block/float/avoidance-percent-width-strict.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::getClearDelta): Changed to apply the same float
            avoidance logic in strict mode and in compatibility mode, which
            matches Firefox and IE. Changed to compute and use the computed
            width of the child, instead of ignoring non-fixed widths.

2009-08-13  Steve Block  <steveblock@google.com>

        Reviewed by Darin Adler.

        Geolocation PositionOptions does not use correct default values.
        https://bugs.webkit.org/show_bug.cgi?id=27254

        Sets the correct default values for the properties of the PositionOptions object
        passed to Geolocation methods. See http://www.w3.org/TR/geolocation-API/.

        Also adds checking to throw an exception if arguments of the incorrect type are
        passed to Geolocation methods. Adds a layout test to test this. This test should
        pass on all platforms where Geolocation is implemented.

        Test: fast/dom/Geolocation/argument-types.html

        * bindings/js/JSGeolocationCustom.cpp:
        (WebCore::createPositionCallback): Added. Creates the callback.
        (WebCore::createPositionErrorCallback): Added. Creates the calback.
        (WebCore::createPositionOptions): Added. Creates the PositionOptions object, setting defaults where required.
        (WebCore::JSGeolocation::getCurrentPosition): Modified. Now uses above helper functions.
        (WebCore::JSGeolocation::watchPosition): Modified. Now uses above helper functions.
        * page/Geolocation.cpp:
        (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. Asserts that PositionOptions object is present.
        (WebCore::Geolocation::GeoNotifier::startTimer): Modified. Only starts timer if timeout has been set.
        * page/PositionOptions.h:
        (WebCore::PositionOptions::create): Modified. Creates object with default values.
        (WebCore::PositionOptions::timeout): Modified. Uses correct type.
        (WebCore::PositionOptions::hasTimeout): Added. Determines whether a timeout has been set.
        (WebCore::PositionOptions::setTimeout): Modified. Uses correct type.
        (WebCore::PositionOptions::maximumAge): Modified. Uses correct type.
        (WebCore::PositionOptions::setMaximumAge): Modified. Uses correct type.
        (WebCore::PositionOptions::PositionOptions): Modified. Creates object with default values.

2009-08-13  David Levin  <levin@chromium.org>

        Unreviewed chromium build fix.

        [Chromium] Let CodeGeneratorV8.pm know that RGBColor is ref-counted.

        * bindings/scripts/CodeGeneratorV8.pm:

2009-08-13  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        Merge error in SharedWorker code
        https://bugs.webkit.org/show_bug.cgi?id=28277

        Fixed merge error that prevents WebKit from compiling with SHARED_WORKERS enabled.
        No new tests needed.

        * workers/DefaultSharedWorkerRepository.cpp:
        Removed duplicated functions.

2009-08-13  Kyle Prete  <kylep@chromium.org>

        Reviewed by Dave Levin.

        Chromium: Show a "Playback Disabled" button on media error.
        https://bugs.webkit.org/show_bug.cgi?id=28196
        Use a disabled play button when the media file cannot be played.

        No new tests needed. Covered by LayoutTests/media/video-empty-source.html

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):

2009-08-13  Mark Rowe  <mrowe@apple.com>

        Try and fix the Qt build.

        * bridge/qt/qt_runtime.cpp:

2009-08-13  Zan Dobersek  <zandobersek@gmail.com>

        Reviewed by Gustavo Noronha.

        [GTK] Drag and drop support
        https://bugs.webkit.org/show_bug.cgi?id=23642

        Utilizes functions that are being called upon drag and drop actions.
        Uses different GTK clipboards that hold different types
        of drag data - images, HTML markup, text, URL, URL label.
        Also clears each clipboard before setting new data to it.

        No new tests - despite some implementations, no new functionality
        is added until implementations of the GTK drag and drop protocol
        in WebKit part.

        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::ClipboardGtk::ClipboardGtk):
        (WebCore::ClipboardGtk::~ClipboardGtk):
        (WebCore::getCachedImage):
        (WebCore::ClipboardGtk::declareAndWriteDragImage):
        (WebCore::ClipboardGtk::writeURL):
        (WebCore::ClipboardGtk::writeRange):
        * platform/gtk/ClipboardGtk.h: ClipboardGdk -> ClipboardGtk

2009-08-13  Darin Adler  <darin@apple.com>

        Reviewed by David Levin.

        JavaScriptCore tweaks to get ready for the parser arena
        https://bugs.webkit.org/show_bug.cgi?id=28243

        * ForwardingHeaders/runtime/CollectorHeapIterator.h: Removed.

        * WebCore.xcodeproj/project.pbxproj: Exposed a couple header
        files as Private that are now needed to compile Mac WebKit.

        * bindings/js/JSAudioConstructor.cpp:
        * bindings/js/JSDOMBinding.cpp:
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/js/JSHTMLInputElementCustom.cpp:
        * bindings/js/JSHistoryCustom.cpp:
        * bindings/js/JSImageConstructor.cpp:
        * bindings/js/JSLazyEventListener.cpp:
        * bindings/js/JSLocationCustom.cpp:
        * bindings/js/JSMessageChannelConstructor.cpp:
        * bindings/js/JSOptionConstructor.cpp:
        * bindings/js/JSWebSocketConstructor.cpp:
        * bindings/js/JSWebSocketCustom.cpp:
        * bindings/js/JSWorkerConstructor.cpp:
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        * bridge/jni/jni_jsobject.mm:
        Updated includes.

        * inspector/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::sourceParsed):
        Change to not assert if this is called with no listeners.
        I don't think this was guaranteed before, and we now use
        this code path when recompiling. Slightly less efficient,
        but this is a one-time cost when turning on the debugger.
        (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
        Change to call Debugger::recompileAllJSFunctions.

2009-08-13  Brady Eidson  <beidson@apple.com>

        Reviewed by Eric Seidel.

        <rdar://problem/7138591> and https://bugs.webkit.org/show_bug.cgi?id=28260
        onhashchange property cannot be set from javascript.

        Test: fast/loader/onhashchange-attribute-listeners.html

        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::onhashchange):
        (WebCore::HTMLBodyElement::setOnhashchange):
        * html/HTMLBodyElement.h:
        * html/HTMLBodyElement.idl:

        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::onhashchange):
        (WebCore::HTMLFrameSetElement::setOnhashchange):
        * html/HTMLFrameSetElement.h:
        * html/HTMLFrameSetElement.idl:

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::onhashchange):
        (WebCore::DOMWindow::setOnhashchange):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:

2009-08-13  Mark Rowe  <mrowe@apple.com>

        Reviewed by Geoff Garen.

        Fix leaks of RGBColor instances from below SVGColor::rgbColor.

        * svg/SVGColor.cpp:
        (WebCore::SVGColor::rgbColor): Return a PassRefPtr to ensure that the newly-allocated
        RGBColor is cleaned up by the caller.
        * svg/SVGColor.h:

2009-08-13  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Migrate to DOMAgent (serialized access to DOM).

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

        * bindings/js/JSInspectorBackendCustom.cpp:
        (WebCore::JSInspectorBackend::highlightDOMNode):
        (WebCore::JSInspectorBackend::nodeForId):
        (WebCore::JSInspectorBackend::idForNode):
        (WebCore::JSInspectorBackend::wrapObject):
        (WebCore::JSInspectorBackend::unwrapObject):
        (WebCore::JSInspectorBackend::pushNodePathToFrontend):
        (WebCore::JSInspectorBackend::selectDatabase):
        (WebCore::JSInspectorBackend::selectDOMStorage):
        * bindings/js/ScriptObjectQuarantine.cpp:
        (WebCore::getQuarantinedScriptObject):
        * bindings/js/ScriptObjectQuarantine.h:
        * bindings/js/ScriptValue.cpp:
        (WebCore::ScriptValue::isObject):
        * bindings/js/ScriptValue.h:
        * bindings/v8/ScriptObjectQuarantine.cpp:
        (WebCore::getQuarantinedScriptObject):
        * bindings/v8/ScriptObjectQuarantine.h:
        * bindings/v8/ScriptValue.h:
        (WebCore::ScriptValue::isObject):
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8InspectorBackendCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        * inspector/ConsoleMessage.h:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::clearMessages):
        (WebCore::InspectorBackend::loaded):
        (WebCore::InspectorBackend::highlight):
        (WebCore::InspectorBackend::nodeForId):
        (WebCore::InspectorBackend::idForNode):
        (WebCore::InspectorBackend::wrapObject):
        (WebCore::InspectorBackend::unwrapObject):
        (WebCore::InspectorBackend::pushNodePathToFrontend):
        (WebCore::InspectorBackend::addNodesToSearchResult):
        (WebCore::InspectorBackend::selectDatabase):
        (WebCore::InspectorBackend::selectDOMStorage):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::focusNode):
        (WebCore::InspectorController::addMessageToConsole):
        (WebCore::InspectorController::clearConsoleMessages):
        (WebCore::InspectorController::startGroup):
        (WebCore::InspectorController::scriptObjectReady):
        (WebCore::InspectorController::setFrontendProxyObject):
        (WebCore::InspectorController::close):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::wrapObject):
        (WebCore::InspectorController::unwrapObject):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setDocument):
        (WebCore::InspectorDOMAgent::handleEvent):
        (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
        (WebCore::InspectorDOMAgent::nodeForId):
        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
        (WebCore::InspectorDOMAgent::innerParentElement):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorDOMStorageResource.cpp:
        (WebCore::InspectorDOMStorageResource::bind):
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::clearConsoleMessages):
        (WebCore::InspectorFrontend::updateFocusedNode):
        (WebCore::InspectorFrontend::setDocument):
        (WebCore::InspectorFrontend::selectDatabase):
        (WebCore::InspectorFrontend::selectDOMStorage):
        (WebCore::InspectorFrontend::addNodesToSearchResult):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.clearMessages):
        (WebInspector.ConsoleView.prototype.completions):
        (WebInspector.ConsoleView.prototype._reportCompletions):
        (WebInspector.ConsoleView.prototype._messagesClicked):
        (WebInspector.ConsoleView.prototype.doEvalInWindow.evalCallback):
        (WebInspector.ConsoleView.prototype.doEvalInWindow):
        (WebInspector.ConsoleView.prototype._format):
        (WebInspector.ConsoleView.prototype._formatfunction):
        (WebInspector.ConsoleView.prototype._formatdate):
        (WebInspector.ConsoleView.prototype._formatregexp):
        (WebInspector.ConsoleView.prototype._formatnode):
        (WebInspector.ConsoleView.prototype._formatobject):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        (WebInspector.DOMNode.prototype._renumber):
        (WebInspector.DOMDocument):
        (WebInspector.DOMAgent):
        (WebInspector.DOMAgent.prototype.getChildNodesAsync):
        (WebInspector.DOMAgent.prototype.setAttributeAsync):
        (WebInspector.DOMAgent.prototype.removeAttributeAsync):
        (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
        (WebInspector.DOMAgent.prototype.nodeForId):
        (WebInspector.DOMAgent.prototype._setDocument):
        (WebInspector.DOMAgent.prototype._setChildNodes):
        (WebInspector.DOMAgent.prototype._bindNodes):
        (WebInspector.DOMAgent.prototype._childNodeInserted):
        (WebInspector.CSSStyleDeclaration):
        (WebInspector.CSSStyleDeclaration.parseRule):
        (WebInspector.setDocument):
        (InspectorController.getStyles):
        (InspectorController.getComputedStyle):
        (InspectorController.getInlineStyle):
        (InspectorController.applyStyleText):
        (InspectorController.setStyleText):
        (InspectorController.toggleStyleEnabled):
        (InspectorController.applyStyleRuleText):
        (InspectorController.addStyleSelector):
        (InspectorController.setStyleProperty):
        (InspectorController.getPrototypes):
        (InspectorController.getProperties):
        (InspectorController.setPropertyValue):
        (InspectorController.evaluate):
        (InspectorController.addInspectedNode):
        (InspectorController.performSearch):
        (InspectorController.searchCanceled):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
        (WebInspector.ElementsPanel.prototype.searchCanceled):
        (WebInspector.ElementsPanel.prototype.performSearch):
        (WebInspector.ElementsPanel.prototype._updateMatchesCount):
        (WebInspector.ElementsPanel.prototype._updateMatchesCountSoon):
        (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode):
        (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
        (WebInspector.ElementsTreeElement.prototype.updateChildren):
        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.applyStyleRuleText):
        (InjectedScript.addStyleSelector):
        (InjectedScript._doesSelectorAffectNode):
        (InjectedScript._serializeRule):
        (InjectedScript._serializeStyle):
        (InjectedScript.getProperties):
        (InjectedScript.evaluate):
        (InjectedScript.addInspectedNode):
        (InjectedScript.performSearch.addNodesToResults):
        (InjectedScript.performSearch.matchExactItems):
        (InjectedScript.performSearch.matchExactId.addNodesToResults.call):
        (InjectedScript.performSearch.matchExactId):
        (InjectedScript.performSearch):
        (InjectedScript.performSearch.matchExactTagNames):
        (InjectedScript.performSearch.matchExactAttributeNames):
        (InjectedScript.performSearch.matchPartialTagNames):
        (InjectedScript.performSearch.matchStartOfTagNames):
        (InjectedScript.performSearch.matchPartialTagNamesAndAttributeValues):
        (InjectedScript.performSearch.matchPartialAttributeValues):
        (InjectedScript.performSearch.matchStyleSelector):
        (InjectedScript.performSearch.matchPlainText):
        (InjectedScript.performSearch.matchXPathQuery):
        (InjectedScript.performSearch.finishedSearching):
        (InjectedScript.performSearch.processChunk):
        (InjectedScript.searchCanceled):
        (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
        (InjectedScript._ensureCommandLineAPIInstalled):
        (InjectedScript._resolveObject):
        (InjectedScript._nodeForId):
        (InjectedScript._objectForId):
        (InjectedScript._createProxyObject):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
        (WebInspector.ObjectPropertyTreeElement.prototype.update):
        * inspector/front-end/ObjectProxy.js:
        (WebInspector.ObjectProxy):
        (WebInspector.ObjectPropertyProxy):
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
        (WebInspector.PropertiesSidebarPane.prototype.update):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update.callback):
        (WebInspector.StylesSidebarPane.prototype.update):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
        (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted.callback):
        (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/inspector.js:
        (WebInspector._updateHoverHighlight):
        (WebInspector.loaded):
        (WebInspector.clearConsoleMessages):
        (WebInspector.selectDatabase):
        (WebInspector.selectDOMStorage):
        (WebInspector.updateFocusedNode):
        (WebInspector.addNodesToSearchResult):
        * inspector/front-end/utilities.js:
        (Object.proxyType):
        * storage/Storage.h:
        (WebCore::Storage::frame):

2009-08-13  Mark Rowe  <mrowe@apple.com>

        Reviewed by Geoff Garen.

        Fix leaks of RGBColor instances from below CSSPrimitiveValue::getRGBColorValue.

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::getRGBColorValue): Return a PassRefPtr to ensure that the
        newly-allocated RGBColor is cleaned up by the caller.
        * css/CSSPrimitiveValue.h:

2009-08-13  Eric Seidel  <eric@webkit.org>

        Reviewed by David Hyatt.

        wrong font size when css font-family includes monospace
        https://bugs.webkit.org/show_bug.cgi?id=19161

        Firefox only uses fixed-width default size for exactly "font-family: monospace;".
        WebKit has historically used fixed-width default size any time a
        font-family includes monospace in the fallback list.

        This patch corrects WebKit's behavior to match Firefox.
        I also had to fix a bug in WebKit's font-family fallback behavior where
        child elements would inherit parts of their parents fallback lists.

        This patch is mostly just replacing all cases where we used to check for:
        fontDescription.genericFontFamily() == MonospaceFamily
        with:
        fontDescription.useFixedDefaultSize()

        Tests: fast/css/getComputedStyle/computed-style-font-family-monospace.html
               fast/css/getComputedStyle/font-family-fallback-reset.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
           Deploy useFixedDefaultSize().  Also fix the bug where child
           FontDescriptions would carry part of the parent font-family fallback list.
        (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
           It's no longer alright to just check genericFontFamily(),
           we have to check to make sure the changed style has a matching useFixedDefaultSize().
        * platform/graphics/FontDescription.h:
        (WebCore::FontDescription::useFixedDefaultSize):
           Only use the fixed default size if we have one font family and it is "monospace".
           "-webkit-monospace" is the internal representation of the CSS identifier "monospace".

2009-08-13  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>

        Reviewed by Dimitri Glazkov.

        [v8] Fix atomic string externalization crash.
        Atomic string externalization assumes that all non-empty strings
        can be externalized which is untrue on 64-bit.  This change fixed
        that.

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

        This bug causes loads of test crashes, no need to add new tests
        specifically for this.

        * bindings/v8/V8Binding.cpp:
        (WebCore::v8StringToAtomicWebCoreString):

2009-08-13  George Staikos  <george.staikos@torchmobile.com>

        Rubberstamped by Darin Adler.

        Use ASSERT_UNUSED instead of UNUSED_PARAM

        * wml/WMLAnchorElement.cpp:
        (WebCore::WMLAnchorElement::deregisterTask):
        * wml/WMLDoElement.cpp:
        (WebCore::WMLDoElement::deregisterTask):

2009-08-13  Steve Block  <steveblock@google.com>

        Reviewed by Darin Adler.

        Fixes a couple of bugs in SecurityOrigin::createFromDatabaseIdentifier.
        https://bugs.webkit.org/show_bug.cgi?id=28262

        No new tests possible.

        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::createFromDatabaseIdentifier):

2009-08-13  Dirk Schulze  <krit@webkit.org>

        Reviewed by Eric Seidel.

        [CAIRO] getImageData fails on a given rect bigger than the image rect

        The destination image and the source image was mixed up on creating the
        imageData.

        This is just a clean up and doesn't affect the current behavior. It's not
        possible to test this failure in a LayoutTest. Only canvas uses getImageData
        at the moment and returns before calling getImageData, if the image rect does
        not contain the requested rect.

        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::getImageData):

2009-08-13  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        [Haiku] Adding RenderTheme to WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=28258

        * platform/haiku/RenderThemeHaiku.cpp: Added.
        (WebCore::RenderThemeHaiku::create):
        (WebCore::RenderTheme::themeForPage):
        (WebCore::RenderThemeHaiku::RenderThemeHaiku):
        (WebCore::RenderThemeHaiku::~RenderThemeHaiku):
        (WebCore::supportsFocus):
        (WebCore::RenderThemeHaiku::supportsFocusRing):
        (WebCore::RenderThemeHaiku::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeHaiku::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeHaiku::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeHaiku::platformInactiveSelectionForegroundColor):
        (WebCore::RenderThemeHaiku::platformTextSearchHighlightColor):
        (WebCore::RenderThemeHaiku::systemFont):
        (WebCore::RenderThemeHaiku::paintCheckbox):
        (WebCore::RenderThemeHaiku::setCheckboxSize):
        (WebCore::RenderThemeHaiku::paintRadio):
        (WebCore::RenderThemeHaiku::setRadioSize):
        (WebCore::RenderThemeHaiku::adjustMenuListStyle):
        (WebCore::RenderThemeHaiku::paintMenuList):
        * platform/haiku/RenderThemeHaiku.h: Added.
        (WebCore::RenderThemeHaiku::supportsHover):

2009-08-13  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        [Haiku] Remove the "m_point" code from ContextMenuHaiku.cpp
        https://bugs.webkit.org/show_bug.cgi?id=28256

        * platform/haiku/ContextMenuHaiku.cpp:
        (WebCore::ContextMenuReceiver::ContextMenuReceiver):
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenu::insertItem):

2009-08-13  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Darin Adler.

        Inspector: Show Hidden Cookie Data
        https://bugs.webkit.org/show_bug.cgi?id=28185

          Added new file Cookie.h to the WebCore XCode

        * WebCore.xcodeproj/project.pbxproj:

          InspectorController.cookies() binding

        * bindings/js/JSInspectorBackendCustom.cpp:
        (WebCore::JSInspectorBackend::cookies):
        * inspector/InspectorBackend.idl:

          Struct for static Cookie information
          (name, value, path, domain, expires, httpOnly, secure, session)

        * platform/Cookie.h: Added.
        (WebCore::Cookie::Cookie):
        
          Getter for the a list of raw Cookies
          getRawCookies(., ., out Vector<Cookie>)
        
        * platform/CookieJar.h:

          Implementation of getRawCookies for the mac platform.

        * platform/mac/CookieJar.mm:
        (WebCore::getRawCookies):

          Stub other CookieJar implementations to satisfy the interface.

        * platform/haiku/CookieJarHaiku.cpp:
        (WebCore::getRawCookies):
        * platform/network/chromium/CookieJarChromium.cpp:
        (WebCore::getRawCookies):
        * platform/network/curl/CookieJarCurl.cpp:
        (WebCore::getRawCookies):
        * platform/network/soup/CookieJarSoup.cpp:
        (WebCore::getRawCookies):
        * platform/network/win/CookieJarCFNetWin.cpp:
        (WebCore::getRawCookies):
        * platform/network/win/CookieJarWin.cpp:
        (WebCore::getRawCookies):
        * platform/qt/CookieJarQt.cpp:
        (WebCore::getRawCookies):

2009-08-13  Patrick Mueller  <Patrick_Mueller@us.ibm.com>

        Reviewed by Timothy Hatcher.

        Add a new gesture in Web Inspector to remove breakpoints
        https://bugs.webkit.org/show_bug.cgi?id=19131
        
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._documentMouseDown):

2009-08-13  Norbert Leser  <norbert.leser@nokia.com>

        Reviewed by Simon Hausmann.

        Symbian target components (library and executable files)
        require Unique Identifiers (i.e., UID3).
        These identifiers are defined in the respective project
        file, conditionally for "symbian" platform.

        * WebCore.pro:

2009-08-13  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Eric Seidel.

        wrong calculation of overflow size for flexbox and table
        https://bugs.webkit.org/show_bug.cgi?id=28064

        RenderFlexibleBox and RenderTable were using the width of overflow
        to update height of overflow, so height became wrong value and
        width was not updated. As the corresponding code of RenderBlock
        was sane, I factored it out and used from RenderFlexibleBox and
        RenderTable.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateOverflowWithShadowAndReflection): created from code of layoutBlock
        (WebCore::RenderBlock::layoutBlock):
        * rendering/RenderBlock.h:
        * rendering/RenderFlexibleBox.cpp: use updateOverflowWithShadowAndReflection
        (WebCore::RenderFlexibleBox::layoutBlock):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout): use updateOverflowWithShadowAndReflection

2009-08-13  Mark Rowe  <mrowe@apple.com>

        Revert r47185, the fix for <https://bugs.webkit.org/show_bug.cgi?id=28185>, as it broke the
        Windows build in a non-obvious manner.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSInspectorBackendCustom.cpp:
        * inspector/InspectorBackend.idl:
        * platform/Cookie.h: Removed.
        * platform/CookieJar.h:
        * platform/haiku/CookieJarHaiku.cpp:
        (WebCore::setCookies):
        (WebCore::cookies):
        * platform/mac/CookieJar.mm:
        * platform/network/chromium/CookieJarChromium.cpp:
        * platform/network/curl/CookieJarCurl.cpp:
        * platform/network/soup/CookieJarSoup.cpp:
        * platform/network/win/CookieJarCFNetWin.cpp:
        * platform/network/win/CookieJarWin.cpp:
        * platform/qt/CookieJarQt.cpp:

2009-08-13  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Not reviewed: build fix (for r47192), adding new file from
        https://bugs.webkit.org/show_bug.cgi?id=28174

        * inspector/front-end/StatusBarButton.js: Added.

2009-08-13  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Timothy Hatcher.

        Introduced StatusBarButton class that encapsulates glyphs support.
        Views updated accordingly.

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

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView):
        (WebInspector.CookieItemsView.prototype.get statusBarItems): Updated to retrieve DOM element from StatusBarButton instance (here and in similar getters below.)
        (WebInspector.CookieItemsView.prototype.hide):
        (WebInspector.CookieItemsView.prototype.update):
        * inspector/front-end/DOMStorageItemsView.js:
        (WebInspector.DOMStorageItemsView):
        (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
        (WebInspector.DOMStorageItemsView.prototype.hide):
        (WebInspector.DOMStorageItemsView.prototype.update):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype.get statusBarItems):
        (WebInspector.ElementsPanel.prototype.hide):
        (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
        * inspector/front-end/Panel.js:
        * inspector/front-end/ProfileView.js:
        (WebInspector.ProfileView):
        (WebInspector.ProfileView.prototype.get statusBarItems):
        (WebInspector.ProfileView.prototype._updatePercentButton):
        (WebInspector.ProfileView.prototype._focusClicked):
        (WebInspector.ProfileView.prototype._excludeClicked):
        (WebInspector.ProfileView.prototype._resetClicked):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        (WebInspector.ProfilesPanel.prototype.get statusBarItems):
        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
        (WebInspector.ProfilesPanel.prototype._updateInterface):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.get statusBarItems):
        (WebInspector.ResourcesPanel.prototype.reset):
        (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype.get statusBarItems):
        (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
        (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
        * inspector/front-end/StatusBarButton.js: Added.
        (WebInspector.StatusBarButton):
        (WebInspector.StatusBarButton.prototype._clicked):
        (WebInspector.StatusBarButton.prototype.get disabled):
        (WebInspector.StatusBarButton.prototype.set disabled):
        (WebInspector.StatusBarButton.prototype.get title):
        (WebInspector.StatusBarButton.prototype.set title):
        (WebInspector.StatusBarButton.prototype.get toggled):
        (WebInspector.StatusBarButton.prototype.set toggled):
        (WebInspector.StatusBarButton.prototype.get visible):
        (WebInspector.StatusBarButton.prototype.set visible):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css: For uniformity, class names are always used to identify status bar buttons. Also, fixed "Reload" button style to use glyphs.
        * inspector/front-end/inspector.html:

2009-08-12  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Add shadow support in GraphicsContext::fillRect().

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::fillRect): Paint shadow if necessary.
        (WebCore::GraphicsContext::setPlatformShadow): Inverse y offset.

2009-08-13  David Levin  <levin@chromium.org>

        Unreviewed build fix for Chromium Linux.

        Rollback r47157 as this broke debug tests of Chromium Linux.

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::setupPaintCommon):

2009-08-13  David Levin  <levin@chromium.org>

        Unreviewed build fix for chromium.

        The chromium build broke due to r47185 which added
        a cookies array to inspector/InspectorBackend.idl.

        * bindings/v8/custom/V8CustomBinding.h: Added the declaration for the cookies callback.
        * bindings/v8/custom/V8InspectorBackendCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL(InspectorBackendCookies)): Stubbed out an implementation
         for the cookies callback.

2009-08-12  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Timothy Hatcher.

        Inspector: Show Hidden Cookie Data
        https://bugs.webkit.org/show_bug.cgi?id=28185

          Added new file Cookie.h to the WebCore XCode

        * WebCore.xcodeproj/project.pbxproj:

          InspectorController.cookies() binding

        * bindings/js/JSInspectorBackendCustom.cpp:
        (WebCore::JSInspectorBackend::cookies):
        * inspector/InspectorBackend.idl:

          Struct for static Cookie information
          (name, value, path, domain, expires, httpOnly, secure, session)

        * platform/Cookie.h: Added.
        (WebCore::Cookie::Cookie):
        
          Getter for the a list of raw Cookies
          getRawCookies(., ., out Vector<Cookie>)
        
        * platform/CookieJar.h:

          Implementation of getRawCookies for the mac platform.

        * platform/mac/CookieJar.mm:
        (WebCore::getRawCookies):

          Stub other CookieJar implementations to satisfy the interface.

        * platform/haiku/CookieJarHaiku.cpp:
        (WebCore::getRawCookies):
        * platform/network/chromium/CookieJarChromium.cpp:
        (WebCore::getRawCookies):
        * platform/network/curl/CookieJarCurl.cpp:
        (WebCore::getRawCookies):
        * platform/network/soup/CookieJarSoup.cpp:
        (WebCore::getRawCookies):
        * platform/network/win/CookieJarCFNetWin.cpp:
        (WebCore::getRawCookies):
        * platform/network/win/CookieJarWin.cpp:
        (WebCore::getRawCookies):
        * platform/qt/CookieJarQt.cpp:
        (WebCore::getRawCookies):

2009-08-08  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Timothy Hatcher.

        Inspector: Cookies in Storage Panel
        https://bugs.webkit.org/show_bug.cgi?id=27202

          Data Structure for a Cookie. Just Key/Value for Now:

        * inspector/front-end/Cookie.js: Added.
        (WebInspector.Cookie):
        (WebInspector.Cookie.prototype.get key):
        (WebInspector.Cookie.prototype.set key):
        (WebInspector.Cookie.prototype.get value):
        (WebInspector.Cookie.prototype.set value):

          A Storage View for Cookies.  Allows for Refresh/Delete:

        * inspector/front-end/CookieItemsView.js: Added.
        (WebInspector.CookieItemsView):
        (WebInspector.CookieItemsView.prototype.get statusBarItems): refresh and delete buttons
        (WebInspector.CookieItemsView.prototype.show):
        (WebInspector.CookieItemsView.prototype.hide):
        (WebInspector.CookieItemsView.prototype.update):
        (WebInspector.CookieItemsView.prototype.buildCookies): parses the inspected window's document.cookie string
        (WebInspector.CookieItemsView.prototype.dataGridForCookies): creates a datagrid for cookies
        (WebInspector.CookieItemsView.prototype._deleteButtonClicked): attempt at deleting the cookie (not flawless)
        (WebInspector.CookieItemsView.prototype._refreshButtonClicked): rebuild the datagrid

          Include a SidebarSection Section in the Databases Panel:

        * inspector/front-end/DatabasesPanel.js:
        (WebInspector.DatabasesPanel):
        (WebInspector.DatabasesPanel.prototype.show): calls populateInterface
        (WebInspector.DatabasesPanel.prototype.populateInterface): adds cookies if they don't exist
        (WebInspector.DatabasesPanel.prototype.reset): remove cookie specific parts
        (WebInspector.DatabasesPanel.prototype.addCookies): add cookies sidebar tree element
        (WebInspector.DatabasesPanel.prototype.showCookies): sets the visible view to a CookiesItemView
        (WebInspector.CookieSidebarTreeElement):
        (WebInspector.CookieSidebarTreeElement.prototype.onselect):
        (WebInspector.CookieSidebarTreeElement.prototype.get mainTitle): just "Cookies" at the moment
        (WebInspector.CookieSidebarTreeElement.prototype.set mainTitle):
        (WebInspector.CookieSidebarTreeElement.prototype.get subtitle): no subtitle yet
        (WebInspector.CookieSidebarTreeElement.prototype.set subtitle):

          New "Cookies" Image for the Sidebar:

        * inspector/front-end/Images/cookie.png: Added.
        * inspector/front-end/inspector.css:

          Include the Added Files where appropriate:

        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2009-08-12  George Wright  <george.wright@torchmobile.com>

        Reviewed by George Staikos.

        Add SQLTransactionCoordinator.[h,cpp] to WebCore.pro.

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

        * WebCore.pro:

2009-08-12  George Staikos  <george.staikos@torchmobile.com>

        Reviewed by Adam Treat.

        Mark unused variables to avoid compile failures in -Werror.

        * wml/WMLAnchorElement.cpp:
        (WebCore::WMLAnchorElement::deregisterTask):
        * wml/WMLDoElement.cpp:
        (WebCore::WMLDoElement::deregisterTask):

2009-08-12  Charles Wei  <charles.wei@torchmobile.com.cn>

        Reviewed by Niko Zimmermann.

        This is to add WCSS marquee support , which is defined by OMA and is an extension for CSS2, 
        It extends CSS display with "display:-wap-marquee;-wap-marquee-dir:xxx;-wap-marquee-speed:xxx;-wap-marquee-style:xxx"
        Minor fixes by Eric Seidel and George Staikos.
        https://bugs.webkit.org/show_bug.cgi?id=23727

        No new tests, the tests have already been landed at LayoutTests/fast/wcss/

        * WebCore.pro:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSValueKeywords.in:
        * css/WCSSPropertyNames.in: Added.
        * css/WCSSValueKeywords.in: Added.
        * rendering/RenderMarquee.cpp:
        (WebCore::RenderMarquee::start):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject):
        * rendering/style/RenderStyleConstants.h:
        (WebCore::):

2009-08-12  George Wright  <george.wright@torchmobile.com>

        Reviewed by David Hyatt.

        Update the canvas renderer's intrinsic size with the zoomed
        lengths and ensure the intrinsic size is correct when setting
        an initial style.

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

        Test: fast/canvas/canvas-zoom.html

        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::canvasSizeChanged):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::styleDidChange):

2009-08-12  Alpha Lam  <hclam@chromium.org>

        Reviewed by Simon Fraser.

        Fix regression for dragging the media controller thumb.
        https://bugs.webkit.org/show_bug.cgi?id=28211

        Modified the conditions for rejecting events on the media controller
        to only rejecting mouse events not from the left button.

        Test: media/controls-drag-timebar.html

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlTimelineElement::defaultEventHandler):

2009-08-12  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Eric Seidel.

        Fixing a deadlock caused by two transactions that run on two
        different database handles for the same DB. Adding a per-DB thread
        transaction coordinator that allows the DB thread to run only one
        transaction per DB file at any given time.

        Adding a regression test for this bug.

        Test: storage/multiple-transactions-on-different-handles.html

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

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * storage/Database.cpp:
        (WebCore::Database::transactionCoordinator):
        * storage/Database.h:
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::DatabaseThread):
        * storage/DatabaseThread.h:
        (WebCore::DatabaseThread::transactionCoordinator):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::SQLTransaction):
        (WebCore::SQLTransaction::debugStepName):
        (WebCore::SQLTransaction::performNextStep):
        (WebCore::SQLTransaction::aquireLock):
        (WebCore::SQLTransaction::lockAquired):
        (WebCore::SQLTransaction::cleanupAfterSuccessCallback):
        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
        * storage/SQLTransaction.h:
        * storage/SQLTransactionCoordinator.cpp: Added.
        * storage/SQLTransactionCoordinator.h: Added.

2009-08-12  Darin Adler  <darin@apple.com>

        Reviewed by Geoff Garen.

        Custom properties on DOM objects are lost after GC (as demonstrated by the gc-9.html test)
        https://bugs.webkit.org/show_bug.cgi?id=28194

        * GNUmakefile.am: Added the two new source files.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * WebCoreSources.bkl: Ditto.

        * bindings/js/JSCSSRuleListCustom.cpp: Added.
        (WebCore::JSCSSRuleList::markChildren): Call markDOMObjectWrapper
        on rules in the list.

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::markChildren): Added. Call
        markDOMObjectWrapper on the CSSValue objects that are owned by the
        declaration as values of the properties.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::isObservableThroughDOM): Added code to handle some
        cases where nodes are observable because they own objects that
        in turn have custom properties.

        * bindings/js/JSDOMBinding.h: Fix a typo in the header.

        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::markChildren): Added call to markDOMObjectWrapper
        for implementation and styleSheets.

        * bindings/js/JSElementCustom.cpp:
        (WebCore::JSElement::markChildren): Added. Calls markDOMObjectWrapper
        for attributes and style.

        * bindings/js/JSHTMLCanvasElementCustom.cpp: Added.
        (WebCore::JSHTMLCanvasElement::markChildren): Call markDOMObjectWrapper
        on the rendering context.

        * bindings/js/JSStyleSheetCustom.cpp:
        (WebCore::JSStyleSheet::markChildren): Call markDOMObjectWrapper on
        items in the stylesheet.

        * bindings/js/JSStyleSheetListCustom.cpp:
        (WebCore::JSStyleSheetList::markChildren): Added. Calls
        markDOMObjectWrapper on stylesheets in the list.

        * css/CSSRuleList.idl: Added CustomMarkFunction.
        * css/CSSStyleDeclaration.idl: Ditto.
        * css/StyleSheetList.idl: Ditto.
        * dom/Element.idl: Ditto.
        * html/HTMLCanvasElement.idl: Ditto.

        * dom/Element.h: Made everything private that could be.
        Added access to the attributeMap that does returns
        the existing map without doing any of the lazy-updating work. This
        is needed to get at the existing attributes during garbage collection
        without having side effects.

        * html/HTMLCanvasElement.h: Cleaned up the header a bit, making
        members private. Added renderingContext2D function for use in
        JSHTMLCanvasElement::markChildren.

2009-08-12  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Eric Seidel.

        Fixes two bugs about Pan Scrolling - Scrolling with middle mouse button doesn't 
        work in Expanded view on reader.google.com, and Can enter auto scroll from a non-scrollable area.
        https://bugs.webkit.org/show_bug.cgi?id=28023
        https://bugs.webkit.org/show_bug.cgi?id=24794
        
        Added a new method to RenderBox seeing if the Box can be scrolled and actually has something to
        scroll, and use that for pan scrolling.

        Test: platform/win/fast/events/panScroll-nested-divs.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseDraggedEvent):
        (WebCore::EventHandler::updateAutoscrollRenderer):
        (WebCore::EventHandler::handleMousePressEvent):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::canBeScrolledAndHasScrollableArea):
        * rendering/RenderBox.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollByRecursively):

2009-08-12  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adam Roben.

        Fix of <rdar://6728361> Mouse wheel scrolling on a page with expanded drop down 
        list detaches drop down.

        Added a function for Windows PopupMenu's to return their class name.

         * platform/PopupMenu.h:
         * platform/win/PopupMenuWin.cpp:
         (WebCore::PopupMenu::popupClassName):

2009-08-12  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Dan Bernstein.

        WINCE PORT: Color and Gradient
        https://bugs.webkit.org/show_bug.cgi?id=27511

        * platform/graphics/wince/ColorWince.cpp: Added.
        * platform/graphics/wince/GradientWince.cpp: Added.

2009-08-12  Yong Li  <yong.li@torchmobile.com>

        Reviewed by Eric Seidel.

        fix a typo in platform/graphics/skia/PlatformContextSkia.cpp
        https://bugs.webkit.org/show_bug.cgi?id=28172

        No new tests because it's a just typo fix.

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::setupPaintCommon):

2009-08-12  Michelangelo De Simone  <micdesim@gmail.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=27458
        Support for the :default CSS pseudoclass, as per HTML5 spec.
        http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#selector-default

        Tests: fast/css/pseudo-default-001.html
               fast/css/pseudo-default-002.html
               fast/css/pseudo-default-003.html
               fast/css/pseudo-default-004.html

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::extractPseudoType): pseudoDefault
        * css/CSSSelector.h:
        (WebCore::CSSSelector::):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement): sharing stuff is
        aware that only one default button can be present in a form
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): applies
        the :default CSS pseudoclass
        * dom/Element.h:
        (WebCore::Element::isDefaultButtonForForm): new method to determine
        whether a FormControl is a default button for a given form
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::isDefaultButtonForForm): ditto
        * html/HTMLFormControlElement.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::defaultButton): extracts the default button
        from the form
        * html/HTMLFormElement.h:

2009-08-12  David Levin  <levin@chromium.org>

        No review, rolling out r47106.
        https://bugs.webkit.org/show_bug.cgi?id=28215

        This patch relied on a new version of v8 which is not available
        in chromium yet.

        * bindings/v8/V8Binding.cpp:
        (WebCore::v8StringToAtomicWebCoreString):

2009-08-12  Steve Block  <steveblock@google.com>

        Reviewed by Eric Seidel.

        Bug 26993 : Geolocation::requestPermission()
        https://bugs.webkit.org/show_bug.cgi?id=26993

        Second patch to allow the Geolocation permission request to chrome to be asynchronous
        or synchronous. Fixes a bug where callbacks were called twice when permissions
        are granted synchronously.

        No new tests required.

        * page/Geolocation.cpp:
        (WebCore::Geolocation::setIsAllowed): Modified. Calls makeSuccessCallbacks() rather than geolocationServicePositionChanged().
        (WebCore::Geolocation::geolocationServicePositionChanged): Modified. Updated logic to avoid repeated callbacks when permissions are granted synchronously.
        (WebCore::Geolocation::makeSuccessCallbacks): Added. Calls success callbacks.
        * page/Geolocation.h: Modified. Adds makeSuccessCallbacks().

2009-08-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/6952336>
        CrashTracer: [USER] 3 crashes in Safari at com.apple.WebCore • WebCore::SecurityOrigin::canAccess const + 27

        Make sure to set the security origin before calling dispatchWindowObjectAvailable.
        
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::begin):

2009-08-12  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Eric Seidel.

        Fix [Chromium] drop down menu letter selection, skip selections
        https://bugs.webkit.org/show_bug.cgi?id=28205

        Not auto-testable since it is chromim platform specific code, and it involves sending a keyboard 
        event to the popup, which is not possible (eventSender sends the key
        events through webview, we want to go through the webwidget).

        * manual-tests/keyboard_select_elements_with_same_beginning.html: Added.
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::isCharacterTypeEvent): style change.
        (WebCore::PopupListBox::handleKeyEvent): typeAheadFind should be called only when the event is
        a character type event to avoid calling twice for English.
        (WebCore::PopupListBox::typeAheadFind): remove unnecessary checking of isCharacterTypeEvent() since the whole function is only called under that condition.

2009-08-12  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        [Haiku] Adding GraphicsContext to WebCore/platform/graphics/haiku.
        https://bugs.webkit.org/show_bug.cgi?id=28130

        * platform/graphics/haiku/GraphicsContextHaiku.cpp: Added.
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::~GraphicsContext):
        (WebCore::GraphicsContext::platformContext):
        (WebCore::GraphicsContext::savePlatformState):
        (WebCore::GraphicsContext::restorePlatformState):
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::beginPath):
        (WebCore::GraphicsContext::addPath):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::drawFocusRing):
        (WebCore::GraphicsContext::drawLineForText):
        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
        (WebCore::GraphicsContext::roundToDevicePixels):
        (WebCore::GraphicsContext::beginTransparencyLayer):
        (WebCore::GraphicsContext::endTransparencyLayer):
        (WebCore::GraphicsContext::clearRect):
        (WebCore::GraphicsContext::strokeRect):
        (WebCore::GraphicsContext::setLineCap):
        (WebCore::GraphicsContext::setLineJoin):
        (WebCore::GraphicsContext::setMiterLimit):
        (WebCore::GraphicsContext::setAlpha):
        (WebCore::GraphicsContext::setCompositeOperation):
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::clipToImageBuffer):
        (WebCore::GraphicsContext::getCTM):
        (WebCore::GraphicsContext::translate):
        (WebCore::GraphicsContext::origin):
        (WebCore::GraphicsContext::rotate):
        (WebCore::GraphicsContext::scale):
        (WebCore::GraphicsContext::clipOutEllipseInRect):
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        (WebCore::GraphicsContext::concatCTM):
        (WebCore::GraphicsContext::setPlatformShouldAntialias):
        (WebCore::GraphicsContext::setImageInterpolationQuality):
        (WebCore::GraphicsContext::setURLForRect):
        (WebCore::GraphicsContext::setPlatformFont):
        (WebCore::GraphicsContext::setPlatformStrokeColor):
        (WebCore::GraphicsContext::getHaikuStrokeStyle):
        (WebCore::GraphicsContext::setPlatformStrokeStyle):
        (WebCore::GraphicsContext::setPlatformStrokeThickness):
        (WebCore::GraphicsContext::setPlatformFillColor):
        (WebCore::GraphicsContext::clearPlatformShadow):
        (WebCore::GraphicsContext::setPlatformShadow):

2009-08-12  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        [Haiku] Modifying WebCore/platform/graphics files to allow Haiku port.
        https://bugs.webkit.org/show_bug.cgi?id=28128

        * platform/graphics/BitmapImage.h: Adding getBBitmap() function.
        * platform/graphics/Color.h: rgb_color is the Color struct in Haiku.
        * platform/graphics/FloatPoint.h: BPoint is the Point class in Haiku.
        * platform/graphics/FloatRect.h: BRect is the Rect class in Haiku.
        * platform/graphics/GraphicsContext.cpp: 
        * platform/graphics/GraphicsContext.h: BView is the PlatformGraphicsContext
        class for Haiku. Adding getHaikuStrokeStyle() function.
        * platform/graphics/Icon.h: Adding an empty Icon() constructor because
        this class isn't implemented for the moment.
        * platform/graphics/ImageSource.h: BBitmap is the native bitmap class 
        for Haiku.
        * platform/graphics/IntPoint.h: BPoint is the Point class in Haiku.
        * platform/graphics/IntRect.h: BRect is the Rect class in Haiku.
        * platform/graphics/IntSize.h: BSize is the Size class in Haiku.
        * platform/graphics/Path.h: BRegion is the Path class in Haiku.
        * platform/graphics/Pattern.h: Adding the GraphicsDef.h header and the 
        native pattern type.
        * platform/graphics/SimpleFontData.h: Adding Haiku's Font.h header.

2009-08-12  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        [Haiku] Adding modification to the WebCore/platform/ files to allow
        the Haiku port.
        https://bugs.webkit.org/show_bug.cgi?id=28128

        * platform/ContextMenuItem.h: BMenu is the PlatformMenuItemDescription
        class of Haiku.
        * platform/Cursor.h: BCursor is the Cursor class of Haiku.
        * platform/DragData.h: Use a BMessage as DragDataRef.
        * platform/DragImage.h: Use a BBitmap as DragImageRef.
        * platform/PlatformKeyboardEvent.h: Use BMessage as event vehicle.
        * platform/PlatformMenuDescription.h: BMenu is the 
        PlatformMenuDescription class of Haiku.
        * platform/PlatformMouseEvent.h: Use BMessage as event vehicle.
        * platform/PlatformWheelEvent.h: Use BMessage as event vehicle.
        * platform/PopupMenu.h: Adding a m_menu attribute for Haiku.
        * platform/Widget.h: BView is the PlatformWidget class of Haiku.

2009-08-12  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        [Haiku] Tiny modifications on WebCore files to allow Haiku port.
        https://bugs.webkit.org/show_bug.cgi?id=28128

        * bindings/js/ScriptControllerHaiku.cpp: Style cleanup.
        * loader/CachedFont.cpp: Haiku behaves like Qt, Gtk, or Chromium,
        so many PLATFORM(HAIKU) were added to these functions.
        (WebCore::CachedFont::~CachedFont):
        (WebCore::CachedFont::ensureCustomFontData):
        (WebCore::CachedFont::platformDataFromCustomData):
        (WebCore::CachedFont::allClientsRemoved):
        * page/EventHandler.cpp: Like the mac and Qt port, Haiku doesn't need the
        invertSenseOfTabsToLinks() function.
        * page/haiku/DragControllerHaiku.cpp: Style cleanup.
        * platform/image-decoders/ImageDecoder.h: For image decoding Haiku
        behaves like Cairo or Wx, (not like Skia).
        (WebCore::RGBA32Buffer::getAddr):
        * platform/text/PlatformString.h: Adding the String(BString&) and BString()
        methods specific to Haiku.
        * platform/text/UnicodeRange.h: Haiku needs to include stdint.h.
        * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp:
        (WebCore::currentSearchLocaleID): Missing function.

2009-08-12  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        [Haiku] Adding the ScrollbarTheme files.
        https://bugs.webkit.org/show_bug.cgi?id=28125

        * platform/haiku/ScrollbarThemeHaiku.cpp: Added.
        (buttonWidth):
        (WebCore::ScrollbarTheme::nativeTheme):
        (WebCore::ScrollbarThemeHaiku::ScrollbarThemeHaiku):
        (WebCore::ScrollbarThemeHaiku::~ScrollbarThemeHaiku):
        (WebCore::ScrollbarThemeHaiku::scrollbarThickness):
        (WebCore::ScrollbarThemeHaiku::hasButtons):
        (WebCore::ScrollbarThemeHaiku::hasThumb):
        (WebCore::ScrollbarThemeHaiku::backButtonRect):
        (WebCore::ScrollbarThemeHaiku::forwardButtonRect):
        (WebCore::ScrollbarThemeHaiku::trackRect):
        (WebCore::ScrollbarThemeHaiku::paintScrollbarBackground):
        (WebCore::ScrollbarThemeHaiku::paintButton):
        (WebCore::ScrollbarThemeHaiku::paintThumb):
        * platform/haiku/ScrollbarThemeHaiku.h: Added.

2009-08-12  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        [Haiku] Adding eight simple files to WebCore/platform/graphics/haiku.
        https://bugs.webkit.org/show_bug.cgi?id=28122

        * platform/graphics/haiku/ColorHaiku.cpp: Added.
        (WebCore::Color::Color):
        (WebCore::Color::operator rgb_color):
        (WebCore::focusRingColor):
        * platform/graphics/haiku/FloatPointHaiku.cpp: Added.
        (WebCore::FloatPoint::FloatPoint):
        (WebCore::FloatPoint::operator BPoint):
        * platform/graphics/haiku/FloatRectHaiku.cpp: Added.
        (WebCore::FloatRect::FloatRect):
        (WebCore::FloatRect::operator BRect):
        * platform/graphics/haiku/GradientHaiku.cpp: Added.
        (WebCore::Gradient::platformDestroy):
        (WebCore::Gradient::platformGradient):
        (WebCore::Gradient::fill):
        * platform/graphics/haiku/IntPointHaiku.cpp: Added.
        (WebCore::IntPoint::IntPoint):
        (WebCore::IntPoint::operator BPoint):
        * platform/graphics/haiku/IntRectHaiku.cpp: Added.
        (WebCore::IntRect::IntRect):
        (WebCore::IntRect::operator BRect):
        * platform/graphics/haiku/IntSizeHaiku.cpp: Added.
        (WebCore::IntSize::IntSize):
        (WebCore::IntSize::operator BSize):
        * platform/graphics/haiku/PathHaiku.cpp: Added.
        (WebCore::Path::Path):
        (WebCore::Path::~Path):
        (WebCore::Path::operator=):
        (WebCore::Path::hasCurrentPoint):
        (WebCore::Path::contains):
        (WebCore::Path::translate):
        (WebCore::Path::boundingRect):
        (WebCore::Path::moveTo):
        (WebCore::Path::addLineTo):
        (WebCore::Path::addQuadCurveTo):
        (WebCore::Path::addBezierCurveTo):
        (WebCore::Path::addArcTo):
        (WebCore::Path::closeSubpath):
        (WebCore::Path::addArc):
        (WebCore::Path::addRect):
        (WebCore::Path::addEllipse):
        (WebCore::Path::clear):
        (WebCore::Path::isEmpty):
        (WebCore::Path::debugString):
        (WebCore::Path::apply):
        (WebCore::Path::transform):
        (WebCore::Path::strokeBoundingRect):

2009-08-12  Lyon Chen  <lyon.chen@torchmobile.com>

        Reviewed by George Staikos.

        WINCE PORT: Implement Keygen for WINCE
        https://bugs.webkit.org/show_bug.cgi?id=27543

        * platform/wince/KeygenWince.cpp: Added.

2009-08-12  Brent Fulgham  <bfulgham@webkit.org>

        Rubber-stamped by Kevin Ollivier.

        Handle crash in wx due to null value passed to strlen in
        the CString constructor.

        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::certificatePath):  Check for null return from getenv
        and use default CString constructor instead.

2009-08-12  Yong Li  <yong.li@torchmobile.com>

        Reviewed by Eric Seidel.

        WINCE PORT: simple stubs to make it build for WINCE
        https://bugs.webkit.org/show_bug.cgi?id=27543

        * platform/wince/DragDataWince.cpp: Added.
        * platform/wince/DragImageWince.cpp: Added.
        * platform/wince/EditorWince.cpp: Added.
        * platform/wince/KURLWince.cpp: Added.

2009-08-12  Yong Li  <yong.li@torchmobile.com>

        Reviewed by George Staikos.

        WINCEPORT: FileSystem and FileChooser
        https://bugs.webkit.org/show_bug.cgi?id=27543

        * platform/wince/FileChooserWince.cpp: Added.
        * platform/wince/FileSystemWince.cpp: Added.

2009-08-12  Yong Li  <yong.li@torchmobile.com>

        Reviewed by Eric Seidel.

        WINCE PORT: implement Cursor for WINCE. There's no real cursor on most
        WinMob devices. We pass the cursor info to application, which so that 
        can determine what to do.
        https://bugs.webkit.org/show_bug.cgi?id=27543

        * platform/wince/CursorWince.cpp: Added.

2009-08-12  Yong Li  <yong.li@torchmobile.com>

        Reviewed by George Staikos.

        WINCE PORT: MIMETypeRegistry
        https://bugs.webkit.org/show_bug.cgi?id=27543

        * platform/wince/MIMETypeRegistryWince.cpp: Added.

2009-08-12  Joe Mason  <joe.mason@torchmobile.com>

        Reviewed by George Staikos.

        WINCE PORT: Pasteboard and SearchPopupMenu
        https://bugs.webkit.org/show_bug.cgi?id=27543

        * platform/wince/PasteboardWince.cpp: Added.
        * platform/wince/SearchPopupMenuWince.cpp: Added.

2009-08-12  Yong Li  <yong.li@torchmobile.com>

        Reviewed by George Staikos.

        WINCE PORT: Add SharedTimerWince.cpp and SystemTimeWince.cpp
        https://bugs.webkit.org/show_bug.cgi?id=27543

        * platform/wince/SharedTimerWince.cpp: Added.
        * platform/wince/SystemTimeWince.cpp: Added.

2009-08-12  Mark Mentovai  <mark@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=28204
        Allow C++ exceptions to be disabled in WebCore's V8 Mac build.

        * WebCorePrefix.h:
        Only undefine |try| and |catch| when building Objective-C[++],
        leaving the C++ library definitions intact for C++.

2009-08-12  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Add a Custom Setter for DOMWindowEvent in the V8 bindings.
        https://bugs.webkit.org/show_bug.cgi?id=27719

        Tests: fast/events/set-event-in-another-frame.html
               fast/events/set-event-to-null.html

        * bindings/scripts/CodeGeneratorV8.pm: Clean up custom getter/setter code, 
            as it currently doesn't support a custom getter 
            and a v8-specific custom setter simultaneously.
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * page/DOMWindow.idl:

2009-08-12  Peter Kasting  <pkasting@google.com>

        Reviewed by Adam Treat.

        https://bugs.webkit.org/show_bug.cgi?id=27965
        Merge wx/ImageSourceWx.cpp into ImageSource.cpp.  No changes to
        ImageSource.cpp were needed, so this just deletes ImageSourceWx.cpp.

        * WebCore.gypi:
        * WebCoreSources.bkl:
        * platform/graphics/wx/ImageSourceWx.cpp: Removed.
        * webcore-wx.bkl:

2009-08-12  Peter Kasting  <pkasting@google.com>

        Reviewed by Dave Levin.

        https://bugs.webkit.org/show_bug.cgi?id=27933
        Build fix after r47099.

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

2009-08-08  Yong Li  <yong.li@torchmobile.com>

        Reviewed by Adam Treat.

        WINCE PORT: Implement Path for WINCE. Most code can be
        reused for other ports that don't have native path support
        https://bugs.webkit.org/show_bug.cgi?id=28188

        Written also by George Staikos (including quadCurve() and bezier())

        * platform/graphics/wince/PathWince.cpp: Added.
        * platform/graphics/wince/PlatformPathWince.cpp: Added.
        * platform/graphics/wince/PlatformPathWince.h: Added.
        * platform/graphics/wince/WinceGraphicsExtras.h: Added.

2009-08-12  Joseph Pecoraro  <joepeck02@gmail.com>

        "Double-click to add" new style button does not always show up [quick fix]
        https://bugs.webkit.org/show_bug.cgi?id=28187

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle):

2009-08-12  Crystal Zhang <crystal.zhang@torchmobile.com>

        Reviewed by George Staikos.

        WINCE PORT: MediaPlayerProxy and MediaPlayerPrivate
        https://bugs.webkit.org/show_bug.cgi?id=28178

        * platform/graphics/wince/MediaPlayerPrivateWince.h: Added.
        * platform/graphics/wince/MediaPlayerProxy.cpp: Added.
        * platform/graphics/wince/MediaPlayerProxy.h: Added.

2009-08-12  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Eric Seidel.

        HTML 5 database and LocalStorage is not persistent on the Symbian port of QtWebKit
        https://bugs.webkit.org/show_bug.cgi?id=28175

        Call QDir::toNativeSeparators() before the path is passed to the OS.

        Based on work by David Leong.
        
        * platform/qt/FileSystemQt.cpp:
        (WebCore::pathByAppendingComponent):

2009-08-12  Dirk Schulze  <krit@webkit.org>

        Reviewed by Ariya Hidayat.

        Minor build-fix for SVG Filter. Use getUnmultipliedImageData instead
        of getImageData. This changed since r47099.

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

2009-08-12  Viet-Trung Luu  <viettrungluu@gmail.com>

        Reviewed by Dimitri Glazkov.

        Explicitly set control tints for Chromium/Mac, since the controls'
        NSCell(s) lack an NSView and hence their tint isn't updated
        automatically when the application is activated/deactivated.
        https://bugs.webkit.org/show_bug.cgi?id=28108
        http://crbug.com/18199

        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::updateNSCellControlTint):
        (WebCore::RenderThemeChromiumMac::paintCheckbox):
        (WebCore::RenderThemeChromiumMac::paintRadio):
        (WebCore::RenderThemeChromiumMac::paintButton):
        (WebCore::RenderThemeChromiumMac::paintMenuList):
        (WebCore::RenderThemeChromiumMac::paintSliderThumb):
        (WebCore::RenderThemeChromiumMac::paintSearchField):
        (WebCore::RenderThemeChromiumMac::paintSearchFieldCancelButton):
        (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):

2009-08-12  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>

        Reviewed by Dimitri Glazkov.

        [V8] Fix atomic string externalization crash.
        Atomic string externalization assumes that all non-empty strings
        can be externalized which is untrue on 64-bit.  This change fixed
        that.

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

        This bug causes loads of test crashes, no need to add new tests
        specifically for this.

        * bindings/v8/V8Binding.cpp:
        (WebCore::v8StringToAtomicWebCoreString):

2009-08-12  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Reviewed by Holger Freyther.

        [Qt] Fix box-shadow painting in r47103. The edge should not be blurry.
        Also optimize by not having to save and restore painter state.

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

2009-08-12  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Reviewed by Adam Treat.

        [Qt] Fix coding style in GraphicsContextQt.cpp

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::toQtCompositionMode):
        (WebCore::toQtLineCap):
        (WebCore::toQtLineJoin):
        (WebCore::GraphicsContextPlatformPrivate::p):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::pen):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::clipPath):
        (WebCore::GraphicsContext::drawFocusRing):
        (WebCore::GraphicsContext::beginTransparencyLayer):
        (WebCore::GraphicsContext::endTransparencyLayer):
        (WebCore::GraphicsContext::clearRect):
        (WebCore::GraphicsContext::setLineCap):
        (WebCore::GraphicsContext::setLineJoin):
        (WebCore::GraphicsContext::setMiterLimit):
        (WebCore::GraphicsContext::setAlpha):
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::clipOutEllipseInRect):
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        (WebCore::GraphicsContext::setPlatformStrokeColor):
        (WebCore::GraphicsContext::setPlatformStrokeStyle):
        (WebCore::GraphicsContext::setPlatformStrokeThickness):

2009-08-12  Szabo Carol  <carol.szabo@nokia.com>

        Reviewed by Simon Hausmann and Ariya Hidayat.

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

        [Qt] Partial support for -webkit-box-shadow. Blur is not support and
        the shadow still does not go well with border radius.

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

2009-08-12  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        Use AM_V_GEN in a few more places, for less noisy builds.

        * GNUmakefile.am:

2009-08-12  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        SVG Filter premultiplied color support for getImageDate/putImageData
        [https://bugs.webkit.org/show_bug.cgi?id=27933]

        Some SVG Filters need premultiplied ImageData for the calculation. Therefore getImageData
        and putImageData of ImageBuffer need support for premultiplied colors.

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::getImageData):
        (WebCore::CanvasRenderingContext2D::putImageData):
        * platform/graphics/ImageBuffer.h:
        (WebCore::):
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::getImageData):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::putImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::getImageData):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::putImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::getImageData):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::putImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::getImageData):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::putImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):
        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):
        * svg/graphics/SVGResourceMasker.cpp:
        (WebCore::SVGResourceMasker::applyMask):

2009-08-12  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Timothy Hatcher.

        Changed Number.bytesToString to support low-resolution output.

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

        * inspector/front-end/utilities.js:
        (Number.bytesToString):

2009-08-12  Prasanth Ullattil  <prasanth.ullattil@nokia.com>

        Reviewed by Simon Hausmann.

        Add support for hooking BeginPaint/EndPaint on 64Bit Windows

        Webkit uses the runtime patching trick explained by "Feng Yuan" for
        hooking these paint functions. It currently supports only 32bit assembly
        code. This patch adds support for 64Bit version. Since inline-assemblies
        are not supported for 64Bit, we have use a seperate .asm file.

        * WebCore.pro:
        * plugins/win/PaintHooks.asm: Added.
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::hookedBeginPaint):
        (WebCore::PluginView::hookedEndPaint):
        (WebCore::hook):

2009-08-11  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        Make it harder to misuse try* allocation routines
        https://bugs.webkit.org/show_bug.cgi?id=27469

        Add forwarding header for PossiblyNull type, and add missing null check
        to ImageBuffer creation.

        * ForwardingHeaders/wtf/PossiblyNull.h: Added.
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::ImageBuffer):

2009-08-11  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Restrict use of FuncDeclNode & FuncExprNode to the parser.
        https://bugs.webkit.org/show_bug.cgi?id=28209

        * inspector/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
            Function signature change.

2009-08-11  Peter Kasting  <pkasting@google.com>

        Reviewed by Adam Treat.

        https://bugs.webkit.org/show_bug.cgi?id=27965
        Merge skia/ImageSourceSkia.cpp into ImageSource.cpp.

        * WebCore.gypi: Remove deleted file, plus a file that was deleted a while back.
        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::setData): Use slightly shorter syntax.
        (WebCore::ImageSource::filenameExtension): Use shorter syntax.
        (WebCore::ImageSource::createFrameAtIndex): Remove redundant call, clarify comments, reject all empty images.
        (WebCore::ImageSource::frameHasAlphaAtIndex): Clarify comments, use shorter syntax.
        * platform/graphics/skia/ImageSourceSkia.cpp: Removed.

2009-08-11  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        SharedWorkers do not exit when the last parent document exits
        https://bugs.webkit.org/show_bug.cgi?id=28170

        Prevents Documents from being suspended/placed in the page cache if they are associated with shared workers.

        Added vector cache instead of nested hash tables for SharedWorker repository.

        Added SharedWorkerRepository::documentDetached API.

        * dom/Document.cpp:
        (WebCore::Document::detach):
        Notifies SharedWorkerRepository when the document is closing.
        * loader/FrameLoader.cpp:
        Updated FrameLoader to not cache the Document if it is associated with a SharedWorker (since we can't suspend workers yet, we need to shut them down).
        (WebCore::FrameLoader::canCachePageContainingThisFrame):
        (WebCore::FrameLoader::logCanCacheFrameDecision):
        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::SharedWorkerProxy::create):
        (WebCore::SharedWorkerProxy::isClosing):
        Renamed from closing().
        (WebCore::SharedWorkerProxy::matches):
        Added manual equality function to replace old hash lookup.
        (WebCore::SharedWorkerProxy::isDocumentInWorkerDocuments):
        Checks to see if a document is in the worker's list of documents. Used to determine if page is suspendable.
        (WebCore::SharedWorkerProxy::SharedWorkerProxy):
        (WebCore::SharedWorkerProxy::addToWorkerDocuments):
        Added tracking of the worker's list of documents for lifecycle purposes.
        (WebCore::SharedWorkerProxy::documentDetached):
        Shuts down the proxy when the last associated document is detached.
        (WebCore::SharedWorkerProxy::close):
        Marks the proxy as closed so it is no longer shared with new instances.
        (WebCore::SharedWorkerProxy::workerContextDestroyed):
        Removes the proxy from the repository/frees the proxy when the associated SharedWorkerContext is destroyed.
        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
        closing()->isClosing()
        (WebCore::SharedWorkerRepository::documentDetached):
        (WebCore::SharedWorkerRepository::hasSharedWorkers):
        Used by FrameLoader to determine if a page has shared workers and so cannot be suspended/cached.
        (WebCore::DefaultSharedWorkerRepository::hasSharedWorkers):
        (WebCore::DefaultSharedWorkerRepository::removeProxy):
        Invoked by workerContextDestroyed() to remove a SharedWorkerProxy from the repository.
        (WebCore::DefaultSharedWorkerRepository::documentDetached):
        (WebCore::DefaultSharedWorkerRepository::connectToWorker):
        (WebCore::DefaultSharedWorkerRepository::getProxy):
        * workers/DefaultSharedWorkerRepository.h:
        * workers/SharedWorkerRepository.h:

2009-08-11  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 28200 - ListMarker should be included as part of the text value to parse
        https://bugs.webkit.org/show_bug.cgi?id=28200

        When returning text through the marker range attributes, the list marker text should
        also be included. It isn't included by default because a TextIterator is used which
        only looks at Nodes for text. A list marker does not have a corresponding node,
        so its text is not returned through accessibility. That is, until now.

        Test: platform/mac/accessibility/string-range-contains-listmarker.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::listMarkerTextForRange):
        (WebCore::AccessibilityObject::stringForVisiblePositionRange):
        * accessibility/AccessibilityObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
        * rendering/RenderListItem.h:

        Make markerText() public so that accessibility code can access it.

2009-08-11  Peter Kasting  <pkasting@google.com>

        Reviewed by Adam Treat.

        https://bugs.webkit.org/show_bug.cgi?id=27965
        Move cairo/ImageSourceCairo.cpp to ImageSource.cpp in preparation for
        merging most of the other ImageSource*.cpp files with it.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/ImageSource.cpp: Copied from WebCore/platform/graphics/cairo/ImageSourceCairo.cpp.
        * platform/graphics/cairo/ImageSourceCairo.cpp: Removed.

2009-08-10  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        Cairo-based Windows port does not handle the https protocol.
        https://bugs.webkit.org/show_bug.cgi?id=28171.

        No new tests needed.  Existing https tests show this failure
        for WinCairo builds.

        * WebCore.vcproj/WebCoreCURL.vsprops: Add a few preprocessor
          definitions for SSL support in cURL.
        * platform/network/curl/ResourceHandleManager.h: Add new
          certificate path member variable.
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::certificateBundlePath): New method to retrieve the
          proper certificate resource bundle path.
        (WebCore::ResourceHandleManager::initializeHandle): Check for
          the resource bundle and use if available to activate SSL
          support.

2009-08-11  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        [Haiku] Use Clipboard::create() instead of the constructor of Clipboard.
        https://bugs.webkit.org/show_bug.cgi?id=28127

        * editing/haiku/EditorHaiku.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * page/haiku/EventHandlerHaiku.cpp:
        (WebCore::EventHandler::passWheelEventToWidget):
        (WebCore::EventHandler::createDraggingClipboard):
        * platform/haiku/ClipboardHaiku.cpp: Style cleanup. There were many whitespace end of lines.
        (WebCore::ClipboardHaiku::ClipboardHaiku):
        (WebCore::ClipboardHaiku::clearAllData):
        (WebCore::ClipboardHaiku::getData):
        (WebCore::ClipboardHaiku::setData):
        (WebCore::ClipboardHaiku::types):
        (WebCore::ClipboardHaiku::dragLocation):
        (WebCore::ClipboardHaiku::dragImage):
        (WebCore::ClipboardHaiku::setDragImage):
        (WebCore::ClipboardHaiku::dragImageElement):
        (WebCore::ClipboardHaiku::createDragImage):
        (WebCore::ClipboardHaiku::declareAndWriteDragImage):
        (WebCore::ClipboardHaiku::writeURL):
        (WebCore::ClipboardHaiku::writeRange):
        (WebCore::ClipboardHaiku::hasData):
        * platform/haiku/DragDataHaiku.cpp:
        (WebCore::DragData::createClipboard):

2009-08-11  Drew Wilson  <atwilson@google.com>

        Reviewed by NOBODY (build break).

        Speculative GTK build fix

        * GNUmakefile.am:
        Added missing .idl file, and added notifications directory to IDL_PATH.

2009-08-11  Drew Wilson  <atwilson@google.com>

        Reviewed by NOBODY (build break).

        Speculative Windows build fix

        * WebCore.vcproj/WebCore.vcproj:
        Added missing build steps for non-debug targets.

2009-08-11  Drew Wilson <atwilson@google.com>

        Reviewed by NOBODY (build break)

        Speculative build fix for Qt build.

        * WebCore.pro: Added /notifications to include path

2009-08-11  John Gregg  <johnnyg@google.com>

        Reviewed by Maciej Stachowiak.

        Desktop Notifications API
        https://bugs.webkit.org/show_bug.cgi?id=25463

        Adds an implementation of desktop notifications, behind the compile-time
        flag ENABLE(NOTIFICATIONS).  This code simply relays calls on the JavaScript
        API through a NotificationProvider interface, which must provide the services
        to actually notify the user and manage the desktop.  This provider is injected
        into WebKit through the ChromeClient for normal page contexts and through the
        WorkerThread for worker contexts.

        A permissions API is defined on a per-origin basis, which allows a web page
        to check if its origin is allowed to show desktop notifications, and to request
        permission for its origin.

        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/js/JSDesktopNotificationsCustom.cpp: Added.
        (WebCore::JSNotificationCenter::requestPermission):
        (WebCore::JSNotification::addEventListener):
        (WebCore::JSNotification::removeEventListener):
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        (WebCore::toEventTarget):
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::toNotification):
        * dom/EventTarget.h:
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::notificationPresenter):
        * notifications: Added.
        * notifications/Notification.cpp: Added.
        (WebCore::Notification::Notification):
        (WebCore::Notification::~Notification):
        (WebCore::Notification::show):
        (WebCore::Notification::cancel):
        (WebCore::Notification::ondisplay):
        (WebCore::Notification::setOndisplay):
        (WebCore::Notification::onerror):
        (WebCore::Notification::setOnerror):
        (WebCore::Notification::onclose):
        (WebCore::Notification::setOnclose):
        (WebCore::Notification::getAttributeEventListener):
        (WebCore::Notification::setAttributeEventListener):
        (WebCore::Notification::clearAttributeEventListener):
        (WebCore::Notification::dispatchDisplayEvent):
        (WebCore::Notification::dispatchErrorEvent):
        (WebCore::Notification::dispatchCloseEvent):
        (WebCore::Notification::addEventListener):
        (WebCore::Notification::removeEventListener):
        (WebCore::Notification::handleEvent):
        (WebCore::Notification::dispatchEvent):
        * notifications/Notification.h: Added.
        (WebCore::Notification::create):
        (WebCore::Notification::isHTML):
        (WebCore::Notification::url):
        (WebCore::Notification::contents):
        (WebCore::Notification::scriptExecutionContext):
        (WebCore::Notification::toNotification):
        (WebCore::Notification::refEventTarget):
        (WebCore::Notification::derefEventTarget):
        * notifications/Notification.idl: Added.
        * notifications/NotificationCenter.cpp: Added.
        (WebCore::NotificationCenter::NotificationCenter):
        (WebCore::NotificationCenter::checkPermission):
        (WebCore::NotificationCenter::requestPermission):
        * notifications/NotificationCenter.h: Added.
        (WebCore::NotificationCenter::create):
        (WebCore::NotificationCenter::createHTMLNotification):
        (WebCore::NotificationCenter::createNotification):
        (WebCore::NotificationCenter::context):
        (WebCore::NotificationCenter::presenter):
        * notifications/NotificationCenter.idl: Added.
        * notifications/NotificationContents.h: Added.
        (WebCore::NotificationContents::NotificationContents):
        (WebCore::NotificationContents::icon):
        (WebCore::NotificationContents::title):
        (WebCore::NotificationContents::body):
        * notifications/NotificationPresenter.h: Added.
        (WebCore::NotificationPresenter::):
        (WebCore::NotificationPresenter::~NotificationPresenter):
        * page/Chrome.cpp:
        (WebCore::Chrome::notificationPresenter):
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::clear):
        (WebCore::DOMWindow::webkitNotifications):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        * page/Page.h:
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::~WorkerContext):
        (WebCore::WorkerContext::webkitNotifications):
        * workers/WorkerContext.h:
        * workers/WorkerContext.idl:
        * workers/WorkerThread.h:
        (WebCore::WorkerThread::getNotificationPresenter):
        (WebCore::WorkerThread::setNotificationPresenter):

2009-08-11  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Timothy Hatcher.

        Inspector: Console Drawer is Toggling instead of Staying Open
        https://bugs.webkit.org/show_bug.cgi?id=28115

        * inspector/front-end/Drawer.js:
        (WebInspector.Drawer.prototype.showView): ensures the drawer will be open and showing the provided view
        * inspector/front-end/inspector.js:
        (WebInspector.showConsole): usees the new showView to guarantee the Drawer will be open
        (WebInspector.showChanges): uses the new showView guarantee the Drawer will be open

2009-08-11  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        [WML] WMLPageState is not allowed to store the active card, it needs to be done per document
        https://bugs.webkit.org/show_bug.cgi?id=28180

        Don't store the active WMLCardElement in WMLPageState, but in WMLDocument.
        Otherwhise this may lead to crashes related to intrinsic event exeuction.

        Unfortunately select elements aren't testable by the layout tests, so adding
        a new manual test reproducing the crash.

        * manual-tests/wml/select-onpick-event-crash.wml: Added.
        * wml/WMLCardElement.cpp:
        (WebCore::WMLCardElement::determineActiveCard):
        * wml/WMLDoElement.cpp:
        (WebCore::WMLDoElement::defaultEventHandler):
        * wml/WMLDocument.cpp:
        (WebCore::WMLDocument::finishedParsing):
        * wml/WMLDocument.h:
        (WebCore::WMLDocument::activeCard):
        * wml/WMLGoElement.cpp:
        (WebCore::WMLGoElement::executeTask):
        * wml/WMLPageState.cpp:
        (WebCore::WMLPageState::WMLPageState):
        * wml/WMLPageState.h:
        * wml/WMLPrevElement.cpp:
        (WebCore::WMLPrevElement::executeTask):
        * wml/WMLRefreshElement.cpp:
        (WebCore::WMLRefreshElement::executeTask):

2009-08-07  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=28073
        Treat icons with no bit count and no color count as 256-color for
        purposes of quality ranking.  Also fix a couple cases of a style
        violation.

        Test: fast/images/icon-0colors.html

        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::processDirectory):
        (WebCore::ICOImageDecoder::readDirectoryEntry):

2009-08-11  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        Need to refactor WorkerObjectProxy.
        https://bugs.webkit.org/show_bug.cgi?id=28136

        Added WorkerReportingProxy for reporting worker state (exceptions, console messages, thread exited) to the parent.

        Existing tests are sufficient, as this is only a refactoring.

        * GNUmakefile.am:
        Added WorkerReportingProxy.h to build.
        * WebCore.gypi:
        Added WorkerReportingProxy.h to build.
        * WebCore.vcproj/WebCore.vcproj:
        Added WorkerReportingProxy.h to build.
        * WebCore.xcodeproj/project.pbxproj:
        Added WorkerReportingProxy.h to build.
        * workers/DedicatedWorkerContext.cpp:
        * workers/DedicatedWorkerContext.h:
        Removed addMessage/forwardException() APIs - now handled by WorkerReportingProxy.
        * workers/DedicatedWorkerThread.cpp:
        (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
        Changed constructor to pass WorkerReportingProxy to base class.
        * workers/DefaultSharedWorkerRepository.cpp:
        Updated SharedWorkerProxy to implement WorkerReportingProxy interface.
        (WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
        (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
        (WebCore::SharedWorkerProxy::workerContextClosed):
        (WebCore::SharedWorkerProxy::workerContextDestroyed):
        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
        Now passes in WorkerReportingProxy when creating SharedWorkerThread.
        * workers/SharedWorkerContext.cpp:
        * workers/SharedWorkerContext.h:
        Removed addMessage/forwardException() APIs - now handled by WorkerReportingProxy.
        * workers/SharedWorkerThread.cpp:
        (WebCore::SharedWorkerThread::create):
        (WebCore::SharedWorkerThread::SharedWorkerThread):
        Passes WorkerReportingProxy to base class constructor.
        * workers/SharedWorkerThread.h:
        Constructor now takes a WorkerReportingProxy.
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::~WorkerContext):
        Moved code that calls workerContextDestroyed() into base class so shared workers share this functionality.
        (WebCore::WorkerContext::close):
        Now notifies WorkerReportingProxy when the thread is closing.
        (WebCore::WorkerContext::reportException):
        Reports exceptions via WorkerReportingProxy.
        (WebCore::WorkerContext::addMessage):
        Reports console messages via WorkerReportingProxy.
        * workers/WorkerContext.h:
        * workers/WorkerObjectProxy.h:
        (WebCore::WorkerObjectProxy::workerContextClosed):
        Default empty implementation for dedicated workers.
        * workers/WorkerReportingProxy.h: Added.
        Base interface that contains APIs moved from WorkerObjectProxy.
        (WebCore::WorkerReportingProxy::~WorkerReportingProxy):
        * workers/WorkerThread.cpp:
        (WebCore::WorkerThread::WorkerThread):
        Updated constructor to accept a WorkerReportingProxy.
        * workers/WorkerThread.h:
        (WebCore::WorkerThread::workerReportingProxy):

2009-08-11  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by NOBODY (build fix).

        Fix the Qt build after r47022.

        Use the new markChildren() pattern for marking aggregate/child objects.

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtRuntimeObjectImp::markChildren):
        (JSC::Bindings::QtInstance::markAggregate):
        * bridge/qt/qt_instance.h:
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
        * bridge/qt/qt_runtime.h:

2009-08-11  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Holger Freyther.

        Fix the build on the Qt build bot by making the generated JS bindings
        files depend on the code generator itself.

        * WebCore.pro:

2009-08-07  Oliver Hunt  <oliver@apple.com>

        Reviewed by Sam Weinig

        Stack overflow crash in JavaScript garbage collector mark pass
        https://bugs.webkit.org/show_bug.cgi?id=12216

        Make WebCore use the new iterative marking logic.

        Tests: fast/js/nested-object-gc.html

        * bindings/js/JSAbstractWorkerCustom.cpp:
        (WebCore::JSAbstractWorker::markChildren):
        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        (WebCore::JSDOMApplicationCache::markChildren):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::markDOMNodesForDocument):
        (WebCore::markActiveObjectsForContext):
        (WebCore::markDOMObjectWrapper):
        * bindings/js/JSDOMBinding.h:
        (WebCore::DOMObjectWithGlobalPointer::markChildren):
        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::JSDOMGlobalObject::markChildren):
        * bindings/js/JSDOMGlobalObject.h:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::markChildren):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::markChildren):
        * bindings/js/JSDOMWindowShell.h:
        * bindings/js/JSDedicatedWorkerContextCustom.cpp:
        (WebCore::JSDedicatedWorkerContext::markChildren):
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::markChildren):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::markJSFunction):
        * bindings/js/JSEventListener.h:
        * bindings/js/JSMessageChannelCustom.cpp:
        (WebCore::JSMessageChannel::markChildren):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::markChildren):
        * bindings/js/JSNavigatorCustom.cpp:
        (WebCore::JSNavigator::markChildren):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::markChildren):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::markAggregate):
        * bindings/js/JSNodeFilterCondition.h:
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::JSNodeFilter::markChildren):
        * bindings/js/JSNodeIteratorCustom.cpp:
        (WebCore::JSNodeIterator::markChildren):
        * bindings/js/JSQuarantinedObjectWrapper.cpp:
        (WebCore::JSQuarantinedObjectWrapper::markChildren):
        * bindings/js/JSQuarantinedObjectWrapper.h:
        * bindings/js/JSSVGElementInstanceCustom.cpp:
        (WebCore::JSSVGElementInstance::markChildren):
        * bindings/js/JSSharedWorkerCustom.cpp:
        (WebCore::JSSharedWorker::markChildren):
        * bindings/js/JSStyleSheetCustom.cpp:
        (WebCore::JSStyleSheet::markChildren):
        * bindings/js/JSTreeWalkerCustom.cpp:
        (WebCore::JSTreeWalker::markChildren):
        * bindings/js/JSWebSocketCustom.cpp:
        (WebCore::JSWebSocket::markChildren):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::markChildren):
        * bindings/js/JSWorkerCustom.cpp:
        (WebCore::JSWorker::markChildren):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::markChildren):
        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
        (WebCore::JSXMLHttpRequestUpload::markChildren):
        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/EventListener.h:
        (WebCore::EventListener::markJSFunction):
        (WebCore::markIfNotNull):
        * dom/NodeFilter.h:
        (WebCore::NodeFilter::markAggregate):
        * dom/NodeFilterCondition.h:
        (WebCore::NodeFilterCondition::markAggregate):
        * dom/RegisteredEventListener.h:
        (WebCore::markEventListeners):
        * page/DOMWindow.h:
        * workers/WorkerContext.h:

2009-08-10  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Eric Seidel.

        Renamed all V8 NPN_ functions to _NPN_ to match JSC and make them "private".
        https://bugs.webkit.org/show_bug.cgi?id=28089

        Rename all the NPN_foo functions to _NPN_foo so that they can't directly be
        called by mistake.  This roughly matches the way JSC does it, which is an
        additional advantage.

        * bindings/v8/NPV8Object.cpp:
        (npCreateV8ScriptObject):
        (_NPN_Invoke):
        (_NPN_InvokeDefault):
        (_NPN_Evaluate):
        (_NPN_EvaluateHelper):
        (_NPN_GetProperty):
        (_NPN_SetProperty):
        (_NPN_RemoveProperty):
        (_NPN_HasProperty):
        (_NPN_HasMethod):
        (_NPN_SetException):
        (_NPN_Enumerate):
        (_NPN_Construct):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::clearScriptObjects):
        (WebCore::ScriptController::createScriptInstanceForWidget):
        (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
        * bindings/v8/V8NPObject.cpp:
        (npObjectInvokeImpl):
        (npObjectGetProperty):
        (npObjectIndexedPropertyGetter):
        (npObjectGetIndexedProperty):
        (npObjectSetProperty):
        (npObjectIndexedPropertySetter):
        (npObjectSetIndexedProperty):
        (weakNPObjectCallback):
        (createV8ObjectForNPObject):
        (forgetV8ObjectForNPObject):
        * bindings/v8/V8NPUtils.cpp:
        (getStringIdentifier):
        * bindings/v8/npruntime.cpp:
        * bindings/v8/npruntime_impl.h:

2009-08-10  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Brady Eidson.

        Change ___Storage.key() to match current spec behavior.
        https://bugs.webkit.org/show_bug.cgi?id=28112

        The current WebStorage spec says that ___Storage.key() should return null when
        the index is out of bounds, rather than an exception.  A bunch of logic can be
        simplified after this change.

        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::getPropertyNames):
        * bindings/v8/custom/V8StorageCustom.cpp:
        (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
        * storage/Storage.cpp:
        (WebCore::Storage::key):
        * storage/Storage.h:
        * storage/Storage.idl:
        * storage/StorageArea.h:
        * storage/StorageAreaImpl.cpp:
        (WebCore::StorageAreaImpl::key):
        * storage/StorageAreaImpl.h:
        * storage/StorageMap.cpp:
        (WebCore::StorageMap::key):
        * storage/StorageMap.h:

2009-08-07  Michael Nordman  <michaeln@google.com>

        Reviewed by Darin Fisher.

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

        Mods for a chrome specific impl of ApplicationCacheHost.

        * The public section of the interface is the same, but we use
        PLATFORM(CHROMIUM) to identify which parts of the private
        section are shared. The chrome specific internals are encapsulated
        in a seperate ApplicationCacheHostInternal class. WebCore common
        code only contains a forward reference to this class.

        * Cleanup a couple of stale comments.

        * Have window.applicationCache return null to script when the
        feature is disabled in the preferences.
        
        No new tests.

        * loader/appcache/ApplicationCacheHost.cpp:
        * loader/appcache/ApplicationCacheHost.h:
        (WebCore::ApplicationCacheHost::documentLoader):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::applicationCache):

2009-08-10  Crystal Zhang  <crystal.zhang@torchmobile.com>

        Reviewed by George Staikos.

        Implement GraphicsContext::fillRoundRect() for WINCE port
        https://bugs.webkit.org/show_bug.cgi?id=27842

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::rectCenterPoint):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::drawRoundCorner):

2009-08-10  Anthony Ricaud  <rik@webkit.org>

        Reviewed by Timothy Hatcher.

        Inspector Resources / Graphs should support filtering
        https://bugs.webkit.org/show_bug.cgi?id=20629

        Introduces a filter bar for resources.

        Thanks to Matt Lilek for the CSS scope bar.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.createFilterElement):
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype.toolbarItemClass.categoryOrder.filter):
        (WebInspector.ResourcesPanel.prototype._updateFilter):
        (WebInspector.ResourcesPanel.prototype._updateSummaryGraph):
        * inspector/front-end/inspector.css:
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):

2009-08-10  Brent Fulgham  <bfulgham@webkit.org>

        Unreviewed build correction after http://trac.webkit.org/changeset/46978

        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::initializeHandle):  Correct
         deprecated removeRef to new removeFragmentIdentifier.

2009-08-07  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Justin Garcia.

        Background color formatting lost on enter
        https://bugs.webkit.org/show_bug.cgi?id=20348

        This patch makes background color be preserved during editing.
        In particular, editingStyleAtPosition would include the background color when obtaining styles.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::): Added CSSPropertyBackgroundColor to editingStyleProperties

2009-08-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Hausmann.

        Stop sending QEvent::CursorChange to Qt for mouse move.

        Verify if the cursor didn't change in WidgetQt::setCursor,
        just like the mac port does.

        Thanks to Adriano Rezendo for spotting and debugging the
        issue.

        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::setCursor):

2009-08-10  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Brady Eidson.

        https://bugs.webkit.org/show_bug.cgi?id=28165
        Application cache maximum size cannot be set before the database is opened

        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::vacuumDatabaseFile): Open appcache database if it isn't
        open yet.

2009-08-10  Vitaly Repeshko  <vitalyr@quad.spb.corp.google.com>

        Reviewed by Dimitri Glazkov.

        [V8] Fix memory leak in node event listeners. See http://crbug.com/17400.
        https://bugs.webkit.org/show_bug.cgi?id=28156

        * bindings/scripts/CodeGeneratorV8.pm: Custom event handler accessors now apply to all Node descendants.
        * bindings/v8/V8AbstractEventListener.h:
        (WebCore::V8AbstractEventListener::isObjectListener): Added virtual method to detect listeners that have weak references to JS objects.
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate):
        * bindings/v8/V8ObjectEventListener.cpp:
        * bindings/v8/V8ObjectEventListener.h:
        (WebCore::V8ObjectEventListener::isObjectListener):
        * bindings/v8/V8Utilities.cpp:
        (WebCore::removeHiddenDependency):
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8ElementCustom.cpp:
        * bindings/v8/custom/V8NodeCustom.cpp: Moved custom accessors from V8ElementCustom.cpp.
        (WebCore::toEventType):
        (WebCore::getEventListener):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::getEventListener): Made static.

2009-08-10  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        Cleanup DOM Storage namespace shutdown code + usage of security origin.
        https://bugs.webkit.org/show_bug.cgi?id=28094

        If a storage namespace is not explicitly closed, be sure to do so on
        destruction of the object.  In addition, the close call should wait
        on the background thread finishing its syncing.  (Not doing so is actually
        a regression from the original LocalStorage code.)

        There's no point to passing in the SecurityOrigin when copying a storage
        area since what was passed in is exactly what is stored within each
        storage area.  In addition, the non-copy constructor should take in a
        PassRefPtr rather than a pointer since that pointer was only passed into
        the constuctor for RefPtr's anyway.

        * storage/StorageAreaImpl.cpp:
        (WebCore::StorageAreaImpl::StorageAreaImpl):
        (WebCore::StorageAreaImpl::copy):
        * storage/StorageAreaImpl.h:
        * storage/StorageNamespaceImpl.cpp:
        (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
        (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
        (WebCore::StorageNamespaceImpl::copy):
        (WebCore::StorageNamespaceImpl::close):
        * storage/StorageNamespaceImpl.h:

2009-08-10  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Not reviewed, build fix.

        Rename ref() to fragmentIdentifier() in the wml/ subdirectory.

        * wml/WMLCardElement.cpp:
        (WebCore::WMLCardElement::determineActiveCard):
        * wml/WMLGoElement.cpp:
        (WebCore::WMLGoElement::executeTask):
        * wml/WMLPageState.cpp:
        (WebCore::WMLPageState::canAccessDeck):

2009-08-10  Steve Falkenburg  <sfalken@apple.com>

        Windows build fix.

        Exclude JSMedia.cpp from build since it is included in DerivedSources.cpp.
        Fixes linker warnings.        
        
        Corrected spelling of JSInspectorBackend.cpp.
        
        Other changes related to actually using a Visual Studio to open/save the vcproj file.

        * WebCore.vcproj/WebCore.vcproj:

2009-08-10  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Remove a dead #define.

        * bindings/js/JSDOMBinding.cpp:

2009-08-10  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        [Chromium] Update KURLGoogle for ref* method renames in
        http://trac.webkit.org/changeset/46978.
        https://bugs.webkit.org/show_bug.cgi?id=28084

        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::ACCESSOR_SETTER): Renamed ref and setRef to fragmentIdentifier and
            setFragmentIdentifier, respectively.
        * platform/KURLGoogle.cpp: Ditto, plus all other ref* method names.

2009-08-10  Jan Michael Alonzo  <jmalonzo@webkit.org>

        [Gtk] Unreviewed. Fix the nit as suggested by Darin in bug #28144
        for r46989.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::finishedCallback):

2009-08-10  John Kjellberg  <john.kjellberg@power.alstom.com>

        Reviewed by Darin Adler.

        Memory leak in error handling code for SOUP interface
        https://bugs.webkit.org/show_bug.cgi?id=28144

        Freed memory leaked in error handling code for soup requests.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::finishedCallback):
        (WebCore::):

2009-08-10  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Provide graceful handling of the situation when an embedder invokes
        visited link update methods before a Page constructor has been called.
        https://bugs.webkit.org/show_bug.cgi?id=28149

        * page/Page.cpp:
        (WebCore::Page::allVisitedStateChanged): Added a null-check for allPages.
        (WebCore::Page::visitedStateChanged): Ditto.

2009-08-10  Xan Lopez  <xlopez@igalia.com>

        Fix GTK+ build.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::):

2009-08-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        Remove the redundant, Windows CE-only GlyphBuffer::advnaceData()

        * platform/graphics/GlyphBuffer.h: Removed advanceData().
        * platform/graphics/wince/GraphicsContextWince.cpp:
        (WebCore::GraphicsContext::drawText): Changed to use advances(from)
            instead of advanceData() + from.

2009-08-10  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Remove workaround for older libsoup versions.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::fillResponseFromMessage):

2009-08-10  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Let startHttp validate the URI instead of doing it, with potential
        crashes, in ::start.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::startHttp):

2009-08-10  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        When empty <input> is focused, getSelection() exposes shadow tree nodes
        https://bugs.webkit.org/show_bug.cgi?id=15903

        Test: fast/forms/shadow-tree-exposure.html

        * page/DOMSelection.cpp:
        (WebCore::selectionShadowAncestor): Added.
        (WebCore::DOMSelection::anchorNode): Return the parent of the shadow
        ancestor if the selection is in a shadow tree. Matches Firefox.
        (WebCore::DOMSelection::anchorOffset): Return the index of the shadow
        ancestor if the selection is in a shadow tree. Matches Firefox.
        (WebCore::DOMSelection::focusNode): Ditto.
        (WebCore::DOMSelection::focusOffset): Ditto.
        (WebCore::DOMSelection::baseNode): More of the same, but since this
        is a WebKit-invented property, it does not match Firefox.
        (WebCore::DOMSelection::baseOffset): Ditto.
        (WebCore::DOMSelection::extentNode): Ditto.
        (WebCore::DOMSelection::extentOffset): Ditto.
        (WebCore::DOMSelection::isCollapsed): Return true even when the
        selection is a range, if the selection is in the shadow tree.
        Matches Firefox. Also changed behavior when called and the frame
        is gone to return true instead of false which makes more sense.
        (WebCore::DOMSelection::empty): Use clear() just like the other
        selection-clearing function in this file does.
        (WebCore::DOMSelection::getRangeAt): Return a range that starts
        and ends before the shadow ancestor. Matches Firefox.

2009-08-10  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Make all status bar button images glyph-based.

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

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        * inspector/front-end/Images/clearConsoleButtonGlyph.png: Added.
        * inspector/front-end/Images/clearConsoleButtons.png: Removed.
        * inspector/front-end/Images/consoleButtonGlyph.png: Added.
        * inspector/front-end/Images/consoleButtons.png: Removed.
        * inspector/front-end/Images/dockButtonGlyph.png: Added.
        * inspector/front-end/Images/dockButtons.png: Removed.
        * inspector/front-end/Images/enableButtons.png: Removed.
        * inspector/front-end/Images/enableOutlineButtonGlyph.png: Added.
        * inspector/front-end/Images/enableSolidButtonGlyph.png: Added.
        * inspector/front-end/Images/excludeButtonGlyph.png: Added.
        * inspector/front-end/Images/excludeButtons.png: Removed.
        * inspector/front-end/Images/focusButtonGlyph.png: Added.
        * inspector/front-end/Images/focusButtons.png: Removed.
        * inspector/front-end/Images/largerResourcesButtonGlyph.png: Added.
        * inspector/front-end/Images/largerResourcesButtons.png: Removed.
        * inspector/front-end/Images/nodeSearchButtonGlyph.png: Added.
        * inspector/front-end/Images/nodeSearchButtons.png: Removed.
        * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: Added.
        * inspector/front-end/Images/pauseOnExceptionButtons.png: Removed.
        * inspector/front-end/Images/percentButtonGlyph.png: Added.
        * inspector/front-end/Images/percentButtons.png: Removed.
        * inspector/front-end/Images/recordButtonGlyph.png: Added.
        * inspector/front-end/Images/recordButtons.png: Removed.
        * inspector/front-end/Images/recordToggledButtonGlyph.png: Added.
        * inspector/front-end/Images/reloadButtonGlyph.png: Added.
        * inspector/front-end/Images/reloadButtons.png: Removed.
        * inspector/front-end/Images/undockButtonGlyph.png: Added.
        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.createStatusBarButton):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        * inspector/front-end/inspector.html:

2009-08-07  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        KURL ref() methods should be fragmentIdentifier() methods 
        https://bugs.webkit.org/show_bug.cgi?id=28084

        In addition to the renames, also took the chance to replace all use of:
        setRef(String());
        with:
        removeFragmentIdentifier();

        * platform/KURL.cpp:
        (WebCore::KURL::fragmentIdentifier):
        (WebCore::KURL::hasFragmentIdentifier):
        (WebCore::KURL::setFragmentIdentifier):
        (WebCore::KURL::removeFragmentIdentifier):
        (WebCore::KURL::prettyURL):
        (WebCore::equalIgnoringFragmentIdentifier):
        * platform/KURL.h:

        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::setHash): Rework with new names, and to use the new equalIgnoringNullity() method.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::internalLinkElement):
        * css/CSSCursorImageValue.cpp:
        (WebCore::isSVGCursorIdentifier):
        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::isCurrentDocument):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::hash):
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::isURLAllowed):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::begin):
        (WebCore::FrameLoader::gotoAnchor):
        (WebCore::FrameLoader::scheduleLocationChange):
        (WebCore::FrameLoader::scrollToAnchor):
        (WebCore::FrameLoader::shouldReload):
        (WebCore::FrameLoader::urlsMatchItem):
        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::resourceForURL):
        (WebCore::ApplicationCache::resourceForRequest):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::cacheForMainRequest):
        (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
        (WebCore::ApplicationCacheGroup::selectCache):
        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
        (WebCore::ApplicationCacheGroup::didReceiveResponse):
        (WebCore::ApplicationCacheGroup::didFail):
        (WebCore::ApplicationCacheGroup::addEntry):
        * loader/appcache/ApplicationCacheResource.h:
        (WebCore::ApplicationCacheResource::create):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
        (WebCore::ApplicationCacheStorage::cacheGroupForURL):
        (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
        * loader/appcache/ManifestParser.cpp:
        (WebCore::parseManifest):
        * page/Location.cpp:
        (WebCore::Location::hash):
        * page/Page.cpp:
        (WebCore::Page::goToItem):
        * rendering/RenderPartObject.cpp:
        (WebCore::isURLAllowed):
        * workers/WorkerLocation.cpp:
        (WebCore::WorkerLocation::hash):

2009-08-10  Andy Shaw <andy.shaw@nokia.com>

        Reviewed by Simon Hausmann.

        Fix endless loop when the application is quit by a secondary thread during a sync xml http request.

        Replace the m_finished state variable and the call to QCoreApplication::processEvents() with
        a dedicated QEventLoop, that can be terminated from within WebCoreSynchronousLoader as well
        as from Qt through its knowledge of globally registered eventloops.

        There is no unit test for this bug as it would require exporting additional symbols and
        introduce the synchronous loader as global variable just for the test.

        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        (WebCore::WebCoreSynchronousLoader::didFail):
        (WebCore::WebCoreSynchronousLoader::waitForCompletion):

2009-08-10  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Make properties inspection serialized.

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

        * inspector/front-end/DOMAgent.js:
        (InspectorController.getPrototypes):
        (InspectorController.getProperties):
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.getPrototypes):
        (InjectedScript.getProperties):
        (InjectedScript.setPropertyValue):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectRef):
        (WebInspector.ObjectPropertyRef):
        (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
        (WebInspector.ObjectPropertiesSection.prototype.update.callback):
        (WebInspector.ObjectPropertiesSection.prototype.update):
        (WebInspector.ObjectPropertiesSection.prototype._update):
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
        (WebInspector.ObjectPropertyTreeElement.prototype.onattach):
        (WebInspector.ObjectPropertyTreeElement.prototype.update):
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
        (WebInspector.PropertiesSidebarPane.prototype.update):

2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        [WML] wml.css lacks <pre> support
        https://bugs.webkit.org/show_bug.cgi?id=28135

        Add <pre> support for WML.
        Extended fast/wml/text-emphasis.wml to cover <pre> support.

        * css/wml.css: <pre> section copied from html.css

2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Oliver Hunt.

        Fix non-WML enabled builds. Remove ENABLE(WML) guards around the switch cases 'FrameLoadTypeBackWMLDeckNotAccessible'.

        * loader/FrameLoader.cpp:
        (WebCore::isBackForwardLoadType):
        (WebCore::FrameLoader::restoreDocumentState):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::loadItem):

2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        [WML] Deck access control is completly broken
        https://bugs.webkit.org/show_bug.cgi?id=27721

        Rewrite WML deck access control, actually works now standalone and within LayoutTests.
        Added several new layout tests covering local & remote access support.

        In order to detect WML task execution failures from within the WML layout tests a new
        method Console::lastWMLErrorMessage() has been added, returning the last recorded WML
        error message. Change WML log messages to dump to InspectorClient, just like it's done
        for HTML - we used to behave like JSMessageSource, which is wrong.

        Tests: http/tests/wml/access-target-domain-deny.html
               http/tests/wml/access-target-path-deny.html
               http/tests/wml/access-target.html
               wml/access-target-deny.html
               wml/access-target.html

        * inspector/ConsoleMessage.h:
        (WebCore::ConsoleMessage::source): Added public method to fetch the message source type.
        (WebCore::ConsoleMessage::message): Added public method to access the error message.
        * inspector/InspectorController.h:
        (WebCore::InspectorController::consoleMessages): Added for Console::lastWMLErrorMessage(), to be able to crawl through the list of dumped messages.
        * loader/FrameLoader.cpp: Recognize 'FrameLoadTypeBackWMLDeckNotAccessible', all guarded by ENABLE(WML).
        (WebCore::isBackForwardLoadType):
        (WebCore::FrameLoader::restoreDocumentState):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::loadItem):
        * loader/FrameLoaderTypes.h:
        (WebCore::): Add new load type 'FrameLoadTypeBackWMLDeckNotAccessible', behaving like FrameLoadTypeBack plus WML specific information.
        * page/Console.cpp:
        (WebCore::Console::addMessage): Don't dump WML messages using ChromeClient (as it's done for JSMessageSource), but go through InspectorController.
        (WebCore::Console::lastWMLErrorMessage): Crawl InspectorController::consoleMssages() to look up the last WML error message, if present.
        * page/Console.h:
        * page/Console.idl: Add "[DontEnum] DOMString lastWMLErrorMessage()".
        * wml/WMLAccessElement.cpp: Store path/domain as member variables and pass them to WMLPageState once in insertedIntoDocument().
        (WebCore::WMLAccessElement::parseMappedAttribute):
        (WebCore::WMLAccessElement::insertedIntoDocument):
        * wml/WMLAccessElement.h:
        * wml/WMLCardElement.cpp: Handle 'FrameLoadTypeBackWMLDeckNotAccessible' as deck-entry method. Report WML error in current deck.
        (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
        * wml/WMLDocument.cpp: Enable deck-access control in finishedParsing. Take care of method name changes in WMLPageState.
        (WebCore::WMLDocument::finishedParsing):
        (WebCore::WMLDocument::initialize):
        * wml/WMLErrorHandling.cpp: Never report 'WMLErrorDeckNotAccessible' messages through the tokenizer, that would alter the page into error state.
        (WebCore::reportWMLError):
        * wml/WMLPageState.cpp: Completly rewrote access path/domain parsing & deck-access control, strictly following the WML spec. All covered by tests.
        (WebCore::WMLPageState::WMLPageState):
        (WebCore::normalizedHostName):
        (WebCore::hostFromURL):
        (WebCore::urlForHistoryItem):
        (WebCore::tryAccessHistoryURLs):
        (WebCore::WMLPageState::processAccessControlData):
        (WebCore::WMLPageState::resetAccessControlData):
        (WebCore::WMLPageState::canAccessDeck):
        (WebCore::WMLPageState::hostIsAllowedToAccess):
        (WebCore::WMLPageState::pathIsAllowedToAccess):
        * wml/WMLPageState.h:

2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Maciej Stachowiak.

        FrameLoadType / WebFrameLoadType enums are out of sync
        https://bugs.webkit.org/show_bug.cgi?id=28132

        Modify FrameLoadType enum to match the order of WebFrameLoadType in WebFramePrivate.h / IWebFramePrivate.idl.
        The mac/win public API exposes the old 'FrameLoadTypeReloadAllowingStaleData' value, which resides between
        'FrameLoadTypeReload' and 'FrameLoadTypeSame'. Work around this problem, by assigning 'FrameLoadTypeSame = FrameLoadTypeReload + 2'.

        Add a note to the FrameLoadType enum to keep it in sync with WebFramePrivate.h & IWebFramePrivate.idl.

        * loader/FrameLoaderTypes.h:
        (WebCore::):

2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        [WML] manual-tests/wml/onevent-prev.wml crashes
        https://bugs.webkit.org/show_bug.cgi?id=27722

        Fix intrinsic event execution, leading to crashes.
        First finish parsing the document, then execute the events. Not the other way round.
        -> exposes bugs all over the WML layout tests, which relied on that quirk.

        Fixes manual-tests/wml/onevent-prev.wml.

        * wml/WMLDocument.cpp:
        (WebCore::WMLDocument::WMLDocument):
        (WebCore::WMLDocument::finishedParsing):
        (WebCore::WMLDocument::initialize):
        * wml/WMLDocument.h:

2009-08-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        [Chromium] Update WebCore.gyp to add ImageBuffer.cpp,
        introduced by http://trac.webkit.org/changeset/46956.
        https://bugs.webkit.org/show_bug.cgi?id=27844

        * WebCore.gypi: Added ImageBuffer.cpp.

2009-08-08  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Rubber-stamped by Jan Michael Alonzo.

        Add [DontEnum] to WML specific initializeWMLPageState/resetWMLPageState methods, to assure
        fast/dom/Window/window-properties.html doesn't show any differences when WML is enabled.

        * dom/Document.idl:

2009-08-08  Dirk Schulze  <krit@webkit.org>

        Reviewed by Eric Seidel.

        SVG Filter need feColorMatrix implementation
        [https://bugs.webkit.org/show_bug.cgi?id=27711]

        Adds the filter effect feColorMatrix to SVG filters. 

        There is already a test in the w3c directory.
        Test: svg/W3C-SVG-1.1/filters-color-01-b.svg

        * platform/graphics/filters/FEColorMatrix.cpp:
        (WebCore::matrix):
        (WebCore::saturate):
        (WebCore::huerotate):
        (WebCore::luminance):
        (WebCore::FEColorMatrix::apply):

2009-08-08  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        Build fix for Tiger.
        https://bugs.webkit.org/show_bug.cgi?id=27844

        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::ImageBuffer):

2009-08-08  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        This is an initial implementation for linearRGB and sRGB support for all
        platforms. Some platforms like Cg support different color spaces
        natively, others like Qt, Cairo and Skia do not. This patch uses the
        native implementation of platforms if possible and offers a common version
        if not.

        Different color spaces are used in SVG Filters. Nearly every Filter test 
        case is a test for this patch and will be enabled, once Filters are enabled.
        https://bugs.webkit.org/show_bug.cgi?id=27844

        * GNUmakefile.am:
        * WebCore.pro:
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::createImageBuffer):
        * platform/graphics/GeneratedImage.cpp:
        (WebCore::GeneratedImage::drawPattern):
        * platform/graphics/ImageBuffer.cpp: Added.
        (WebCore::ImageBuffer::transformColorSpace):
        * platform/graphics/ImageBuffer.h:
        (WebCore::):
        (WebCore::ImageBuffer::create):
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::platformTransformColorSpace):
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::Image::drawPattern):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::getEffectContext):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::platformTransformColorSpace):
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::strokeContains):
        (WebCore::Path::strokeBoundingRect):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::platformTransformColorSpace):
        * platform/graphics/skia/SkiaUtils.cpp:
        (WebCore::scratchContext):
        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::paint):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::drawMaskerContent):
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::buildPattern):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::nativeImageForCurrentFrame):
        * svg/graphics/SVGPaintServerGradient.cpp:
        (WebCore::createMaskAndSwapContextForTextGradient):
        * svg/graphics/SVGPaintServerPattern.cpp:
        (WebCore::SVGPaintServerPattern::setup):
        * svg/graphics/SVGResourceFilter.cpp:
        (WebCore::SVGResourceFilter::prepareFilter):
        (WebCore::SVGResourceFilter::applyFilter):
        * svg/graphics/SVGResourceMasker.cpp:
        (WebCore::SVGResourceMasker::applyMask):
        * svg/graphics/filters/SVGFETile.cpp:
        (WebCore::FETile::apply):

2009-08-08  Xan Lopez  <xlopez@igalia.com>

        Roll out r46928, since it wasn't done in accordance with the
        agreed naming.

        * bindings/gdom/GdomDOMObject.cpp: Removed.

2009-08-08  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Xan Lopez.

        [Gtk] Enable accessibility in Gtk DRT
        https://bugs.webkit.org/show_bug.cgi?id=25989

        Add SPI to get the focused accessible element to be used by DRT.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_get_focused_element):
        * accessibility/gtk/AccessibilityObjectWrapperAtk.h:

2009-08-07  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Gtk build fix - add html/canvas to the binding generator's include path

        * GNUmakefile.am:

2009-08-07  Oliver Hunt  <oliver@apple.com>

        Another attempt to fix windows.

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

2009-08-07  Oliver Hunt  <oliver@apple.com>

        Windows build fix

        * WebCore.vcproj/WebCore.vcproj:

2009-08-07  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Gtk build fix - add html/canvas to the include path.

        * GNUmakefile.am:

2009-08-07  Adam Treat  <adam.treat@torchmobile.com>

        Prospective build fix for Qt following r46937.

        * WebCore.pro:

2009-08-07  Yong Li  <yong.li@torchmobile.com>

        WINCE PORT: store only width for GlyphBufferAdvance, to save space on low-memory devices
        https://bugs.webkit.org/show_bug.cgi?id=27734

        * platform/graphics/GlyphBuffer.h:
        (WebCore::GlyphBuffer::advanceAt):
        (WebCore::GlyphBuffer::advanceData):
        (WebCore::GlyphBuffer::add):

2009-08-07  Yong Li  <yong.li@torchmobile.com>

        Reviewed by Eric Seidel.

        WINCE PORT: pass unrecognized glyphs to GDI to handle
        https://bugs.webkit.org/show_bug.cgi?id=27734

        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::glyphDataForCharacter):

2009-08-07  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Oliver Hunt.

        Move Canvas related file to a subdirectories
        https://bugs.webkit.org/show_bug.cgi?id=28026

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/CanvasGradient.cpp: Removed.
        * html/CanvasGradient.h: Removed.
        * html/CanvasGradient.idl: Removed.
        * html/CanvasPattern.cpp: Removed.
        * html/CanvasPattern.h: Removed.
        * html/CanvasPattern.idl: Removed.
        * html/CanvasPixelArray.cpp: Removed.
        * html/CanvasPixelArray.h: Removed.
        * html/CanvasPixelArray.idl: Removed.
        * html/CanvasRenderingContext2D.cpp: Removed.
        * html/CanvasRenderingContext2D.h: Removed.
        * html/CanvasRenderingContext2D.idl: Removed.
        * html/CanvasStyle.cpp: Removed.
        * html/CanvasStyle.h: Removed.
        * html/canvas: Added.
        * html/canvas/CanvasGradient.cpp: Copied from WebCore/html/CanvasGradient.cpp.
        * html/canvas/CanvasGradient.h: Copied from WebCore/html/CanvasGradient.h.
        * html/canvas/CanvasGradient.idl: Copied from WebCore/html/CanvasGradient.idl.
        * html/canvas/CanvasPattern.cpp: Copied from WebCore/html/CanvasPattern.cpp.
        * html/canvas/CanvasPattern.h: Copied from WebCore/html/CanvasPattern.h.
        * html/canvas/CanvasPattern.idl: Copied from WebCore/html/CanvasPattern.idl.
        * html/canvas/CanvasPixelArray.cpp: Copied from WebCore/html/CanvasPixelArray.cpp.
        * html/canvas/CanvasPixelArray.h: Copied from WebCore/html/CanvasPixelArray.h.
        * html/canvas/CanvasPixelArray.idl: Copied from WebCore/html/CanvasPixelArray.idl.
        * html/canvas/CanvasRenderingContext2D.cpp: Copied from WebCore/html/CanvasRenderingContext2D.cpp.
        * html/canvas/CanvasRenderingContext2D.h: Copied from WebCore/html/CanvasRenderingContext2D.h.
        * html/canvas/CanvasRenderingContext2D.idl: Copied from WebCore/html/CanvasRenderingContext2D.idl.
        * html/canvas/CanvasStyle.cpp: Copied from WebCore/html/CanvasStyle.cpp.
        * html/canvas/CanvasStyle.h: Copied from WebCore/html/CanvasStyle.h.

2009-08-07  Szabo Carol  <carol.szabo@nokia.com>

        Reviewed by David Hyatt.

        QtWebkit ignores letter-spacing and word-spacing styles.
        QtWebkit handles custom letter-spacing and word-spacing in the native QFont
        class, but the values for these options are not not passed on from
        the platform independent part of the Font class.
        Fixed QtWebkit behavior by applying the options to QFont when it is
        returned via Font::font()

        http://bugs.webkit.org/show_bug.cgi?id=27988

        LayoutTests:
        fast/css/word-space-extra.html
        css2.1/t1604-c542-letter-sp-00-b-a.html
        css2.1/t1604-c541-word-sp-01-b-a.html
        css1/text_properties/word_spacing.html
        
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::font):

2009-08-07  Nicolas Weber  <thakis@chromium.org>

        Reviewed by Darin Adler.

        Use correct highlight color for listboxes and completion popups.

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

        * rendering/RenderThemeChromiumMac.h:
        * rendering/RenderThemeChromiumMac.mm:
        Rename activeListBoxSelectionBackgroundColor to
        platformActiveListBoxSelectionBackgroundColor, so that it actually
        overrides a virtual method.

2009-08-07  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        Added a fourth bunch of Haiku-specific files for WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=26988

        * platform/haiku/PasteboardHaiku.cpp: Added.
        (WebCore::Pasteboard::Pasteboard):
        (WebCore::Pasteboard::generalPasteboard):
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::canSmartReplace):
        (WebCore::Pasteboard::plainText):
        (WebCore::Pasteboard::documentFragment):
        (WebCore::Pasteboard::writeURL):
        (WebCore::Pasteboard::writeImage):
        (WebCore::Pasteboard::clear):
        * platform/haiku/PlatformKeyboardEventHaiku.cpp: Added.
        (WebCore::keyIdentifierForHaikuKeyCode):
        (WebCore::windowsKeyCodeForKeyEvent):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
        (WebCore::PlatformKeyboardEvent::currentCapsLockState):
        * platform/haiku/PlatformMouseEventHaiku.cpp: Added.
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/haiku/PlatformWheelEventHaiku.cpp: Added.
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):

2009-08-07  Nicolas Weber  <thakis@chromium.org>

        Teach WebKit how to decode jpegs in cmyk and ycck color spaces.
        Heavily inspired by Firefox's take on this issue.

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

        Reviewed by Eric Seidel.

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageReader::decode):
        Tell jpeglib to convert ycck to cmyk and keep cmyk.
        (WebCore::convertCMYKToRGBA):
        Added function to convert cmyk to rgb.
        (WebCore::convertRGBToRGBA):
        Extracted existing conversion logic into its own function.
        (WebCore::JPEGImageDecoder::outputScanlines):
        Call convertCMYKToRGBA for cmyk images, convertRGBToRGBA for rgb
        images.

2009-08-07  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        SharedWorkers should be shared
        https://bugs.webkit.org/show_bug.cgi?id=28058

        Added tracking of shared workers to the SharedWorkerRepository.

        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::SharedWorkerProxy::create):
        Changed SharedWorkerProxy to derive from ThreadSafeShared, as it needs to outlive the repository (if closed while some documents are still loading).
        (WebCore::SharedWorkerProxy::thread):
        (WebCore::SharedWorkerProxy::closing):
        Added flag used to determine whether the worker has closed itself while loading.
        (WebCore::SharedWorkerProxy::url):
        (WebCore::SharedWorkerProxy::name):
        Proxy now tracks worker URL and name to allow validity checks per section 4.8.3 of the WebWorkers spec.
        (WebCore::SharedWorkerProxy::SharedWorkerProxy):
        (WebCore::SharedWorkerProxy::addToDocumentSet):
        Added API to track the document set for a worker to allow worker shutdown. Currently does nothing.
        (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
        Renamed SharedWorkerLoader to be SharedWorkerScriptLoader for clarity.
        (WebCore::SharedWorkerScriptLoader::load):
        (WebCore::SharedWorkerScriptLoader::notifyFinished):
        (WebCore::DefaultSharedWorkerRepository::instance):
        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
        Now handles "worker already loaded" case.
        (WebCore::SharedWorkerRepository::connect):
        Delegates to DefaultSharedWorkerRepository::connectToWorker
        (WebCore::DefaultSharedWorkerRepository::connectToWorker):
        Added code to track the SharedWorkerProxy in a map, and to handle the "worker already loaded" case.
        (WebCore::DefaultSharedWorkerRepository::getProxy):
        Atomic get-or-create operation on the internal tracking HashMap.
        * workers/DefaultSharedWorkerRepository.h:
        * workers/SharedWorker.cpp:
        (WebCore::SharedWorker::SharedWorker):
        * workers/SharedWorkerRepository.h:
        Removed instance() API and made constructor private to prevent instantiation.
        (WebCore::SharedWorkerRepository::SharedWorkerRepository):

2009-08-07  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        Added four Haiku-specific files for WebCore:
        PopupMenuHaiku.cpp, ScreenHaiku.cpp,
        SearchPopupMenuHaiku.cpp and SoundHaiku.cpp
        https://bugs.webkit.org/show_bug.cgi?id=28080

        * platform/haiku/PopupMenuHaiku.cpp: Added.
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        * platform/haiku/ScreenHaiku.cpp: Added.
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        (WebCore::screenDepth):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):
        * platform/haiku/SearchPopupMenuHaiku.cpp: Added.
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        (WebCore::SearchPopupMenu::enabled):
        * platform/haiku/SoundHaiku.cpp: Added.
        (WebCore::systemBeep):

2009-08-07  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        Added two Haiku-specific files to WebCore:
        TemporaryLinkStubs.cpp and WidgetHaiku.cpp
        https://bugs.webkit.org/show_bug.cgi?id=28080

        * platform/haiku/TemporaryLinkStubs.cpp: Added.
        (loadResourceIntoArray):
        (WebCore::historyContains):
        (WebCore::supportedKeySizes):
        (WebCore::signedPublicKeyAndChallengeString):
        (WebCore::userIdleTime):
        (WebCore::callOnMainThread):
        (WebCore::SharedBuffer::createWithContentsOfFile):
        (WebCore::KURL::fileSystemPath):
        (WebCore::getSupportedKeySizes):
        * platform/haiku/WidgetHaiku.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):

2009-08-07  Jian Li  <jianli@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] Fix the problem that isAttribute is set to false for onerror and
        onmessage in worker custom code.
        https://bugs.webkit.org/show_bug.cgi?id=28083

        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
        (WebCore::getEventListener):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::getEventListener):
        (WebCore::ACCESSOR_SETTER):

2009-08-07  Vitaly Repeshko  <vitalyr@quad.spb.corp.google.com>

        Reviewed by Dimitri Glazkov.

        V8 bindings: speed up lookupDOMWrapper by using new V8 API function.

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

        * bindings/v8/V8DOMWrapper.cpp:
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::lookupDOMWrapper):

2009-08-07  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Justin Garcia.

        selectionHasStyle doesn't handle text-specific properties properly
        https://bugs.webkit.org/show_bug.cgi?id=27858

        This patch modifies selectionHasStyle so that it returns TrueTriState when text styles
        (text-decoration, font-style, font-weight, & color) are present in all text nodes,
        regardless of whether the style is also present in their ancestor nodes or not.
        e.g. New behavior concludes that <b><i>hello</i><i>world</i></b> has italic style.

        WebKit now applies the text styles (bold, italic, etc) if the specified style was not present on
        at least one text node, rather than at the beginning of selection except on Mac.
        On Mac, WebKit applies the text style if the style was not present at the beginning of style.

        Test: editing/execCommand/toggle-compound-styles.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::getPropertiesNotInComputedStyle): bug fix, must use copy instead of makeMutable for a mutable style.
        * editing/Editor.cpp:
        (WebCore::):
        (WebCore::triStateOfStyleInComputedStyle): Added a boolean type to ignore text-specific styles
        (WebCore::Editor::selectionHasStyle): Ignores text-specific styles for all but text nodes
        * editing/EditorCommand.cpp:
        (WebCore::executeToggleStyle): Uses selectionHasStyle instead of selectionStartHasStyle

2009-08-07  Jian Li  <jianli@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] Do not register V8 error message listener in WorkerContextExecutionProxy.
        https://bugs.webkit.org/show_bug.cgi?id=28082

        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):

2009-08-07  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Eric Seidel.

        Cairo-based Windows port does not handle cookies properly
        https://bugs.webkit.org/show_bug.cgi?id=27414

        curl handles cookies by itself, so using WinINet functions
        to get and set cookies is wrong.

        Replace CookieJarWin.cpp with CookieJarCurl.cpp so that
        cookies can be implemented later once curl provides an API to
        get and set cookies.

        * WebCore.vcproj/WebCore.vcproj:

2009-08-07  Michael Nordman  <michaeln@google.com>

        Reviewed by Dimitri Glazkov.

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

        V8 bindings for the window.applicationCache attribute.

        * WebCore.gypi:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate):
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: Added.

2009-08-07  Alpha Lam  <hclam@chromium.org>

        Reviewed by Eric Seidel.

        Right click on timeline of media controls panel cause seek
        https://bugs.webkit.org/show_bug.cgi?id=27920

        Add a test simulate the behavior of seeking by right clicking
        on the time bar of media controls while playing.

        * media/controls-right-click-on-timebar-expected.txt: Added.
        * media/controls-right-click-on-timebar.html: Added.

2009-08-07  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Justin Garcia.

        deprecatedCopyInheritableProperties must be replaced by two different functions
        https://bugs.webkit.org/show_bug.cgi?id=28057

        This patch deletes deprecatedInheritableProperties and modifies call callees to call either editingStyleAtPosition
        or prepareEditingStyleToApplyAt. The concept of editing style is introduced in this patch,
        which consists of all CSS properties need to be preserved under editing operations.

        No test is added since this patch does not change any behavior.

        * css/CSSComputedStyleDeclaration.cpp: Removed deprecatedCopyInheritableProperties
        * css/CSSComputedStyleDeclaration.h: Removed deprecatedCopyInheritableProperties
        * editing/ApplyStyleCommand.cpp:
        (WebCore::):
        (WebCore::editingStyleAtPosition): Obtains the editing-specific computed style at the position
        (WebCore::prepareEditingStyleToApplyAt): Removes redundant editing styles at the specified position
        (WebCore::removeStylesAddedByNode): Removes the style derived from the specified node
        * editing/ApplyStyleCommand.h:
        (WebCore::):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphs): Uses editingStyleAtPosition
        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Uses editingStyleAtPosition
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::removeEnclosingAnchorStyle): Uses removeStyleOfNode
        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Uses editingStyleAtPosition
        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Uses prepareEditingStyleToApplyAt
        * editing/EditCommand.cpp:
        * editing/EditCommand.h:
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Uses editingStyleAtPosition
        (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Uses prepareEditingStyleToApplyAt
        * editing/RemoveFormatCommand.cpp:
        (WebCore::RemoveFormatCommand::doApply): Uses editingStyleAtPosition
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::handleStyleSpansBeforeInsertion): Uses editingStyleAtPosition
        (WebCore::ReplaceSelectionCommand::handleStyleSpans): Uses editingStyleAtPosition and prepareEditingStyleToApplyAt
        (WebCore::ReplaceSelectionCommand::doApply): Uses prepareEditingStyleToApplyAt
        * editing/markup.cpp:
        (WebCore::removeEnclosingMailBlockquoteStyle): Uses removeStyleOfNode
        (WebCore::removeDefaultStyles): Uses prepareEditingStyleToApplyAt
        (WebCore::createMarkup): Uses editingStyleAtPosition

2009-08-07  Steve Block  <steveblock@google.com>

        Reviewed by Darin Adler.

        Bug 27250: Geolocation callback function IDL files are superfluous
        https://bugs.webkit.org/show_bug.cgi?id=27250

        The objects for the Geolocation success and error callbacks are created 'manually' in
        WebCore/bindings/js/JSGeolocationCustom.cpp. Furthermore, the callback interfaces are 
        marked 'NoInterfaceObject' in the W3C spec, so the prototype should not
        appear on the window object. Hence IDL files for these callbacks are not required.

        See http://www.w3.org/TR/geolocation-API/#geolocation_interface and
        http://www.w3.org/TR/WebIDL/#NoInterfaceObject.

        No new tests required.

        * DerivedSources.make: Modified. Removed reference to IDL files.
        * WebCore.gypi: Modified. Removed reference to IDL files.
        * WebCore.xcodeproj/project.pbxproj: Modified. Removed reference to IDL files.
        * page/PositionCallback.idl: Removed.
        * page/PositionErrorCallback.idl: Removed.

2009-08-07  Adam Treat  <adam.treat@torchmobile.com>

        Reviewed by David Levin.

        Build fix for Qt when ENABLE_VIDEO = 0.  This was necessitated by r46890 which
        put the idl files back into play regardless of compile time defines.

        * html/TimeRanges.idl:

2009-08-07  Mike Fenton  <mike.fenton@torchmobile.com>

        Reviewed by George Staikos.

        Coding style patches for RenderThemeQt.cpp based on results from cpp_style.py.

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

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::baselinePosition):
        (WebCore::inflateButtonRect):
        (WebCore::RenderThemeQt::supportsFocus):
        (WebCore::RenderThemeQt::applyTheme):

2009-08-07  Mike Fenton  <mike.fenton@torchmobile.com>

        Reviewed by Eric Seidel.

        Prevent RenderThemeQt AdjustStyle based calls for TextField, MenuList and MenuListButton
        from discarding style colour.

        Add tests and remove tests from platform/qt/Skipped that now pass.

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

        Tests: fast/forms/menulist-style-color.html
               fast/forms/text-style-color.html

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::adjustTextFieldStyle):
        (WebCore::RenderThemeQt::adjustMenuListStyle):
        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):

2009-08-07  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        https://bugs.webkit.org/show_bug.cgi?id=22495
        [V8] Re-land http://trac.webkit.org/changeset/46821, now that
        http://trac.webkit.org/changeset/46874 re-landed

        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:

2009-08-07  Adam Treat  <adam.treat@torchmobile.com>

        Reviewed by Darin Adler and George Staikos.

        Add rectToRect convenience function which returns the TransformationMatrix
        which maps the 'from' rectangle to the 'to' rectangle.

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

        No tests as this would require binding the method to js and since it is static
        that doesn't seem possible.  Please check the math.

        * platform/graphics/transforms/TransformationMatrix.cpp:
        (WebCore::TransformationMatrix::rectToRect):
        * platform/graphics/transforms/TransformationMatrix.h:

2009-08-07  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        Implement the HTML5 hashchange event.
        https://bugs.webkit.org/show_bug.cgi?id=21605

        Test: fast/loader/hashchange-event.html

        * dom/EventNames.h: Add "hashchange"
        * html/HTMLAttributeNames.in: Add "onhashchange"

        * loader/FrameLoader.cpp:
        (WebCore::HashChangeEventTask::create):
        (WebCore::HashChangeEventTask::performTask):
        (WebCore::HashChangeEventTask::HashChangeEventTask):
        (WebCore::FrameLoader::scrollToAnchor): When an anchor navigation is completed and the
          new fragment identifier is different from the old one, queue a hash change event
          on the Document.

        Add a window event listener for the hashchange event if onhashchange is encountered:
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::parseMappedAttribute): 
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::parseMappedAttribute):

        Add a new string utility method that gives "null and empty are equivalent" behavior:
        * platform/text/PlatformString.h:
        (WebCore::equalIgnoringNullity):
        * platform/text/StringImpl.cpp:
        (WebCore::equalIgnoringNullity):
        * platform/text/StringImpl.h:

2009-08-07  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Timothy Hatcher.

        Add the initial implementation of the ability to resize the columns in
        a DataGrid in the Web Inspector. Enables that functionality in both the
        Profile View and in the Local Storage View.
        
        https://bugs.webkit.org/show_bug.cgi?id=26182
        
        In this version, resizing a column can change the width of at most two
        columns (the columns to the left and right of the resizer being dragged).
        
        Possible changes in future patches:
        
        1) Be able to specify the minimum size of a column and the maximum size
           of a column. If the minimum size is equal to the maximum size, the
           column can't be resized.
        2) Make the behavior more in line with the following description:
        
        Everything before the column that is resized stays fixed size. The
        resized column changes sizes. The other columns except the last stay
        the same size. And the last column adjusts to fit with a minimum size.
        If the last column is already the minimum, the next to last column
        shrinks, etc.
        
        3) Make it possible to scale the column sizes appropriately when the
           Web Inspector window gets resized.
        
        * inspector/front-end/DOMStorageItemsView.js:
        (WebInspector.DOMStorageItemsView.prototype.update):
        Once the DataGrid is added to the DOM, update the widths of the
        DataGrid in order to put the resizers in place.
        (WebInspector.DOMStorageItemsView.prototype.resize):
        Update the widths of the DataGrid in order to correctly adjust the
        positions of the resizers.
        
        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid):
        Store column groups whose widths can later be changed when the columns
        are resized by the user.
        Also, keep track of whether the widths of the columns have been
        initialized.
        (WebInspector.DataGrid.prototype.updateWidths):
        Create the resizers for the columns.
        (WebInspector.DataGrid.prototype._clickInDataTable):
        Didn't actually change anything in this method, just added a comma to
        the end of the function.
        (WebInspector.DataGrid.prototype._startResizerDragging):
        Store the resizer that is currently dragging.
        (WebInspector.DataGrid.prototype._resizerDragging):
        Constrain the area that the resizer can be dragged to the column to
        it's left and right, with some padding added to make sure that the
        neighboring columns don't disappear.
        (WebInspector.DataGrid.prototype._endResizerDragging):
        
        * inspector/front-end/DatabasesPanel.js:
        (WebInspector.DatabasesPanel.prototype.resize):
        Resize the view.
        (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
        ditto.
        
        * inspector/front-end/ProfileView.js:
        (WebInspector.ProfileView.prototype.show):
        Now that the DataGrid is actually attached to the DOM, update the
        widths of the DataGrid in order to put the resizers in place.
        (WebInspector.ProfileView.prototype.resize):
        Update the widths of the DataGrid in order to correctly adjust the
        positions of the resizers.
        
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.resize):
        Resize the view.
        (WebInspector.ProfilesPanel.prototype._updateSidebarWidth):
        ditto.
        
        * inspector/front-end/inspector.css:
        Add in a style rule for a resizer in the Data Grid.

2009-08-07  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Back out r46847 and fix the Qt build system to always generate
        all the JS binding files from IDL files. The generated files
        have #if feature guards, so the #ifs are not needed in the
        files using them.

        * WebCore.pro:
        * bindings/js/JSEventTarget.cpp:
        * bindings/js/JSWorkerContextBase.cpp:
        * bindings/js/WorkerScriptController.cpp:

2009-08-07  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Adele Peterson.

        Cannot scroll for box-reflect:right
        https://bugs.webkit.org/show_bug.cgi?id=27979

        Update m_overflowLeft an m_overflowWidth for reflection just like
        m_overflowTop and m_overflowHeight.

        Test: fast/reflections/reflection-overflow-scroll.html

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

2009-08-06  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Adam Barth.

        box-shadow's spread is ignored with <table>
        https://bugs.webkit.org/show_bug.cgi?id=28017

        Use RenderStyle::getBoxShadowExtent just like RenderBlock.

        Test: fast/box-shadow/box-shadow-overflow-scroll.html

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):

2009-08-06  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Timothy Hatcher.

        Inspector: NodeLists Don't Display Well in the Console
        https://bugs.webkit.org/show_bug.cgi?id=28061

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._format): Specific check if the object is a NodeList, display as an "array"

2009-08-06  Yusuke Sato  <yusukes@chromium.org>

        Reviewed by David Levin.

        Chromium Linux: add support for @font-face
        https://bugs.webkit.org/show_bug.cgi?id=28015
        
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::~CachedFont):
        (WebCore::CachedFont::ensureCustomFontData):
        (WebCore::CachedFont::platformDataFromCustomData):
        (WebCore::CachedFont::allClientsRemoved):

        Modified #ifdefs so that chromium linux can load remote fonts.
        
        * platform/graphics/chromium/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        (WebCore::FontCustomPlatformData::fontPlatformData):
        (WebCore::createFontCustomPlatformData):

        Create SkTypeface for a web font by calling SkTypeface::CreateFromStream function.
        
        (WebCore::RemoteFontStream::RemoteFontStream):
        (WebCore::RemoteFontStream::~RemoteFontStream):
        (WebCore::RemoteFontStream::rewind):
        (WebCore::RemoteFontStream::read):

        New class that implements SkStream interface and wraps wtf's SharedBuffer.
        
        * platform/graphics/chromium/FontCustomPlatformData.h:
        (WebCore::FontCustomPlatformData::FontCustomPlatformData):

        Added member variables for Linux.
        
2009-08-06  Yong Li  <yong.li@torchmobile.com>

        Reviewed by Eric Seidel.

        Fix JPEGImageDecoder.cpp compile error on WinCE
        https://bugs.webkit.org/show_bug.cgi?id=28051

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

2009-08-06  Kevin Ollivier  <kevino@theolliviers.com>

        Reviewed by Eric Seidel.

        Adding WebCore support for the waf build system for wx.
        
        https://bugs.webkit.org/show_bug.cgi?id=27619

        * wscript: Added.

2009-08-06  Adam Barth  <abarth@webkit.org>

        Unreviewed revert.

        http://bugs.webkit.org/show_bug.cgi?id=27879

        Revert 46877 because it broke GTK.

        * platform/graphics/wince/GraphicsContextWince.cpp:

2009-08-06  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Eric Seidel.

        Bug 27956 - AX: roleValue should be cached for performance
        https://bugs.webkit.org/show_bug.cgi?id=27956

        Caches the role value of an accessibility object instead of calculating it everytime.
        The changes gained a 5% speedup using VoiceOver to navigate a webpage.

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::handleAriaRoleChanged):

        Use generic role setter instead of specific ARIA role setter.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::AccessibilityObject):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::headingLevel):

        Make headingLevel into instance method so that it can *safely* be called in the constructor.

        (WebCore::AccessibilityObject::setRoleValue):
        (WebCore::AccessibilityObject::roleValue):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
        (WebCore::AccessibilityRenderObject::headingLevel):
        (WebCore::AccessibilityRenderObject::intValue):
        (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (AXAttributeStringSetHeadingLevel):

2009-08-06  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>

        Reviewed by Adam Barth.

        Change Noncopyable inheriting to public
        http://bugs.webkit.org/show_bug.cgi?id=27879

        Since Noncopyable is inherited from FastAllocBase, Noncopyable's
        inheriting has been changed to public.

        * platform/graphics/wince/GraphicsContextWince.cpp:

2009-08-06  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Sam Weinig.

        Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed.

        * WebCore.xcodeproj/project.pbxproj:

2009-08-05  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Implement the matchMedium method on the Media interface described in the CSSOM View Module.
        https://bugs.webkit.org/show_bug.cgi?id=22495
        
        Add a new Media interface, obtainable via the AbstractView, that can
        evaluate queries via its matchesMedium() method.

        Test: fast/media/matchmedium-query-api.html

        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        Add Media.* files to the build.

        * css/Media.cpp: Added.
        (WebCore::Media::Media):
        (WebCore::Media::type):
        (WebCore::Media::matchMedium):
        * css/Media.h: Added.
        (WebCore::Media::create):
        (WebCore::Media::document):
        * css/Media.idl: Added.
        Media::matchMedium() uses a MediaQueryEvaluator() to test the query.

        * page/AbstractView.idl:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::media):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        Add a readonly attribute for Media.

2009-08-06  Michelangelo De Simone  <micdesim@gmail.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=27455
        Support for a custom validation message in ValidityState and related
        form controls.
        http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-cva-setcustomvalidity

        Tests: fast/forms/ValidityState-customError-001.html
               fast/forms/ValidityState-customError-002.html
               fast/forms/ValidityState-customError-003.html
               fast/forms/ValidityState-customError-004.html

        * html/HTMLButtonElement.idl: setCustomValidity DOM method
        * html/HTMLFieldSetElement.idl: ditto
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::setCustomValidity): ditto
        * html/HTMLFormControlElement.h:
        (WebCore::HTMLFormControlElement::valueMissing): moved down
        * html/HTMLInputElement.idl: ditto
        * html/HTMLSelectElement.idl: ditto
        * html/HTMLTextAreaElement.idl:
        * html/ValidityState.h:
        (WebCore::ValidityState::setCustomErrorMessage): method to set custom
        validation message
        (WebCore::ValidityState::customError): validation flag

2009-08-06  Mark Rowe  <mrowe@apple.com>

        Bring a little order to our otherwise out of control lives.

        * WebCore.xcodeproj/project.pbxproj:

2009-08-06  Mark Rowe  <mrowe@apple.com>

        Stop copying .idl files in to the framework resources directory.

        * WebCore.xcodeproj/project.pbxproj:

2009-08-06  Mark Rowe  <mrowe@apple.com>

        Fix the build some more.

        Add JSWebSocket.cpp and JSWebSocket.h to the Xcode project, and move the WebSocket-related
        files and groups in to the appropriate locations.

        * WebCore.xcodeproj/project.pbxproj:

2009-08-06  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Add WebSocket.idl
        https://bugs.webkit.org/show_bug.cgi?id=27209

        Add WebSocket.idl in WebCore/websockets/.
        Add build systems only for GNUmakefile.am and WebCore.xcodeproj now.
        Other build systems will be updated once the code is functional.

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSWebSocketConstructor.cpp: Added.
        * bindings/js/JSWebSocketConstructor.h: Added.
        * bindings/js/JSWebSocketCustom.cpp: Added.
        * websockets/WebSocket.cpp: Added.
        * websockets/WebSocket.h: Added.
        * websockets/WebSocket.idl: Added.

2009-08-06  Jian Li  <jianli@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] Style cleaning for WorkerContextExecutionProxy.
        https://bugs.webkit.org/show_bug.cgi?id=27997

        Cleanup WorkerContextExecutioonProxy related files to follow
        WebKit coding styles after all V8 binding codes are upstreamed.
        1) Lower-case the first letter of remaining functins in class
           WorkerContextExecutionProxy. Update the V8 code generator
           and all other references accordingly.
        2) Integrate getConstructor from WorkerContextExecutionProxy
           to V8DOMWrapper.
        3) Other misc changes, like removing trailing whitespaces and
           sorting the include files.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getConstructorForContext):
        (WebCore::V8DOMWrapper::convertToV8Object):
        * bindings/v8/V8DOMWrapper.h:
        * bindings/v8/V8WorkerContextEventListener.cpp:
        (WebCore::V8WorkerContextEventListener::~V8WorkerContextEventListener):
        (WebCore::V8WorkerContextEventListener::handleEvent):
        (WebCore::V8WorkerContextEventListener::reportError):
        (WebCore::V8WorkerContextEventListener::getReceiverObject):
        * bindings/v8/V8WorkerContextObjectEventListener.cpp:
        (WebCore::weakObjectEventListenerCallback):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::handleConsoleMessage):
        (WebCore::WorkerContextExecutionProxy::dispose):
        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
        (WebCore::WorkerContextExecutionProxy::convertToV8Object):
        (WebCore::WorkerContextExecutionProxy::convertEventToV8Object):
        (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
        (WebCore::WorkerContextExecutionProxy::convertWorkerContextToV8Object):
        (WebCore::WorkerContextExecutionProxy::toV8):
        (WebCore::WorkerContextExecutionProxy::forgetV8EventObject):
        (WebCore::WorkerContextExecutionProxy::removeEventListener):
        * bindings/v8/WorkerContextExecutionProxy.h:
        (WebCore::WorkerContextExecutionProxy::context):
        (WebCore::WorkerContextExecutionProxy::convertToV8Object):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):

2009-08-06  Darin Adler  <darin@apple.com>

        Fix Mac Leopard debug build.

        * platform/text/StringImpl.cpp:
        (WebCore::equalIgnoringCase): Removed meaningless assertion; an unsigned
        is always >= 0 and checking causes a warning in the newer versions of gcc.

2009-08-06  Adam Barth  <abarth@webkit.org>

        Unreview rollout.

        Revert 46840 because it broke the reliability tests.

        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::execute):
        * bindings/v8/ScheduledAction.h:
        (WebCore::ScheduledAction::ScheduledAction):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8Custom::WindowSetTimeoutImpl):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):

2009-08-06  Adam Barth  <abarth@webkit.org>

        Unreviewed rollout.

        Revert 46840 in preparation to revert 46838, which broke the reliability tests.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::updateDocumentWrapperCache):
        (WebCore::V8Proxy::initContextIfNeeded):
        (WebCore::V8Proxy::mainWorldContext):
        * bindings/v8/V8Proxy.h:
        (WebCore::V8Proxy::context):

2009-08-06  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: move style-related utilities into InjectedScript.

        http://bugs.webkit.org/show_bug.cgi?id=27939

        * inspector/front-end/DOMAgent.js:
        (WebInspector.CSSStyleDeclaration):
        (WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit):
        (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands):
        (WebInspector.CSSStyleDeclaration.prototype.getLonghandProperties):
        (WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority):
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.applyStyleText):
        (InjectedScript.toggleStyleEnabled):
        (InjectedScript._serializeStyle):
        (InjectedScript._getUniqueStyleProperties):
        (InjectedScript._getLonghandProperties):
        (InjectedScript._getShorthandPriority):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._update):
        (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
        (WebInspector.StylePropertiesSection.prototype.onpopulate):
        (WebInspector.StylePropertyTreeElement.prototype.get priority):
        (WebInspector.StylePropertyTreeElement.prototype.get value):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/utilities.js:

2009-08-06  Simon Hausmann  <simon.hausmann@nokia.com>

        Unreviewed build fix, add #ifdef guards around
        inclusions of shared worker specific files.

        * bindings/js/JSEventTarget.cpp:
        * bindings/js/JSWorkerContextBase.cpp:
        * bindings/js/WorkerScriptController.cpp:

2009-08-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Darin Adler.

        cssgrammar.cpp fails to compile with RVCT compiler
        https://bugs.webkit.org/show_bug.cgi?id=27952

        * css/CSSGrammar.y: Do not convert to String to get rid of the stray
        memory allocation 

        * platform/text/StringImpl.cpp:
        (WebCore::equalIgnoringCase):
        * platform/text/StringImpl.h: 
        (WebCore::equalIgnoringCase): Add charactersEqualIgnoringCase
          function that works with a character pointer and length

2009-08-06  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        Created first working implementation of SharedWorkers (execution only, no sharing).
        https://bugs.webkit.org/show_bug.cgi?id=27927

        Added initial implementations of SharedWorkerThread and SharedWorkerContext.
        No v8 bindings yet.

        * DerivedSources.cpp:
        Added shared worker files.
        * DerivedSources.make:
        Added shared worker files.
        * GNUmakefile.am:
        Added shared worker files.
        * WebCore.gypi:
        Added shared worker files.
        * WebCore.pro:
        Added shared worker files.
        * WebCore.vcproj/WebCore.vcproj:
        Added shared worker files.
        * WebCore.xcodeproj/project.pbxproj:
        Added shared worker files.
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        Added code to convert from EventTarget to correct JS class.
        (WebCore::toEventTarget):
        Added code to cast from JS object to appropriate EventTarget impl class.
        * bindings/js/JSSharedWorkerConstructor.cpp:
        (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
        (WebCore::constructSharedWorker):
        Tweaked the constructor code to pass in the lexical global object like normal workers.
        * bindings/js/JSSharedWorkerContextCustom.cpp: Added.
        (WebCore::JSSharedWorkerContext::mark):
        Custom marking of the onconnect handler.
        * bindings/js/JSWorkerContextBase.cpp:
        (WebCore::toJSSharedWorkerContext):
        (WebCore::toJSWorkerContext):
        Added proper conversion to the correct WorkerContext derived class.
        * bindings/js/JSWorkerContextBase.h:
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::initScript):
        Updated WorkerScriptController to create the correct type of binding object (JSSharedWorkerContext vs JSDedicatedWorkerContext)
        * bindings/scripts/CodeGeneratorV8.pm:
        Added support for SharedWorkerContext.
        * bindings/v8/DOMObjectsInclude.h:
        Added shared worker bindings files.
        * dom/EventNames.h:
        Added connect event.
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::toSharedWorkerContext):
        Added API for casting to new derived class (SharedWorkerContext).
        * dom/EventTarget.h:
        * workers/AbstractWorker.cpp:
        (WebCore::AbstractWorker::resolveURL):
        Moved code that resolves/validates URLs to base class so it can be shared between dedicated/shared workers.
        * workers/AbstractWorker.h:
        * workers/DedicatedWorkerContext.cpp:
        (WebCore::DedicatedWorkerContext::logException):
        Refactored exception handling code - moved onerror handling to base class.
        * workers/DedicatedWorkerContext.h:
        (WebCore::DedicatedWorkerContext::isDedicatedWorkerContext):
        * workers/SharedWorker.cpp:
        (WebCore::SharedWorker::SharedWorker):
        Changed constructor to fire up worker thread.
        * workers/SharedWorker.h:
        * workers/SharedWorkerContext.cpp: Added.
        (WebCore::SharedWorkerContext::SharedWorkerContext):
        (WebCore::SharedWorkerContext::~SharedWorkerContext):
        (WebCore::SharedWorkerContext::logException):
        (WebCore::SharedWorkerContext::addMessage):
        Placeholder methods until we add support for sending exceptions/messages to console.
        (WebCore::SharedWorkerContext::dispatchConnect):
        (WebCore::SharedWorkerContext::thread):
        * workers/SharedWorkerContext.h: Added.
        (WebCore::SharedWorkerContext::create):
        (WebCore::SharedWorkerContext::isSharedWorkerContext):
        (WebCore::SharedWorkerContext::toSharedWorkerContext):
        (WebCore::SharedWorkerContext::setOnconnect):
        (WebCore::SharedWorkerContext::onconnect):
        (WebCore::SharedWorkerContext::name):
        * workers/SharedWorkerContext.idl: Added.
        * workers/SharedWorkerRepository.h: Added.
        (WebCore::SharedWorkerRepository::~SharedWorkerRepository):
        * workers/DefaultSharedWorkerRepository.cpp: Added.
        Implementation of core singleton class that will be used to implement sharing.
        (WebCore::SharedWorkerProxy::setThread):
        Proxy object used to handle resource loading for a given shared worker.
        (WebCore::SharedWorkerProxy::postTaskToLoader):
        (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
        Placeholder routines until we implement loading.
        (WebCore::SharedWorkerConnectTask::create):
        Creates a task to fire off a connect event on the worker thread.
        (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
        (WebCore::SharedWorkerConnectTask::performTask):
        (WebCore::SharedWorkerLoader::SharedWorkerLoader):
        Added helper object to load the initial script for the worker.
        (WebCore::SharedWorkerLoader::load):
        (WebCore::SharedWorkerLoader::notifyFinished):
        (WebCore::SharedWorkerRepository::instance):
        (WebCore::DefaultSharedWorkerRepository::instance):
        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
        Fires off the worker thread once the script is loaded.
        (WebCore::SharedWorkerRepository::connect):
        (WebCore::DefaultSharedWorkerRepository::DefaultSharedWorkerRepository):
        (WebCore::DefaultSharedWorkerRepository::~DefaultSharedWorkerRepository):
        * workers/DefaultSharedWorkerRepository.h: Added.
        * workers/SharedWorkerThread.cpp: Added.
        (WebCore::SharedWorkerThread::create):
        (WebCore::SharedWorkerThread::SharedWorkerThread):
        (WebCore::SharedWorkerThread::~SharedWorkerThread):
        (WebCore::SharedWorkerThread::createWorkerContext):
        * workers/SharedWorkerThread.h: Added.
        * workers/Worker.cpp:
        (WebCore::Worker::Worker):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::reportException):
        * workers/WorkerContext.h:
        (WebCore::WorkerContext::isSharedWorkerContext):
        (WebCore::WorkerContext::isDedicatedWorkerContext):
        Added APIs to determine the type of a given context.

2009-08-06  Chris Marrin  <cmarrin@apple.com>

        Reviewed by David Hyatt.

        Added ENABLE_3D_CANVAS flag to build, default to off

        * Configurations/FeatureDefines.xcconfig:

2009-08-06  Andras Becsi  <becsi.andras@stud.u-szeged.hu>

        Reviewed by Simon Hausmann.

        [Qt] windowsKeyCodeForKeyEvent fix

        Fix windowsKeyCodeForKeyEvent to determine wheter the event comes from the keypad.

        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::windowsKeyCodeForKeyEvent):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

2009-08-06  George Staikos  <george.staikos@torchmobile.com>

        Rubber-stamped by Ariya Hidayat.

        Remove the dead wince/ directory that should never have gone in.

        * svg/graphics/wince: Removed.
        * svg/graphics/wince/SVGResourceFilterWince.cpp: Removed.

2009-08-06  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Extract style editing into a separate file that is
        going to be loaded in page context.

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

        * inspector/front-end/InjectedScript.js: Added.
        (InjectedScript.applyStyleText):
        (InjectedScript.setStyleText):
        (InjectedScript.toggleStyleEnabled):
        (InjectedScript.setStyleRule):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.callback):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.StylePropertyTreeElement.prototype.):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2009-08-06  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        [V8] Remove bug-bait V8Proxy::context()
        https://bugs.webkit.org/show_bug.cgi?id=27826

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::updateDocumentWrapperCache):
        (WebCore::V8Proxy::initContextIfNeeded):
        (WebCore::V8Proxy::mainWorldContext):
        * bindings/v8/V8Proxy.h:

2009-08-06  Adam Barth  <abarth@webkit.org>

        Unreviewed attempt to fix the Chromium Linux build.  This function is
        not used.

        * bindings/v8/OwnHandle.h:

2009-08-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        [V8] Teach ScheduledAction::execute about isolated worlds
        https://bugs.webkit.org/show_bug.cgi?id=27703

        We now save a weak handle to the original context.  We use that handle
        to call the timeout in the right context / world.

        Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html
               http/tests/security/isolatedWorld/window-setTimeout-string.html

        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::execute):
        * bindings/v8/ScheduledAction.h:
        (WebCore::ScheduledAction::ScheduledAction):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8Custom::WindowSetTimeoutImpl):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):

2009-08-05  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        [V8] Revert http://trac.webkit.org/changeset/46821, which was
        landed to supplement http://trac.webkit.org/changeset/46816, but
        now that the latter is reverted, the former needs the same.

        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:

2009-08-05  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Timothy Hatcher.

        Color is only reported in rgb() format; should toggle between rgb() and hex
        https://bugs.webkit.org/show_bug.cgi?id=13516

          New Class to Parse and Change Between Color Representations:

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

          Representations of Colors in Raw Form. (May be Lazy Loaded):

        (WebInspector.Color.prototype.get shorthex):
        (WebInspector.Color.prototype.get hex):
        (WebInspector.Color.prototype.set hex):
        (WebInspector.Color.prototype.get rgb):
        (WebInspector.Color.prototype.set rgb):
        (WebInspector.Color.prototype.get hsl):
        (WebInspector.Color.prototype.set hsl):
        (WebInspector.Color.prototype.get nickname):
        (WebInspector.Color.prototype.set nickname):
        (WebInspector.Color.prototype.get rgba):
        (WebInspector.Color.prototype.set rgba):
        (WebInspector.Color.prototype.get hsla):
        (WebInspector.Color.prototype.set hsla):

          Helpers and Standard String Representations:

        (WebInspector.Color.prototype.hasShortHex):
        (WebInspector.Color.prototype.toRgb):
        (WebInspector.Color.prototype.toHsl):
        (WebInspector.Color.prototype.toShortHex):
        (WebInspector.Color.prototype.toHex):
        (WebInspector.Color.prototype.toRgba):
        (WebInspector.Color.prototype.toHsla):
        (WebInspector.Color.prototype.toNickname):

          Conversion Functions to Determine Other Representations:
          My Sources for all algorithms and sample data:
          Wikipedia: http://en.wikipedia.org/wiki/HSV_color_space
          CSS Specification: http://www.w3.org/TR/css3-color/#hsla-color

        (WebInspector.Color.prototype.rgbToHex):
        (WebInspector.Color.prototype.hexToRgb):
        (WebInspector.Color.prototype.rgbToHsl):
        (WebInspector.Color.prototype.hslToRgb.hueToRgb):
        (WebInspector.Color.prototype.hslToRgb):
        (WebInspector.Color.prototype.rgbaToHsla):
        (WebInspector.Color.prototype.hslaToRgba):

          Called from the constructor, attempts to parse and will throw an error
          if it cannot parse.  If simple then the "hex" value is guarenteed.
          If advanced then both the "rgba" and "hsla" are guarenteed.  If it is
          a nickname in any way (e.g. "transparent", "black") then this is
          guarenteed to be set as well.

        (WebInspector.Color.prototype.parse):

          Clicking on the swatch will rotate through Color Representations.
            Simple:   rgb -> hsl -> nickname? -> shorthex? -> hex -> (loop around)
            Advanced: rgba -> hsla -> nickname? -> (loop around)

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.value.):
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle):

          Load Color.js:

        * inspector/front-end/inspector.html:

2009-08-05  John Abd-El-Malek  <jam@chromium.org>

        Reviewed by Dimitri Glazkov.

        Support setting event listeners for message ports in the worker process.

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

        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::retrieve):
        (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
        * bindings/v8/WorkerContextExecutionProxy.h:
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        (WebCore::getEventListener):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):

2009-08-05  Stephen White  <senorblanco@chromium.org>

        Reviewed by Dimitri Glazkov.

        http://bugs.webkit.org/show_bug.cgi?id=28022

        Minor fix for media code on chromium/skia.

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack):

2009-08-05  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Client side image maps did not handle zoom correctly.
        Client side image maps did not handle border and padding correctly.

        Test: fast/images/image-map-zoom.html

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::nodeAtPoint): Compute the values to pass in to the map
        element using the content box and the effective zoom.

2009-08-05  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=28027
        <rdar://7064428> Files with accents in names are submitted incorrectly due to use of
        precomposed Unicode

        * platform/network/mac/FormDataStreamMac.mm: (WebCore::setHTTPBody): Use getFileSize() from
        FileSystem.h instead of custom code for getting file size. This adds path normalization
        necessary with some file systems on Mac. This also loses a S_IFMT check, which didn't seem
        important anyway.

2009-08-05  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        [V8] Include Media into V8 bindings.

        * bindings/v8/DOMObjectsInclude.h: Added Media include.
        * bindings/v8/DerivedSourcesAllInOne.cpp: Added V8Media include.
        * bindings/v8/V8Index.cpp: Added decl for V8Media.
        * bindings/v8/V8Index.h: Added V8Media include.

2009-08-04  Jon Honeycutt  <jhoneycutt@apple.com>

        Fix Windows layout test crashes.

        PluginView::removeFromUnstartedListIfNecessary() would try to remove
        any unstarted PluginView from the Page's set of unstarted plug-ins,
        regardless of why the PluginView wasn't started. If we tried to start a
        plug-in, but it failed to start, we would hit an assertion in
        Page::removeUnstartedPlugin() that asserts that we would only modify the
        unstarted plug-ins set if we were not currently starting plug-ins.

        Fix this by having PluginView track whether it's waiting to be started,
        and to check this before trying to remove itself from the Page's
        unstarted plug-ins set.

        Reviewed by Darin Adler.

        * page/Page.cpp:
        (WebCore::Page::removeUnstartedPlugin):
        Assert that the passed PluginView is in the unstarted set.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::start):
        Set that we are not waiting to be started.
        (WebCore::PluginView::startOrAddtoUnstartedList):
        Set that we are waiting to be started.
        (WebCore::PluginView::removeFromUnstartedListIfNecessary):
        Check not whether we are started, but whether we are waiting to be
        started.
        (WebCore::PluginView::PluginView):

        * plugins/PluginView.h:

2009-08-05  Jeremy Orlow  <jorlow@chromium.org>

       Fix DOM Storage memory leak
       https://bugs.webkit.org/show_bug.cgi?id=28029

       Forgot to use adoptRef in one place.  This caused the = operator to
       increment the ref count when it shouldn't have, so StorageAreaImpl's were
       never freed.

        * storage/StorageNamespaceImpl.cpp:
        (WebCore::StorageNamespaceImpl::storageArea):

2009-08-05  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        [Chromium] Let CodeGeneratorV8.pm know that Media is ref-counted.

        * bindings/scripts/CodeGeneratorV8.pm: Added Media check to IsRefPtrType.

2009-08-05  Darin Adler  <darin@apple.com>

        Reviewed by David Levin.

        Use checked casts for render tree
        https://bugs.webkit.org/show_bug.cgi?id=23522

        Last patch. Makes all the casts of RenderObject use checked
        casts instead of using static_cast directly.

        * accessibility/AccessibilityListBox.cpp:
        (WebCore::AccessibilityListBox::visibleChildren):
        (WebCore::AccessibilityListBox::doAccessibilityHitTest):
        * accessibility/AccessibilityListBoxOption.cpp:
        (WebCore::AccessibilityListBoxOption::elementRect):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::textUnderElement):
        (WebCore::AccessibilityRenderObject::stringValue):
        (WebCore::AccessibilityRenderObject::titleUIElement):
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        * accessibility/AccessibilitySlider.cpp:
        (WebCore::AccessibilitySliderThumb::elementRect):
        * dom/InputElement.cpp:
        (WebCore::InputElement::updatePlaceholderVisibility):
        * dom/SelectElement.cpp:
        (WebCore::SelectElement::scrollToSelection):
        (WebCore::SelectElement::recalcStyle):
        (WebCore::SelectElement::setRecalcListItems):
        (WebCore::SelectElement::menuListDefaultEventHandler):
        (WebCore::SelectElement::listBoxDefaultEventHandler):
        * editing/BreakBlockquoteCommand.cpp:
        (WebCore::BreakBlockquoteCommand::doApply):
        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::reset):
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::updateWidget):
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::attach):
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::defaultEventHandler):
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::attach):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
        (WebCore::HTMLInputElement::addSearchResult):
        (WebCore::HTMLInputElement::onSearch):
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::parseMappedAttribute):
        (WebCore::HTMLLIElement::attach):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setReadyState):
        (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
        (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
        (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
        (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer):
        (WebCore::HTMLMediaElement::defaultEventHandler):
        (WebCore::HTMLMediaElement::finishParsingChildren):
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::parseMappedAttribute):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::updateWidget):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::defaultEventHandler):
        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::selectCursor):
        (WebCore::EventHandler::capsLockStateMayHaveChanged):
        * page/Frame.cpp:
        (WebCore::Frame::ownerRenderer):
        * page/FrameView.cpp:
        (WebCore::FrameView::detachCustomScrollbars):
        * page/wince/FrameWince.cpp:
        (WebCore::computePageRectsForFrame):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesHorizontally):
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlTimelineElement::defaultEventHandler):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::findNextLineBreak):
        * rendering/RenderCounter.cpp:
        (WebCore::planCounter):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::computeEdgeInfo):
        (WebCore::RenderFrameSet::setIsResizing):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::contentsBox):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateBacking):
        (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
        * rendering/RenderListItem.cpp:
        (WebCore::previousListItem):
        (WebCore::RenderListItem::explicitValueChanged):
        * rendering/RenderObject.cpp:
        (WebCore::updateListMarkerNumbers):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::updateListMarkerNumbers):
        (WebCore::invalidateCountersInContainer):
        * rendering/RenderScrollbarTheme.cpp:
        (WebCore::RenderScrollbarTheme::minimumThumbLength):
        (WebCore::RenderScrollbarTheme::backButtonRect):
        (WebCore::RenderScrollbarTheme::forwardButtonRect):
        (WebCore::RenderScrollbarTheme::trackRect):
        (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
        (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
        (WebCore::RenderScrollbarTheme::paintTrackBackground):
        (WebCore::RenderScrollbarTheme::paintTrackPiece):
        (WebCore::RenderScrollbarTheme::paintButton):
        (WebCore::RenderScrollbarTheme::paintThumb):
        * rendering/RenderSlider.cpp:
        (WebCore::SliderThumbElement::defaultEventHandler):
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::paintSliderThumb):
        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::determineSliderThumbState):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintSliderThumb):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::paintSliderThumb):
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::determineSliderThumbState):
        * rendering/SVGCharacterLayoutInfo.cpp:
        (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::findSVGRootObject):
        * rendering/TextControlInnerElements.cpp:
        (WebCore::RenderTextControlInnerBlock::nodeAtPoint):
        (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::attach):
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::canvasResource):
        * svg/SVGTextContentElement.cpp:
        (WebCore::rootInlineBoxForTextContentElement):
        * wml/WMLInputElement.cpp:
        (WebCore::WMLInputElement::defaultEventHandler):
        Use checked casts.

        * rendering/RenderApplet.h:
        * rendering/RenderCounter.h:
        * rendering/RenderFieldset.h:
        * rendering/RenderFileUploadControl.h:
        * rendering/RenderFrame.h:
        * rendering/RenderFrameSet.h:
        * rendering/RenderHTMLCanvas.h:
        * rendering/RenderListBox.h:
        * rendering/RenderListItem.h:
        * rendering/RenderListMarker.h:
        * rendering/RenderMedia.h:
        * rendering/RenderMenuList.h:
        * rendering/RenderPart.h:
        * rendering/RenderPartObject.h:
        * rendering/RenderPath.h:
        * rendering/RenderSVGContainer.h:
        * rendering/RenderSVGRoot.h:
        * rendering/RenderSVGTextPath.h:
        * rendering/RenderSVGViewportContainer.h:
        * rendering/RenderScrollbar.h:
        * rendering/RenderSlider.h:
        * rendering/RenderTextControlMultiLine.h:
        * rendering/RenderTextControlSingleLine.h:
        * rendering/RenderVideo.h:
        Added a checked cast. Also made most members protected or private.

        * rendering/RenderBlock.h:
        * rendering/RenderInline.h:
        * rendering/RenderReplaced.h:
        * rendering/RenderSVGBlock.h:
        * rendering/RenderSVGImage.h:
        * rendering/RenderSVGInlineText.h:
        * rendering/RenderSVGText.h:
        * rendering/RenderTextControl.h:
        Made most members protected or private.

        * rendering/RenderInline.cpp:
        * rendering/RenderSVGContainer.cpp:
        * rendering/RenderSVGHiddenContainer.cpp:
        * rendering/RenderSVGImage.cpp:
        * rendering/RenderSVGRoot.cpp:
        Removed unneeded destructor.

        * rendering/RenderSVGHiddenContainer.h:
        Removed unneeded virtual function overrides that did the same as
        the default and base class.

        * rendering/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::paint): Updated to use m_viewport
        directly instead of using a function call.
        (WebCore::RenderSVGViewportContainer::applyViewportClip): Ditto.
        (WebCore::RenderSVGViewportContainer::viewportTransform): Ditto.
        (WebCore::RenderSVGViewportContainer::localToParentTransform): Ditto.
        (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Ditto.

        * rendering/RenderScrollbar.cpp:
        (WebCore::pseudoForScrollbarPart): Changed switch statement to use cases for
        all values instead of using a default case.

        * rendering/RenderTreeAsText.cpp:
        (WebCore::operator<<): Removed dependency on casting to types that don't
        have any public members we need to get at. Instead, use function names to
        identify the type rather than doing so much overloading. Changed to use
        checked casts.
        (WebCore::write): Ditto.

        * rendering/SVGRenderSupport.cpp:
        (WebCore::renderSubtreeToImage): Changed to use a checked cast and also
        added a comment about the fact that the code does not do sufficient type
        checking before doing the cast.

        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeRenderSVGTextBox): Renamed this from operator<<.
        (WebCore::writeSVGInlineTextBoxes): Renamed this from writeSVGInlineText.
        (WebCore::writeSVGText): Renamed this from write.
        (WebCore::writeSVGInlineText): Ditto.
        (WebCore::writeSVGImage): Ditto.
        * rendering/SVGRenderTreeAsText.h: Updated for name changes. Removed
        unneeded default arguments.

2009-08-05  Peter Kasting  <pkasting@google.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=27851
        Fix a pair of compiler warnings on the GTK Linux buildbot.

        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::processFileHeader): Don't use multi-character constants, they're not portable.
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::setSize): Simpler code that also doesn't compare signed with unsigned.

2009-08-05  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26460
        Return multiple icon entries from the ICO decoder as separate frames,
        sorted by decreasing quality (much like the CG ICO decoder does).

        As a result of this change, we can eliminate the Skia-specific setData()
        hack that the Chromium port used to select the desired icon size -- now
        callers can just enumerate the frames and ask for the data from the one
        they like.
        
        Under the hood, the ICO decoder now keeps vectors for a number of things
        (including directory entries and image decoders) where it used to have
        single members.  However, callers (that I have seen) will only request
        one frame from the icon, so practically there aren't going to be lots of
        instantiated image decoders.

        * platform/graphics/ImageSource.h: Move |m_decoder| back to private now that Skia no longer needs to access it.
        * platform/graphics/cairo/ImageSourceCairo.cpp:
        (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
        * platform/graphics/skia/ImageSourceSkia.cpp:
        (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
        (WebCore::ImageSource::setData): Remove function to ask for a particular icon size.
        * platform/graphics/skia/ImageSourceSkia.h: Removed.
        * platform/graphics/wx/ImageSourceWx.cpp:
        (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::ICOImageDecoder):
        (WebCore::ICOImageDecoder::~ICOImageDecoder): Delete all instantiated per-frame decoders.
        (WebCore::ICOImageDecoder::setData): Send data to all instantiated per-frame decoders.
        (WebCore::ICOImageDecoder::isSizeAvailable): Use size from icon directory instead of PNG decoder (if applicable) so we can report it without decoding the PNG frames.
        (WebCore::ICOImageDecoder::size): Report frame-specific size if BMP decoder is calling.  Otherwise, use size from icon directory instead of PNG decoder (if applicable).
        (WebCore::ICOImageDecoder::frameSizeAtIndex): Implement.
        (WebCore::ICOImageDecoder::setSize): Sanity check value if BMP decoder is calling.
        (WebCore::ICOImageDecoder::frameCount): Implement.
        (WebCore::ICOImageDecoder::frameBufferAtIndex): Sanity check size for PNG frames.
        (WebCore::ICOImageDecoder::compareEntries): Add utility function for sorting entries.
        (WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex): Factor out utility function for passing correct data blob to a PNG decoder.
        (WebCore::ICOImageDecoder::decodeWithCheckForDataEnded): Split decode() into two pieces.
        (WebCore::ICOImageDecoder::decodeDirectory): The first part of the old decode().
        (WebCore::ICOImageDecoder::decodeAtIndex): The second part of the old decode(), split off so we avoid decoding an entry until it's requested.
        (WebCore::ICOImageDecoder::processDirectory): Add resizing of internal data structures based on directory contents.
        (WebCore::ICOImageDecoder::processDirectoryEntries): Sort entries by quality.
        (WebCore::ICOImageDecoder::imageTypeAtIndex): Return type to caller instead of setting a member.
        * platform/image-decoders/ico/ICOImageDecoder.h:

2009-08-05  Szabo Carol  <carol.szabo@nokia.com>

        Reviewed by Darin Adler.

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

        Test: fast/forms/select-reset-multiple-selections-4-single-selection.html

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::reset):
           Added HTML 4.01 compliant handling of broken webpages that
           specify more than one selected option for single selection SELECT
           element, in a manner that emulates Firefox and is similar to IE 7


2009-08-05  Andras Becsi  <becsi.andras@stud.u-szeged.hu>

        Reviewed by Simon Hausmann.

        WebCore.pro bugfix

        Fix the gperf lines to properly include the string.h header at compilation with gperf version 3.0.3 and newer.

        * WebCore.pro:

2009-08-05  Chris Fleizach  <cfleizach@apple.com>

        Fix Tiger build breakage.

        * accessibility/mac/AccessibilityObjectWrapper.mm:

2009-08-04  Simon Hausmann  <hausmann@webkit.org>

        Prospective build fix for Qt build bot: Fix dependency of HTMLNames.cpp
        to both source files, HTMLTagNames.in and HTMLAttributeNames.in

        * WebCore.pro:

2009-08-04  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adele Peterson.

        Keypress should exit from pan scrolling mode.
        https://bugs.webkit.org/show_bug.cgi?id=28005

        Change the logic from only exiting pan scrolling on escape to exiting on any key press,
        making it easier for users to back out of an accidental pan scroll.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::keyEvent):
        
2009-08-04  Eric Seidel  <eric@webkit.org>

        Reviewed by Simon Fraser.

        REGRESSION (r45064): Drop caret remains in text control after the mouse exits
        https://bugs.webkit.org/show_bug.cgi?id=26787

        Add back missing dragController()->clear() call.

        * manual-tests/drag-caret.html: Added.
        * page/DragController.cpp:
        (WebCore::DragController::tryDocumentDrag):

2009-08-04  Chris Fleizach  <cfleizach@apple.com>

        Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented
        https://bugs.webkit.org/show_bug.cgi?id=27994

        Forgot to commit attribute names.

        * html/HTMLAttributeNames.in:

2009-08-04  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented
        https://bugs.webkit.org/show_bug.cgi?id=27994

        Test: platform/mac/accessibility/aria-valuetext.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::valueDescription):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::valueDescription):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        * html/HTMLAttributeNames.in:

2009-08-04  Michael Nordman  <michaeln@google.com>

        Reviewed by Alexey Proskuryakov.

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

        No new features, no new tests. Existing layout tests pass.

        * WebCore.base.exp:

        Export AppliationCacheGroup::storeCopyOfCache

        * WebCore.xcodeproj/project.pbxproj:

        Restore DOMApplicationCache.h and ApplicationCacheHost.h to 'project' headers
        instead of 'private' headers since they're no longer in the DocumentLoader.h
        include graph.

        * html/HTMLHtmlElement.cpp:
        (WebCore::HTMLHtmlElement::insertedIntoDocument):

        Reinstate the test for manifest.isNull instead of .isEmtpty().
        Added a FIXME to revisit once the spec gets clarified.
        
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore::DocumentLoader::mainReceivedError):
        (WebCore::DocumentLoader::detachFromFrame):
        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::applicationCacheHost):

        ApplicationCacheHost is held in an OwnPtr<> by DocumentLoader. This was done
        for compile time friendliness, it results in a smaller include graph for files
        dependent on DocumentLoader.h.

        * loader/FrameLoader.cpp:
        * loader/MainResourceLoader.cpp:
        * loader/ResourceLoader.cpp:

        Cleanup ussage of ENABLE(xxx) around includes, generally remove those guards.
        This was done for readability at the include site. The included files contain appropriate guards,
        so they're not needed at the include site.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::selectCache):
        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
        (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
        (WebCore::ApplicationCacheGroup::update):
        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
        (WebCore::ApplicationCacheGroup::manifestNotFound):
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        (WebCore::ApplicationCacheGroup::startLoadingEntry):
        (WebCore::CallCacheListenerTask::create):
        (WebCore::CallCacheListenerTask::performTask):
        (WebCore::CallCacheListenerTask::CallCacheListenerTask):
        (WebCore::ApplicationCacheGroup::postListenerTask):
        * loader/appcache/ApplicationCacheGroup.h:

        Use ApplicationCachHost defined constants, no longer depends on DOMApplicationCache.

        * loader/appcache/ApplicationCacheHost.cpp:
        (WebCore::ApplicationCacheHost::ApplicationCacheHost):
        (WebCore::ApplicationCacheHost::setDOMApplicationCache):
        (WebCore::ApplicationCacheHost::notifyEventListener):
        (WebCore::ApplicationCacheHost::status):
        * loader/appcache/ApplicationCacheHost.h:
        (WebCore::ApplicationCacheHost::):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::storeCopyOfCache):
        * loader/appcache/ApplicationCacheStorage.h:

        Merge recently added transferApplicationCache and pre-existing storeCopyOfCache methods.

        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::status):
        (WebCore::DOMApplicationCache::addEventListener):
        (WebCore::DOMApplicationCache::removeEventListener):
        (WebCore::DOMApplicationCache::callListener):
        (WebCore::DOMApplicationCache::toEventType):
        (WebCore::DOMApplicationCache::toEventID):
        * loader/appcache/DOMApplicationCache.h:
        (WebCore::DOMApplicationCache::setAttributeEventListener):
        (WebCore::DOMApplicationCache::getAttributeEventListener):
        (WebCore::DOMApplicationCache::clearAttributeEventListener):
        (WebCore::DOMApplicationCache::callEventListener):
        (WebCore::DOMApplicationCache::setOnchecking):
        (WebCore::DOMApplicationCache::onchecking):
        (WebCore::DOMApplicationCache::setOnerror):
        (WebCore::DOMApplicationCache::onerror):
        (WebCore::DOMApplicationCache::setOnnoupdate):
        (WebCore::DOMApplicationCache::onnoupdate):
        (WebCore::DOMApplicationCache::setOndownloading):
        (WebCore::DOMApplicationCache::ondownloading):
        (WebCore::DOMApplicationCache::setOnprogress):
        (WebCore::DOMApplicationCache::onprogress):
        (WebCore::DOMApplicationCache::setOnupdateready):
        (WebCore::DOMApplicationCache::onupdateready):
        (WebCore::DOMApplicationCache::setOncached):
        (WebCore::DOMApplicationCache::oncached):
        (WebCore::DOMApplicationCache::setOnobsolete):
        (WebCore::DOMApplicationCache::onobsolete):

        Use ApplicationCachHost defined constants for Status and EventIDs.

2009-08-04  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Revert r46421 and r46769, which appear to have totally hosed the v8 bindings.

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

        * bindings/v8/V8AbstractEventListener.cpp: Revert r46421.
        (WebCore::V8AbstractEventListener::invokeEventHandler):
        * bindings/v8/custom/V8DOMWindowCustom.cpp: Revert r46769.
        (WebCore::ACCESSOR_GETTER):

2009-08-04  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 27993 - AXSliders are missing required attributes and actions
        https://bugs.webkit.org/show_bug.cgi?id=27993

        Expose appropriate actions and attributes for sliders.

        Test: platform/mac/accessibility/slider-supports-actions.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::orientation):
        * accessibility/AccessibilityObject.h:
        (WebCore::):
        * accessibility/AccessibilitySlider.cpp:
        (WebCore::AccessibilitySlider::orientation):
        * accessibility/AccessibilitySlider.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityActionNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2009-08-04  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        [V8] Fix an assert in WebCoreStringResource that causes worker script
        evaluation failed.
        https://bugs.webkit.org/show_bug.cgi?id=27996

        The fix is to check for the same thread, instead of the main thread.
        This is because Chromium's workers use v8 in a single thread that is
        not the main thread.

        * bindings/v8/V8Binding.cpp:
        (WebCore::WebCoreStringResource::WebCoreStringResource):
        (WebCore::WebCoreStringResource::~WebCoreStringResource):
        (WebCore::WebCoreStringResource::atomicString):

2009-08-04  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        Add support for transitions/animations of text-indent.

        Test: transitions/text-indent-transition.html

        * page/animation/AnimationBase.cpp:
        (WebCore::ensurePropertyMap):

2009-08-04  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        Add support for transitions of min- and max-width, and min- and max-height.
        https://bugs.webkit.org/show_bug.cgi?id=27990

        Test: transitions/min-max-width-height-transitions.html

        * page/animation/AnimationBase.cpp:
        (WebCore::ensurePropertyMap):

2009-08-04  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 27964 - WAI-ARIA: radio button does not determine its label from text content
        https://bugs.webkit.org/show_bug.cgi?id=27964

        ARIA radio buttons also need to use the text inside of them, like buttons and other roles.
        Also fixed an issue where an extra space was being appended to some ARIA labels.

        Test: platform/mac/accessibility/aria-radiobutton-text.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::ariaAccessibilityName):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::ariaAccessibilityName):
        (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
        (WebCore::AccessibilityRenderObject::title):
        (WebCore::AccessibilityRenderObject::ariaDescribedByAttribute):
        * accessibility/AccessibilityRenderObject.h:

2009-08-04  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Missed a place that expects window.event to be hidden when it shouldn't be.

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

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::ACCESSOR_GETTER): window.event is no longer hidden.

2009-08-03  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Jon Honeycutt.

        Bug 27958 - WAI-ARIA: Implement 'aria-required' attribute.
        https://bugs.webkit.org/show_bug.cgi?id=27958

        Test: platform/mac/accessibility/aria-required.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isRequired):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isRequired):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        * html/HTMLAttributeNames.in:

2009-08-04  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Simon Hausmann.

        Add QWebPluginDatabase API to the Qt API.
        
        https://bugs.webkit.org/show_bug.cgi?id=27651

        * WebCore.pro:

2009-08-04  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Reviewed by Adam Treat.

        [Qt] PlusDarker is not supported. Fall back to CompositionMode_Darken
        (as it is the closest match) instead of CompositionMode_SourceOver.

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

2009-08-04  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>

        Reviewed by Adam Barth.

        [v8] Fix crash when converting empty v8 string to atomic webkit string.
        https://bugs.webkit.org/show_bug.cgi?id=27975

        collection-null-like-arguments.html tests for this.

        * bindings/v8/V8Binding.cpp:
        (WebCore::v8StringToAtomicWebCoreString):

2009-08-04  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        selectionHasStyle needs clean up to fix Bug 27858
        https://bugs.webkit.org/show_bug.cgi?id=27865

        This patch cleans up selectionStartHasStyle and selectionHasStyle.
        No test is added because the patch does not change any behavior.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::getPropertiesNotInComputedStyle): Used in triStateOfStyleInComputedStyle but will be used here as well
        * editing/ApplyStyleCommand.h: Added the prototype of getPropertiesNotInComputedStyle
        * editing/Editor.cpp:
        (WebCore::triStateOfStyleInComputedStyle): Determines if the specified style is present in the specified computed style.
        (WebCore::Editor::selectionStartHasStyle): Uses triStateOfStyleInComputedStyle
        (WebCore::Editor::selectionHasStyle): Uses triStateOfStyleInComputedStyle instead of updateState

2009-08-03  John Abd-El-Malek  <jam@chromium.org>

        Reviewed by David Levin.

        Fix MessagePort construction in worker process.  Also make the other object constructions match this.

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

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertToV8Object):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setDOMException):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::ToV8Object):

2009-08-03  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>

        Reviewed by David Levin.

        [V8] Cache atomic strings in externalized v8 strings
        https://bugs.webkit.org/show_bug.cgi?id=27762

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8Binding.cpp:
        (WebCore::WebCoreStringResource::WebCoreStringResource):
        (WebCore::WebCoreStringResource::~WebCoreStringResource):
        (WebCore::WebCoreStringResource::data):
        (WebCore::WebCoreStringResource::length):
        (WebCore::WebCoreStringResource::webcoreString):
        (WebCore::WebCoreStringResource::atomicString):
        (WebCore::WebCoreStringResource::toStringResource):
        (WebCore::v8StringToWebCoreString):
        (WebCore::v8StringToAtomicWebCoreString):
        (WebCore::v8ValueToWebCoreString):
        (WebCore::v8ValueToAtomicWebCoreString):
        * bindings/v8/V8Binding.h:
        (WebCore::):
        * dom/Document.idl:

2009-08-03  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Timothy Hatcher.

        Inspector: DOM Storage Live Updating Should Not Affect Tabbing
        https://bugs.webkit.org/show_bug.cgi?id=27957

        * inspector/front-end/DOMStorageDataGrid.js:
        (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): disable storage event listener
        (WebInspector.DOMStorageDataGrid.prototype._startEditing): disable storage event listener
        (WebInspector.DOMStorageDataGrid.prototype._editingCancelled): enable storage event listener
        * inspector/front-end/DatabasesPanel.js:
        (WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): quick return if no listener

2009-08-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Eric Seidel.

        [Qt] Consolidate common gcc flags to WebKit.pri
        https://bugs.webkit.org/show_bug.cgi?id=27934

        * WebCore.pro:

2009-08-03  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        Chromium code sometimes isn't sandboxed and needs to access the FS.
        https://bugs.webkit.org/show_bug.cgi?id=27954

        These changes are the WebKit side of http://codereview.chromium.org/159778 which
        aims to make LocalStorage persistent.

        This change runs all FileSystem routines through the ChromiumBridge so that
        WebKitClients can handle them if they choose to.  For now, the only such client
        will be the one running in the browser process.

        It also adds a method called sandboxEnabled to the Chromium bridge so that the
        SQLite file system code can shift its behavior depending on whether we're
        inside a sandbox or not.

        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/FileSystemChromium.cpp:
        (WebCore::deleteFile):
        (WebCore::deleteEmptyDirectory):
        (WebCore::getFileModificationTime):
        (WebCore::directoryName):
        (WebCore::pathByAppendingComponent):
        (WebCore::makeAllDirectories):
        (WebCore::fileExists):
        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
        (WebCore::SQLiteFileSystem::openDatabase):
        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
        (WebCore::SQLiteFileSystem::registerSQLiteVFS):

2009-08-03  Alpha Lam  <hclam@chromium.org>

        Reviewed by David Levin.

        [chromium] Implement media slider for chromium
        https://bugs.webkit.org/show_bug.cgi?id=27859

        Implemented the media slider for chromium port. The implementation
        is using Skia for drawing the thumb and buffered region instead of
        using any native system controls so different platforms would have
        the same look and feel.

        No new tests because this is covered by existing tests.

        * css/mediaControlsChromium.css:
        * rendering/RenderThemeChromiumSkia.cpp:
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeChromiumWin.cpp:

2009-07-27  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26460
        Plumbing and cleanup in advance of returning multiple frames from the
        ICOImageDecoder:
        * Make ImageDecoder::frameCount() return a size_t like
          ImageSource::frameCount() and BitmapImage::frameCount() already do.
        * Add ImageDecoder::frameSizeAtIndex() alongside size(), to report the
          size of a particular frame.  Hook all the
          ImageSource::frameSizeAtIndex() implementations to this.  No
          ImageDecoder implements this yet; that will come in my next change.

        * platform/graphics/cairo/ImageSourceCairo.cpp:
        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::frameCount): returns size_t.
        * platform/graphics/qt/ImageDecoderQt.h: frameCount() returns size_t.
        * platform/graphics/qt/ImageSourceQt.cpp:
        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
        * platform/graphics/skia/ImageSourceSkia.cpp:
        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
        * platform/graphics/win/ImageCGWin.cpp:
        (WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t.
        * platform/graphics/win/ImageCairoWin.cpp:
        (WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t.
        * platform/graphics/wx/ImageSourceWx.cpp:
        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageDecoder::size): Clarify comment.
        (WebCore::ImageDecoder::frameSizeAtIndex): Add.
        (WebCore::ImageDecoder::frameCount): returns size_t.
        (WebCore::ImageDecoder::frameBufferAtIndex): Remove unneeded param name.
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::frameCount): returns size_t.
        (WebCore::GIFImageDecoder::frameBufferAtIndex): frameCount() returns size_t.
        * platform/image-decoders/gif/GIFImageDecoder.h: frameCount() returns size_t.

2009-08-03  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Darin Adler.

        Fix a bug that could cause an ASSERT to fail incorrectly, leading
        to a renderer crash in Chromium.

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

        All tests in storage/ pass.

        * platform/sql/SQLiteTransaction.cpp:
        (WebCore::SQLiteTransaction::~SQLiteTransaction):
        (WebCore::SQLiteTransaction::begin):

2009-08-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Hausmann.

        Based on work by Yael Aharon.

        Implement keyboard event forwarding for windowless plugins
        for the Qt port.

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::dispatchNPEvent):
        (WebCore::setSharedXEventFields):
        (WebCore::setXKeyEventSpecificFields):
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::handleMouseEvent):

2009-08-03  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Timothy Hatcher.

        Inspector: Make Bottom "Drawer" More Extensible To Support Other Views
        https://bugs.webkit.org/show_bug.cgi?id=27928

        * English.lproj/localizedStrings.js:

          "Show changes view", "Hide changes view", "Clear changes log", "%d style change", "%d style changes"

        * inspector/front-end/ChangesView.js: Added.
        (WebInspector.ChangesView):
        (WebInspector.ChangesView.prototype._clearButtonClicked):
        (WebInspector.ChangesView.prototype._toggleChangesButtonClicked):
        (WebInspector.ChangesView.prototype.attach):
        (WebInspector.ChangesView.prototype.show):
        (WebInspector.ChangesView.prototype.hide):

          To be a new view to show Changes made via the inspector.  DOM, CSS, or otherwise.

        * inspector/front-end/Console.js: Removed.

          Sliding View aspect moved to Drawer.js.  The "console" itself has moved to ConsoleView.js

        * inspector/front-end/ConsoleView.js: Added.

          Little has changed from its move from Console.js other then support for working with the Drawer.

        * inspector/front-end/Drawer.js: Added.
        (WebInspector.Drawer):
        (WebInspector.Drawer.prototype.get visibleView):
        (WebInspector.Drawer.prototype.set visibleView):
        (WebInspector.Drawer.prototype.show.animationFinished):
        (WebInspector.Drawer.prototype.show):
        (WebInspector.Drawer.prototype.hide.animationFinished):
        (WebInspector.Drawer.prototype.hide):
        (WebInspector.Drawer.prototype._safelyRemoveChildren):
        (WebInspector.Drawer.prototype._startStatusBarDragging):
        (WebInspector.Drawer.prototype._statusBarDragging):
        (WebInspector.Drawer.prototype._endStatusBarDragging):

          Allow for multiple views inside the Sliding Drawer.

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype.renameSelector):
        (WebInspector.ElementsPanel.prototype.addStyleChange):
        (WebInspector.ElementsPanel.prototype.removeStyleChange):
        (WebInspector.ElementsPanel.prototype.generateStylesheet):

          Starting work on the "Changes" Panel. The ability to generate a Stylesheet from Styles added via the Inspector.

        * inspector/front-end/Images/styleIcon.png: Added.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype.isInspectorStylesheet):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
        (WebInspector.StylePropertyTreeElement.prototype):

          Interface with ElementsPanel for generating a Stylesheet of Changes.

        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css: Refactored to allow for multiple views in the drawer.
        * inspector/front-end/inspector.html: Refactored to allow for multiple views in the drawer.

        * inspector/front-end/inspector.js:
        (WebInspector.get styleChanges):
        (WebInspector.set styleChanges):
        (WebInspector._updateChangesCount):
        (WebInspector.loaded):
        (WebInspector.documentKeyDown):
        (WebInspector.showConsole):
        (WebInspector.showChanges):

          Support for the drawer and "styles changed icon" similar to the "errors and warnings" icons.

2009-08-03  Dean McNamee  <deanm@chromium.org>

        Reviewed by Adam Barth.

        Correct an assert on a PassRefPtr in the v8 svg bindings.
        https://bugs.webkit.org/show_bug.cgi?id=27951

        * bindings/v8/V8SVGPODTypeWrapper.h:
        (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper):

2009-08-03  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Sam Weinig.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=27748
        crash w/ stack overflow when same CSS file loaded repeatedly

        Fix crash caused by a stack overflow when repeatedly loading very large
        CSS files. CSSRuleData in CSSStyleSelector.h destroyed itself 
        recursively rather than iteratively.

        Test: fast/css/large-list-of-rules-crash.html

        * css/CSSStyleSelector.h:
        (WebCore::CSSRuleData::~CSSRuleData):
        (WebCore::CSSRuleDataList::~CSSRuleDataList):

2009-08-03  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Make the DRT APIs to pause transitions and animations work for accelerated animations
        <https://bugs.webkit.org/show_bug.cgi?id=27627>
        <rdar://problem/6442932>

        Fix the 'pauseAnimationAtTimeOnElementWithId' and 'pauseTransitionAtTimeOnElementWithId' APIs
        available to LayoutTests to work with accelerated animations and transitions. Done by sending
        the pause time down to the GraphicsLayer, and using it to stop time on the layer.
        
        I also added an assertion to check that the animation has actually started when we
        try to pause it, to check that the pause time we compute is valid. This revealed a number
        of tests that tried to pause before animations started, required some amount of test fixing.

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::freezeAtTime):
        * page/animation/AnimationBase.h:
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::pauseAnimationAtTime):
        (WebCore::CompositeAnimation::pauseTransitionAtTime):
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::suspendAnimations):
        * platform/graphics/GraphicsLayer.h:
        * platform/graphics/mac/GraphicsLayerCA.h:
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::suspendAnimations):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::suspendAnimations):
        * rendering/RenderLayerBacking.h:

2009-08-03  Tony Chang  <tony@chromium.org>

        Reviewed by Darin Adler.

        Fix Chromium build by removing PluginView.h from Page.cpp.
        Chromium doesn't use PluginView and the pointer is never
        dereferenced so the header doesn't need to be included.
        https://bugs.webkit.org/show_bug.cgi?id=27946

        No new tests because this is a build fix.

        * page/Page.cpp:

2009-08-03  Eric Carlson  <eric.carlson@apple.com>

        One more build fix after https://bugs.webkit.org/show_bug.cgi?id=46720.

        Unreviewed.

        * WebCoreSources.bkl:

2009-08-03  Eric Carlson  <eric.carlson@apple.com>

        Build fix after https://bugs.webkit.org/show_bug.cgi?id=46720.

        Unreviewed.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:

2009-08-03  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 27943: Need to implement ARIA role="radiogroup"
        https://bugs.webkit.org/show_bug.cgi?id=27943

        Test: platform/mac/accessibility/aria-radiogroup.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isRadioGroup):
        (WebCore::AccessibilityObject::selectedRadioButton):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::selectedRadioButton):
        (WebCore::RoleEntry::):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper roleDescription]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2009-08-03  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Eric Seidel.

        HTMLInputElement is not controllable by assistive technologies
        https://bugs.webkit.org/show_bug.cgi?id=27941

        Test: accessibility/input-slider.html

        * WebCore.xcodeproj/project.pbxproj:
            Add AccessibilitySlider.cpp/.h

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::getOrCreate):
            Create AccessibilitySlider and AccessibilitySliderThumb.

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::increment):
        (WebCore::AccessibilityObject::decrement):
            Add default, do nothing, base class methods.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
            Correct typo.

        * accessibility/AccessibilitySlider.cpp: Added.
        (WebCore::AccessibilitySlider::AccessibilitySlider):
        (WebCore::AccessibilitySlider::create):
        (WebCore::AccessibilitySlider::children):
        (WebCore::AccessibilitySlider::addChildren):
        (WebCore::AccessibilitySlider::getAttribute):
        (WebCore::AccessibilitySlider::valueForRange):
        (WebCore::AccessibilitySlider::maxValueForRange):
        (WebCore::AccessibilitySlider::minValueForRange):
        (WebCore::AccessibilitySlider::changeValue):
        (WebCore::AccessibilitySlider::setValue):
        (WebCore::AccessibilitySlider::increment):
        (WebCore::AccessibilitySlider::decrement):
        (WebCore::AccessibilitySlider::element):
        (WebCore::AccessibilitySliderThumb::AccessibilitySliderThumb):
        (WebCore::AccessibilitySliderThumb::create):
        (WebCore::AccessibilitySliderThumb::elementRect):
        (WebCore::AccessibilitySliderThumb::size):
        * accessibility/AccessibilitySlider.h: Added.
        (WebCore::AccessibilitySlider::~AccessibilitySlider):
        (WebCore::AccessibilitySlider::roleValue):
        (WebCore::AccessibilitySlider::accessibilityIsIgnored):
        (WebCore::AccessibilitySlider::isSlider):
        (WebCore::AccessibilitySlider::canSetValueAttribute):
        (WebCore::AccessibilitySliderThumb::~AccessibilitySliderThumb):
        (WebCore::AccessibilitySliderThumb::roleValue):
        (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
        (WebCore::AccessibilitySliderThumb::setParentObject):
        (WebCore::AccessibilitySliderThumb::parentObject):

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (RoleEntry::):
            SliderThumbRole -> NSAccessibilityValueIndicatorRole
        (-[AccessibilityObjectWrapper roleDescription]):
            Return role description for NSAccessibilitySliderRole and NSAccessibilityValueIndicatorRole.
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
            Minor coding style correction.
        (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
            If attachement view handles press action, don't also call object wrapper.
        (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]):
            New, call object's increment() method.
        (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]):
            New, call object's decrement() method.
        (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
            Respond to NSAccessibilityIncrementAction and NSAccessibilityDecrementAction.

        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::thumbRect):
            Factor logic out of layout so AccessibilitySliderThumb can get thumb location/size.
        (WebCore::RenderSlider::layout):
            Move code to thumbRect().
        * rendering/RenderSlider.h:

2009-08-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Eric Seidel.

        Build fix if Netscape plugin support is turned off
        https://bugs.webkit.org/show_bug.cgi?id=27940

        * plugins/PluginView.cpp:
        (WebCore::PluginView::stop): Do not call NPN_MemFree if NPAPI is
        disabled
        * plugins/PluginViewNone.cpp:
        (WebCore::PluginView::platformStart): Empty stub.

2009-07-31  Joe Mason  <joe.mason@torchmobile.com>

        Reviewed by George Staikos.

        WINCE port: LOAD_WITH_ALTERED_SEARCH_PATH param of LoadLibraryEx not supported on WINCE
        https://bugs.webkit.org/show_bug.cgi?id=27917

        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::load): use LoadLibrary instead of LoadLibraryEx

2009-08-02  Adam Barth  <abarth@webkit.org>
        Reviewed by Darin Adler.

        SVGElementInstance::scriptExecutionContext should call document() instead of scriptExecutionContext()

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

        There's no reason to pay for a virtual function call in this case.  We
        can just call document() directly because we know that element is a
        Node*.

        * svg/SVGElementInstance.cpp:
        (WebCore::SVGElementInstance::scriptExecutionContext):

2009-08-02  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        JSNodeCustom should call document() instead of scriptExecutionContext()
        https://bugs.webkit.org/show_bug.cgi?id=27931

        We want to call document() because it's in inline function, instead of
        scriptExecutionContext() because it's a virtual function.  If we have a
        Node*, then we know that the virtual function will always return the
        document anyway.

        There are more instance of this bug, but I'd like to start with a small
        patch and work up.

        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::toJSDOMGlobalObject):
        * bindings/js/JSDOMGlobalObject.h:
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::addEventListener):
        (WebCore::JSNode::removeEventListener):

2009-08-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Anders Carlsson.

        Share implementation of PluginView::userAgent() and userAgentStatic()

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

        Differences to the original implementation are as follows:
        
            - The Win port used to return 0 for userAgentStatic, but now
              returns the quirk mode MozillaUserAgent as the other ports.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::userAgent):
        (WebCore::PluginView::userAgentStatic):
        * plugins/PluginViewNone.cpp:
        * plugins/gtk/PluginViewGtk.cpp:
        * plugins/mac/PluginViewMac.cpp:
        * plugins/qt/PluginViewQt.cpp:
        * plugins/win/PluginViewWin.cpp:

2009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Anders Carlsson.

        Unregister plugin from PluginMainThreadScheduler if NPP_New fails
        
        https://bugs.webkit.org/show_bug.cgi?id=27706
        
        Since the plugin has not been started yet (m_isStarted is not set),
        calling stop() will not have any affect, so we manually unregister
        in start() before returning.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::start):

2009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Anders Carlsson.

        Join the various versions of PluginView::stop() into one shared implementation

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

        The platform-dependent bits are now ifdef'ed in the shared implementation,
        using the XP_ defines (XP_WIN, XP_MACOSX, XP_UNIX) from npapi.h
        
        Differences to the original implementation are as follows:

            - The Qt port unregistered the plugin before calling NP_SetWindow
              with a 0 window handle. Now it's done after (similar to Win)

            - The GTK and Qt ports unregistered the plugin before clearing
              the m_npWindow.ws_info struct. Now it's done after.
              
            - The Win port constructed the DropAllLocks after unsubclassing
              the window. Now it's done before.
              
            - The Mac, Qt, and GTK ports did not pass a NPSavedData struct
              to NP_Destroy (like the Win port). Now all ports do.

            - The Win port did not call PluginView::setCurrentPluginView()
              before calling to NP-functions. Now it does.     

        * plugins/PluginView.cpp:
        * plugins/PluginViewNone.cpp:
        * plugins/gtk/PluginViewGtk.cpp:
        * plugins/mac/PluginViewMac.cpp:
        * plugins/qt/PluginViewQt.cpp:
        * plugins/win/PluginViewWin.cpp:

2009-07-30  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Timothy Hatcher.

        Inspector: let me *edit* css styles in the web inspector.
        https://bugs.webkit.org/show_bug.cgi?id=27124

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel): added property stylesheet pointing to 1 stylesheet added to the page if needed
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update): handle blank sections
        (WebInspector.StylesSidebarPane.prototype.addBlankSection): blank section in the correct position
        (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode): helper to get a nice selector for the selectd node
        (WebInspector.StylePropertiesSection):
        (WebInspector.StylePropertiesSection.prototype.expand):
        (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
        (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
        (WebInspector.StylePropertiesSection.prototype._dblclickEmptySpace): easily create new properties
        (WebInspector.StylePropertiesSection.prototype._dblclickSelector):
        (WebInspector.StylePropertiesSection.prototype.startEditingSelector): allow for editing selectors
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
        (WebInspector.StylePropertiesSection.prototype._doesSelectorAffectSelectedNode): helper to check if a selector applies to the selected node
        (WebInspector.BlankStylePropertiesSection.prototype._dblclick):
        (WebInspector.BlankStylePropertiesSection.prototype.startEditing):
        (WebInspector.BlankStylePropertiesSection.prototype.editingCancelled):
        (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
        (WebInspector.BlankStylePropertiesSection.prototype.makeNormal): morph into a StylePropertiesSection
        (WebInspector.StylePropertyTreeElement.prototype):
        (WebInspector.StylePropertyTreeElement.prototype.):
        * inspector/front-end/inspector.css:

2009-07-31  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        [v8] check if proxy is present before invoking a handler
        https://bugs.webkit.org/show_bug.cgi?id=27883 

        Do not invoke handler function if proxy is null pointer (that would lead to access violation
        anyway)

        * bindings/v8/custom/V8CustomEventListener.cpp:
        (WebCore::V8EventListener::callListenerFunction):

2009-08-01  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Reimplement Elements Panel so that its
        interaction with DOM is serialized.

        This is a first cut wuth read support for DOM elements
        tree as well as some limited editing. No properties, no
        styles, no search capabilities are implemented yet.
        Set Preferences.useDOMAgent to true in order to try it
        out, otherwise disabled by default.

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

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::getChildNodes):
        (WebCore::InspectorBackend::setAttribute):
        (WebCore::InspectorBackend::removeAttribute):
        (WebCore::InspectorBackend::setTextNodeValue):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::windowScriptObjectAvailable):
        (WebCore::InspectorController::setFrontendProxyObject):
        (WebCore::InspectorController::close):
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::didCommitLoad):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::domAgent):
        * inspector/InspectorDOMAgent.cpp: Added.
        * inspector/InspectorDOMAgent.h: Added.
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * inspector/front-end/Callback.js: Added.
        * inspector/front-end/DOMAgent.js: Added.
        * inspector/front-end/ElementsPanel.js:
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):

2009-08-01  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Adele Peterson.

        isContentEditable function in htmlediting.* must be removed
        https://bugs.webkit.org/show_bug.cgi?id=27870

        This patch removes isContentEditable function in htmlediting.cpp and
        replaces all usage by calling Node::isContentEditable or its derivatives.

        * editing/AppendNodeCommand.cpp: ditto
        (WebCore::AppendNodeCommand::AppendNodeCommand): ditto
        * editing/IndentOutdentCommand.cpp: ditto
        (WebCore::IndentOutdentCommand::outdentParagraph): ditto
        * editing/InsertNodeBeforeCommand.cpp: ditto
        (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): ditto
        * editing/htmlediting.cpp: ditto
        (WebCore::enclosingNodeWithTag): ditto
        (WebCore::enclosingNodeOfType): ditto
        (WebCore::canMergeLists): ditto
        * editing/htmlediting.h: Updated prototype

2009-08-01  John Abd-El-Malek  <jam@chromium.org>

        Reviewed by Adam Barth.

        Fix a message port handle always getting marked as reachable once it gets entangled.

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

        No tests since this only arises with the Chromium multi-process message port implementation
        which isn't in this repostiory.

        * bindings/v8/V8GCController.cpp:
        (WebCore::GCEpilogueVisitor::visitDOMWrapper):

2009-07-31  Yong Li  <yong.li@torchmobile.com>

        Reviewed by Adam Barth.

        Fix Geolocation permission problem
        https://bugs.webkit.org/show_bug.cgi?id=26993

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

2009-07-31  Norbert Leser  <norbert.leser@nokia.com>

        Reviewed by Eric Seidel.

        Added project properties as needed by symbian platform

        * WebCore.pro:

2009-07-31  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Holger Freyther.

        Fix compiler warning.

        Initialize member variables in the correct order.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::PluginView):

2009-07-31  Jon Honeycutt  <jhoneycutt@apple.com>

        Windows build fix!

        Unreviewed.

        * page/win/PageWin.cpp:

2009-07-31  Jon Honeycutt  <jhoneycutt@apple.com>

        Mac build fix.

        Unreviewed.

        * page/Page.cpp:
        Move setCanStartPlugins() from here...
        * page/win/PageWin.cpp:
        (WebCore::Page::setCanStartPlugins):
        ... to here.

2009-07-29  Jon Honeycutt  <jhoneycutt@apple.com>

        <rdar://problem/5698113> Safari shouldn't auto-activate plug-ins in
        background tabs (make Win consistent with Mac)

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

        Reviewed by Anders Carlsson.

        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::dispatchDidFailToStartPlugin):
        Declare a new function to dispatch failures to start plug-ins.

        * page/Page.cpp:
        (WebCore::Page::Page):
        Initialize new member variable.
        (WebCore::Page::addUnstartedPlugin):
        Add the PluginView to the set of unstarted plug-ins.
        (WebCore::Page::removeUnstartedPlugin):
        Remove the PluginView from the set of unstarted plug-ins.
        (WebCore::Page::setCanStartPlugins):
        If we can now start plug-ins, iterate the set of unstarted plug-ins,
        starting them. If a plug-in fails to start, dispatch a failed-to-start-
        plug-in error. Clear the list of unstarted plug-ins.

        * page/Page.h:
        Added m_canStartPlugins to track whether we can currently start
        plug-ins. Added m_unstartedPlugins to keep track of plug-ins in the
        page that are waiting to be started.
        (WebCore::Page::canStartPlugins):

        * plugins/PluginView.cpp:
        (WebCore::PluginView::start):
        m_mimeType is now a WebCore::String, so we call .utf8(). If NPP_New()
        fails, set m_status to reflect this; this used to be set by init(), but
        start() will not be called by init() if we are delaying start().
        If NPP_New() succeeds, set m_status to reflect this, and call
        platformStart().
        (WebCore::PluginView::startOrAddToUnstartedList):
        If we cannot start plug-ins, add this view to the Page's list of
        unstarted plug-ins and return true. Otherwise, call start() and return
        the result.
        (WebCore::PluginView::removeFromUnstartedListIfNecessary):
        If we've been started or we don't have a Page, return early. Remove
        ourselves from the Page's list of unstarted plug-ins.
        (WebCore::PluginView::bindingInstance):
        If we haven't been started yet, return 0. This matches the Mac
        behavior.
        (WebCore::PluginView::setParameters):
        If we find the "plug-ins page" parameter, record it; it may be used if
        we fail to start the plug-in.
        (WebCore::PluginView::PluginView):
        Initialize new members m_haveUpdatedPluginWidget. Initialize m_mimeType
        with mimeType directly; m_mimeType is now a WebCore::String.

        * plugins/PluginView.h:
        Made start() public, so Page can call it when we start unstarted
        plug-ins. Changed m_mimeType from CString to String and added
        m_pluginsPage; these are needed by dispatchDidFailToStartPlugin().
        (WebCore::PluginView::pluginsPage):
        Added for dispatchDidFailToStartPlugin().
        (WebCore::PluginView::mimeType):
        Ditto.
        (WebCore::PluginView::url):
        Ditto.

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::platformStart):
        Stubbed.

        * plugins/mac/PluginViewMac.cpp:
        (WebCore::PluginView::platformStart):
        Stubbed.

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

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::updatePluginWidget):
        Use m_haveUpdatedPluginWidget to ensure that we will call MoveWindow()
        and SetWindowRgn() to position the plug-in and set its clip rect if an
        earlier call to updatePluginWidget() was made before
        setPlatformPluginWidget() was called to set the plug-in's HWND.
        (WebCore::PluginView::~PluginView):
        Call removeFromUnstartedListIfNecessary() to remove the plug-in from
        the unstarted list if the plug-in is destroyed before it is started.
        (WebCore::PluginView::init):
        Call startOrAddtoUnstartedList to start the plug-in or, if plug-ins
        cannot be started, to add it to the list of plug-ins waiting to be
        started. Set m_status to indicate success; this is also set by start(),
        but that may be delayed, and we don't want the loader to dispatch a
        failed-to-start-plug-in error when we return from init().
        (WebCore::PluginView::platformStart):
        Added; code moved from init(). This is now called by start() to perform
        any platform-specific tasks that need to take place after the plug-in
        has started. Added a call to updatePluginWidget() to ensure we position
        the plug-in and set its clip rect after the plug-in has started.
        Removed the setting of m_status; start() does this before calling this
        function (and we assert this at the head of the function).

2009-07-30  Darin Adler  <darin@apple.com>

        Reviewed by David Levin.

        Use checked casts for render tree
        https://bugs.webkit.org/show_bug.cgi?id=23522

        Next step: Add casts for all the RenderTable classes and use them everywhere.

        Also added a few uses in places that were still using static_cast.
        Also made some virtual member functions private.
        Also changed RenderTable::m_tableLayout to use OwnPtr.

        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
        (WebCore::AccessibilityTable::addChildren):
        (WebCore::AccessibilityTable::cellForColumnAndRow):
        * accessibility/AccessibilityTableCell.cpp:
        (WebCore::AccessibilityTableCell::parentTable):
        (WebCore::AccessibilityTableCell::rowIndexRange):
        (WebCore::AccessibilityTableCell::columnIndexRange):
        (WebCore::AccessibilityTableCell::titleUIElement):
        * accessibility/AccessibilityTableColumn.cpp:
        (WebCore::AccessibilityTableColumn::headerObject):
        * accessibility/AccessibilityTableRow.cpp:
        (WebCore::AccessibilityTableRow::parentTable):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::removeNode):
        * editing/TextIterator.cpp:
        (WebCore::shouldEmitTabBeforeNode):
        (WebCore::shouldEmitNewlinesBeforeAndAfterNode):
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::parseMappedAttribute):
        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::parseMappedAttribute):
        * page/Frame.cpp:
        (WebCore::Frame::searchForLabelsAboveCell):
        * page/mac/FrameMac.mm:
        (WebCore::Frame::searchForNSLabelsAboveCell):
        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        (WebCore::AutoTableLayout::fullRecalc):
        (WebCore::shouldScaleColumns):
        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::calcWidthArray):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::calcPrefWidths):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcPercentageHeight):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addChild):
        (WebCore::RenderObject::containingBlock):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::collapsedBottomBorder):
        * rendering/RenderTableCol.cpp:
        (WebCore::RenderTableCol::table):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::addChild):
        (WebCore::RenderTableRow::layout):
        (WebCore::RenderTableRow::paint):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addChild):
        (WebCore::RenderTableSection::layoutRows):
        (WebCore::RenderTableSection::lowestPosition):
        (WebCore::RenderTableSection::rightmostPosition):
        (WebCore::RenderTableSection::leftmostPosition):
        (WebCore::RenderTableSection::paintObject):
        (WebCore::RenderTableSection::recalcCells):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::operator<<):
        (WebCore::writeTextRun):
        Use checked casts.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::styleDidChange): Updated to use OwnPtr.
        (WebCore::RenderTable::addChild): Use checked cast.
        (WebCore::RenderTable::layout): Ditto.
        (WebCore::RenderTable::setCellWidths): Ditto.
        (WebCore::RenderTable::paintObject): Ditto.
        (WebCore::RenderTable::splitColumn): Ditto.
        (WebCore::RenderTable::appendColumn): Ditto.
        (WebCore::RenderTable::colElement): Ditto.
        (WebCore::RenderTable::recalcSections): Ditto.
        (WebCore::RenderTable::outerBorderBottom): Ditto.
        (WebCore::RenderTable::outerBorderLeft): Ditto.
        (WebCore::RenderTable::outerBorderRight): Ditto.
        (WebCore::RenderTable::sectionAbove): Ditto.
        (WebCore::RenderTable::sectionBelow): Ditto.

        * rendering/RenderTable.h: Added checked cast. Made virtual
        functions private. Changed m_tableLayout to be a OwnPtr.

        * rendering/RenderTableCell.h: Added checked cast.
        * rendering/RenderTableCol.h: Ditto. Made virtual functions private.
        * rendering/RenderTableRow.h: Ditto.
        * rendering/RenderTableSection.h: Ditto.

2009-07-31  Brady Eidson  <beidson@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/6973106> and https://bugs.webkit.org/show_bug.cgi?id=27896
        Favicons are still loaded when automatic image loading is disabled.

        People who want to avoid loading images generally want to avoid loading all images.

        Test: http/tests/misc/favicon-loads-with-images-disabled.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::startIconLoader): After committing the URL mapping, don't actually 
          perform the load if images shouldn't be loading.

2009-07-31  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Anders Carlsson.
        
        Accelerated animations stutter on pages with lots of animations and 3d transforms
        https://bugs.webkit.org/show_bug.cgi?id=27884
        
        This patch changes the strategy for synchronizing painting view the view,
        and compositing layer updates. Previously the strategy was to disable screen
        updates between the time we updated the layer tree, and painted the view. That
        left screen updates disabled for too long (hundreds of milliseconds) in some
        cases, causing animation stutter.
        
        The new strategy is to batch up changes to the CA layer tree, and commit them
        all at once just before painting happens (referred to as a "sync" in the code).
        GraphicsLayerCA now keeps a bitmask of changed properties, and then migrates
        the values stored in GraphicsLayer into the CA layer tree at commit time.
        
        Compositing layers are then synced in FrameView::paintContents(). However, not
        all style/layout changes will result in painting; to deal with style changes that
        touch only compositing properties, we set up a runloop observer that takes care
        of comitting layer changes when no painting happens.

        * WebCore.base.exp: Export FrameView::syncCompositingStateRecursive()

        * loader/EmptyClients.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive()
        * page/ChromeClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive()

        * page/FrameView.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::syncCompositingStateRecursive): syncCompositingState() on the
        view and all subviews. Like layoutIfNeededRecursive(). If layout is pending, does not
        sync and returns false, since we only want to sync when layout is done.
        
        (WebCore::FrameView::paintContents): syncCompositingState() before painting.

        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::endAnimation):
        Call animationPaused() to notify the graphics layers about animation pausing.
        
        * platform/graphics/FloatPoint3D.h:
        (WebCore::operator==):
        (WebCore::operator!=): 
        Add missing comparison operators.
        
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::setOpacity):
        (WebCore::GraphicsLayer::setBackgroundColor): Simple setters no longer care about animation info.
        
        (WebCore::GraphicsLayer::paintGraphicsLayerContents): Null-check client.
        
        * platform/graphics/GraphicsLayer.h:
        (WebCore::AnimationValue:):
        (WebCore::TransformAnimationValue:):
        (WebCore::KeyframeValueList:):
        (WebCore::KeyframeValueList::insert):
        Cleaned up versions of FloatValue and TransformValue, used to store information
        about keyframes values.

        (WebCore::GraphicsLayer::contentsRect):
        (WebCore::GraphicsLayer::setContentsRect):
        ContentsRect is now a simple setter.
        
        (WebCore::GraphicsLayer::addAnimation):
        (WebCore::GraphicsLayer::removeAnimationsForProperty):
        (WebCore::GraphicsLayer::removeAnimationsForKeyframes):
        (WebCore::GraphicsLayer::pauseAnimation):
        Simplified animation api.
        
        (WebCore::GraphicsLayer::setGeometryOrientation):
        (WebCore::GraphicsLayer::geometryOrientation):
        setGeometryOrientation is now just a normal member variable.
        
        (WebCore::GraphicsLayer::contentsOrientation): add a getter.
        (WebCore::GraphicsLayer::syncCompositingState): Entry into the layer sync code.
        
        * platform/graphics/GraphicsLayerClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive)

        * platform/graphics/mac/GraphicsLayerCA.h:
        * platform/graphics/mac/GraphicsLayerCA.mm:
        Lots of cleanup and refactoring. Main points:
        - Layer changes are all batched, and only committed to the CA layer on syncCompositingState().
        - Bitmask is used to store which properties have changed. More efficient than before.
        - Simpler animation interface; simple setters are no longer confounded with animations.
        - Refactored code that creates CA animations, and stores which animations are running.

        * platform/graphics/transforms/TransformOperations.h:
        (WebCore::TransformOperations::size):
        (WebCore::TransformOperations::at): Useful accessors for size and indexed access.
        
        * rendering/RenderLayerBacking.h:
        * rendering/RenderLayerBacking.cpp:
        Renamed 'contentsLayer' to 'foregroundLayer' to avoid confusion with GraphicsLayer's
        contentsLayer.
        Adapt to GraphicsLayer's simpler animation API.
        Pass animation pausing through to the graphics layers.
        contentsBox() is no longer a callback via GraphicsLayerClient.
        
        * rendering/RenderLayerCompositor.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
        (WebCore::RenderLayerCompositor::scheduleSync):
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
        scheduleViewUpdate() is no longer required. Instead, we plumb through "compositingLayerSync"
        notifications, which travel up to WebKit and set up a runloop observer.
        
2009-07-30  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by David Levin.

        Guard needs //'s between #endif and ENABLE(DATAGRID)
        https://bugs.webkit.org/show_bug.cgi?id=27862

        Compiling this file causes a build break without this change.

        * bindings/v8/custom/V8DataGridColumnListCustom.cpp:

2009-07-31  Greg Bolsinga  <bolsinga@apple.com>

        Reviewed by Eric Seidel.

        Geolocation clean up when no longer updating
        https://bugs.webkit.org/show_bug.cgi?id=27888

        When Geolocation::disconnectFrame() is called, need to call 
        Document::setUsingGeolocation(false) to mirror the true call 
        when it is set up.

        When handling an error, and there are no more listeners, call
        GeolocationService::stopUpdating().

        * page/Geolocation.cpp:
        (WebCore::Geolocation::disconnectFrame):
        (WebCore::Geolocation::handleError):

2009-07-31  Greg Bolsinga  <bolsinga@apple.com>

        Reviewed by George Staikos.

        Consolidate GeoLocation code to send positions and errors
        https://bugs.webkit.org/show_bug.cgi?id=27863
        
        Create helper methods that will send positions and errors to either
        one shots or watchers.

        * page/Geolocation.cpp:
        (WebCore::Geolocation::sendError):
        (WebCore::Geolocation::sendErrorToOneShots):
        (WebCore::Geolocation::sendErrorToWatchers):
        (WebCore::Geolocation::sendPosition):
        (WebCore::Geolocation::sendPositionToOneShots):
        (WebCore::Geolocation::sendPositionToWatchers):
        * page/Geolocation.h:

2009-07-31  Xan Lopez  <xlopez@igalia.com>

        Roll out previous change as it might be causing some weirdness in
        the bots.

        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::processFileHeader):

2009-07-31  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Mark Rowe.

        Fix compiler warning.
        https://bugs.webkit.org/show_bug.cgi?id=27851

        GCC does not like multi-character character constants, so use the
        explicit numerical value of 'BM' in the enum.

        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::processFileHeader):

2009-07-30  Brady Eidson  <beidson@apple.com>

        Reviewed by Mark Rowe, but Dan Bernstein also reviewed and asked thoughtful questions.

        <rdar://problem/7106968> and https://bugs.webkit.org/show_bug.cgi?id=27868
        http://www.ruthhuntcandy.com/ goes into infinite refresh in WebKit, works in others.
        
        Test: http/tests/misc/meta-refresh-stray-single-quote.html

        * platform/network/HTTPParsers.cpp:
        (WebCore::parseHTTPRefresh): Allow for a stray quote character at the start of the URL string.

2009-07-30  Mark Rowe  <mrowe@apple.com>

        Reviewed by Adele Peterson and Jon Honeycutt.

        Fix <https://bugs.webkit.org/show_bug.cgi?id=27828> for Mac.
        Bug 27828: Title attribute is not respected on option elements

        No tests added as it is not clear how to test a tool tip from DumpRenderTree.

        * platform/PopupMenuClient.h: Add a method for retrieving the tool tip of an item.
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenu::populate): Set the tool tip of the menu item to that of the represented item.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::itemToolTip): Expose the title attribute of the element as the tool tip.
        * rendering/RenderMenuList.h:
        * rendering/RenderTextControlSingleLine.h:
        (WebCore::RenderTextControlSingleLine::itemToolTip): Return an empty string, indicating no tool tip, for
        the popup menu in RenderTextControlSingleLine.

2009-07-30  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Dan Bernstein.

        Remove ChromeClientChromium::setToolTip().
        https://bugs.webkit.org/show_bug.cgi?id=27861

        This patch is just to remove a temporarily introduced overloaded empty
        virtual function. No test is needed.

        * page/chromium/ChromeClientChromium.h:

2009-07-30  Michael Nordman  <michaeln@google.com>

        Reviewed by Darin Fisher.

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

        ApplicationCacheHost refactoring.
        
        1) Better encapsulate the interfaces between webcore common code
        and the appcache system within a new class ApplicationCacheHost.

        2) Use that interface throughout the loader system, replacing inline appcache logic.

        3) Implement the interface in terms of webcore's appcache system.

        4) Add the new files to various makefiles.

        5) Implement protocolHostAndPortAreEqual() in KURLGoogle.cpp

        No new features, no new tests. The existing layout tests all pass.

        * GNUmakefile.am:
        * WebCore.base.exp:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/HTMLHtmlElement.cpp:
        (WebCore::HTMLHtmlElement::insertedIntoDocument):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore::DocumentLoader::~DocumentLoader):
        (WebCore::DocumentLoader::mainReceivedError):
        (WebCore::DocumentLoader::detachFromFrame):
        (WebCore::DocumentLoader::setPrimaryLoadComplete):
        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::applicationCacheHost):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::canCachePageContainingThisFrame):
        (WebCore::FrameLoader::logCanCacheFrameDecision):
        (WebCore::FrameLoader::loadResourceSynchronously):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::didReceiveResponse):
        (WebCore::MainResourceLoader::didReceiveData):
        (WebCore::MainResourceLoader::didFinishLoading):
        (WebCore::MainResourceLoader::didFail):
        (WebCore::MainResourceLoader::load):
        * loader/MainResourceLoader.h:
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::load):
        (WebCore::ResourceLoader::willSendRequest):
        (WebCore::ResourceLoader::didReceiveResponse):
        (WebCore::ResourceLoader::didFail):
        * loader/ResourceLoader.h:
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::selectCache):
        (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
        (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
        (WebCore::ApplicationCacheGroup::disassociateDocumentLoader):
        (WebCore::ApplicationCacheGroup::update):
        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
        (WebCore::ApplicationCacheGroup::manifestNotFound):
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        (WebCore::ApplicationCacheGroup::startLoadingEntry):
        (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
        (WebCore::CallCacheListenerTask::create):
        (WebCore::CallCacheListenerTask::performTask):
        (WebCore::CallCacheListenerTask::CallCacheListenerTask):
        (WebCore::ApplicationCacheGroup::postListenerTask):
        * loader/appcache/ApplicationCacheGroup.h:
        * loader/appcache/ApplicationCacheHost.cpp: Added.
        * loader/appcache/ApplicationCacheHost.h: Added.
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::transferApplicationCache):
        * loader/appcache/ApplicationCacheStorage.h:
        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::DOMApplicationCache):
        (WebCore::DOMApplicationCache::disconnectFrame):
        (WebCore::DOMApplicationCache::applicationCacheHost):
        (WebCore::DOMApplicationCache::status):
        (WebCore::DOMApplicationCache::update):
        (WebCore::DOMApplicationCache::swapCache):
        (WebCore::DOMApplicationCache::addEventListener):
        (WebCore::DOMApplicationCache::removeEventListener):
        (WebCore::DOMApplicationCache::dispatchEvent):
        (WebCore::DOMApplicationCache::callListener):
        (WebCore::DOMApplicationCache::toEventName):
        (WebCore::DOMApplicationCache::toEventType):
        * loader/appcache/DOMApplicationCache.h:
        (WebCore::DOMApplicationCache::):
        (WebCore::DOMApplicationCache::setAttributeEventListener):
        (WebCore::DOMApplicationCache::getAttributeEventListener):
        (WebCore::DOMApplicationCache::clearAttributeEventListener):
        (WebCore::DOMApplicationCache::callEventListener):
        (WebCore::DOMApplicationCache::setOnchecking):
        (WebCore::DOMApplicationCache::onchecking):
        (WebCore::DOMApplicationCache::setOnerror):
        (WebCore::DOMApplicationCache::onerror):
        (WebCore::DOMApplicationCache::setOnnoupdate):
        (WebCore::DOMApplicationCache::onnoupdate):
        (WebCore::DOMApplicationCache::setOndownloading):
        (WebCore::DOMApplicationCache::ondownloading):
        (WebCore::DOMApplicationCache::setOnprogress):
        (WebCore::DOMApplicationCache::onprogress):
        (WebCore::DOMApplicationCache::setOnupdateready):
        (WebCore::DOMApplicationCache::onupdateready):
        (WebCore::DOMApplicationCache::setOncached):
        (WebCore::DOMApplicationCache::oncached):
        (WebCore::DOMApplicationCache::setOnobsolete):
        (WebCore::DOMApplicationCache::onobsolete):
        (WebCore::DOMApplicationCache::~DOMApplicationCache):
        * platform/KURLGoogle.cpp:
        (WebCore::protocolHostAndPortAreEqual):

2009-07-30  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 27854 - crash at WebCore::AXObjectCache::notificationPostTimerFired
        https://bugs.webkit.org/show_bug.cgi?id=27854

        AccessibilityObjects need to be retained while waiting to fire their notifications, otherwise
        they can disappear and then lead to crashes.
       
        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::notificationPostTimerFired):
        (WebCore::AXObjectCache::postNotification):
        * accessibility/AXObjectCache.h:

2009-07-30  Simon Fraser  <simon.fraser@apple.com>

        Minor change to earlier commit suggested by Darin Adler.
        Use the variable rather than dereferencing 'it' again.

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

2009-07-30  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Animation with a timing function property in a keyframe eats CPU
        https://bugs.webkit.org/show_bug.cgi?id=27856
        <rdar://problem/7104476> Animation demo uses lots of CPU
        
        Don't include animation-timing-function in the list of properties to
        animate in a keyframe animation, because this property is not animated;
        instead, it describes the timing function to apply to this keyframe.
        
        This prevents the animation code from thinking that there's a property
        that it has to software-animate, and thus firing the animation timer frequently.
        
        Not testable because there is no visible impact.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::keyframeStylesForAnimation): Don't add
        CSSPropertyWebkitAnimationTimingFunction to the list of properties to animate.

        * page/animation/KeyframeAnimation.cpp
        (WebCore::KeyframeAnimation::getKeyframeAnimationInterval): Add a comment

2009-07-30  Mike Fenton  <mike.fenton@torchmobile.com>

         Reviewed by Adam Treat.

         Apply colour style to buttons that use Theme settings in Qt.

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

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

=== End merge of nitro-extreme branch 2009-07-30 ===

2009-05-11  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Make WebCore compile with the new JS number representation.

        * ForwardingHeaders/runtime/JSAPIValueWrapper.h: Added.
        * ForwardingHeaders/runtime/JSNumberCell.h: Removed.
        * bindings/js/ScriptEventListener.cpp:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/c/c_instance.cpp:

=== Start merge of nitro-extreme branch 2009-07-30 ===

2009-07-30  Dean McNamee  <deanm@chromium.org>

        Reviewed by Dimitri Glazkov.

        Don't try to hash member function pointers, instead use a precomputed value based on the field.
        https://bugs.webkit.org/show_bug.cgi?id=27843

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8SVGPODTypeWrapper.h:
        (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
        (WebCore::PODTypeWrapperCacheInfo::operator==):
        (WebCore::PODTypeWrapperCacheInfoHash::hash):
        (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):

2009-07-30  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Simon Fraser.

        Fix compiler warning.

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

2009-07-29  Matt Perry  <mpcomplete@chromium.org>

        Reviewed by Adam Barth.

        Add a way to register V8 extensions for Isolated Worlds only.
        https://bugs.webkit.org/show_bug.cgi?id=27785

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::evaluateInNewWorld):
        (WebCore::ScriptController::evaluateInNewContext):
        * bindings/v8/ScriptController.h:
        * bindings/v8/V8IsolatedWorld.cpp:
        (WebCore::V8IsolatedWorld::evaluate):
        * bindings/v8/V8IsolatedWorld.h:
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluateInNewWorld):
        (WebCore::V8Proxy::evaluateInNewContext):
        (WebCore::V8Proxy::createNewContext):
        (WebCore::V8Proxy::initContextIfNeeded):
        (WebCore::V8Proxy::registerExtensionWithV8):
        (WebCore::V8Proxy::registerExtension):
        * bindings/v8/V8Proxy.h:

2009-07-30  Mike Fenton  <mike.fenton@torchmobile.com>

         Reviewed by Adam Treat.

         Add previously defined out support to PopupMenuQt for marking entries as
         disabled and for selecting the desired item.

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

         * platform/qt/PopupMenuQt.cpp:
         (WebCore::PopupMenu::populate):

2009-07-30  Darin Adler  <darin@apple.com>

        Reviewed by David Levin.

        Use checked casts for render tree
        https://bugs.webkit.org/show_bug.cgi?id=23522

        Next step: Add new toRenderWidget cast and use it everywhere.

        Use checked casts in all the places that were using static_cast
        but there is a checked cast available.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::stringValue):
        (WebCore::AccessibilityRenderObject::widget):
        (WebCore::AccessibilityRenderObject::widgetForAttachmentView):
        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (getPangoLayoutForAtk):
        * dom/Document.cpp:
        (WebCore::widgetForNode):
        (WebCore::Document::setFocusedNode):
        * html/HTMLEmbedElement.cpp:
        (WebCore::findWidgetRenderer):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::defaultEventHandler):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::defaultEventHandler):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadSubframe):
        * loader/PluginDocument.cpp:
        (WebCore::PluginTokenizer::writeRawData):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::hitTestResultAtPoint):
        (WebCore::subframeForTargetNode):
        (WebCore::EventHandler::handleWheelEvent):
        * page/Frame.cpp:
        (WebCore::isFrameElement):
        * page/PrintContext.cpp:
        (WebCore::PrintContext::computePageRects):
        * page/android/EventHandlerAndroid.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * page/chromium/EventHandlerChromium.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * page/chromium/FrameChromium.cpp:
        (WebCore::computePageRectsForFrame):
        * page/gtk/EventHandlerGtk.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * page/haiku/EventHandlerHaiku.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        (WebCore::EventHandler::passSubframeEventToSubframe):
        * page/win/FrameWin.cpp:
        (WebCore::computePageRectsForFrame):
        * page/wx/EventHandlerWx.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::getCachedImage):
        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeImage):
        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::writeImage):
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::writeImage):
        * platform/qt/ClipboardQt.cpp:
        (WebCore::getCachedImage):
        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::writeImage):
        * platform/win/ClipboardWin.cpp:
        (WebCore::getCachedImage):
        * platform/win/PasteboardWin.cpp:
        (WebCore::Pasteboard::writeImage):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::boxModelObject):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::splitInlines):
        (WebCore::RenderInline::addChildToContinuation):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateImageContents):
        * rendering/TextControlInnerElements.cpp:
        (WebCore::RenderTextControlInnerBlock::positionForPoint):
        Use checked cast instead of static_cast.
        
        * rendering/RenderWidget.h: Added toRenderWidget.

2009-07-30  Yong Li  <yong.li@torchmobile.com>

        Reviewed by George Staikos.

        WINCE PORT: some files modified to build for WINCE
        https://bugs.webkit.org/show_bug.cgi?id=27816

        * accessibility/AccessibilityObject.h:
        * page/win/EventHandlerWin.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * platform/win/PlatformMouseEventWin.cpp:
        (WebCore::messageToEventType):
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/win/PlatformScreenWin.cpp:
        (WebCore::deviceInfoForWidget):
        (WebCore::screenIsMonochrome):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::paint):
        (WebCore::registerPopup):
        (WebCore::PopupWndProc):

2009-07-30  Yong Li  <yong.li@torchmobile.com>

        Reviewed by George Staikos.

        WINCE PORT: modified graphics files
        https://bugs.webkit.org/show_bug.cgi?id=27779

        * platform/graphics/BitmapImage.h:
        (WebCore::BitmapImage::mayFillWithSolidColor):
        * platform/graphics/Gradient.h:
        * platform/graphics/GraphicsContext.cpp:
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/ImageSource.h:
        * platform/graphics/MediaPlayer.cpp:
        * platform/graphics/Path.h:
        * platform/graphics/Pattern.h:
        * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
        (WebCore::Matrix3DTransformOperation::blend):
        * platform/graphics/transforms/MatrixTransformOperation.cpp:
        (WebCore::MatrixTransformOperation::blend):
        * platform/graphics/transforms/TransformationMatrix.h:
        (WebCore::TransformationMatrix::operator*):
        * platform/graphics/win/IconWin.cpp:
        (WebCore::Icon::createIconForFile):
        (WebCore::Icon::createIconForFiles):
        (WebCore::Icon::paint):

2009-07-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Ariya Hidayat.

        Improve efficiency by rewriting code doing three hash table
        lookups, which can be replaced by just one as pointed out
        by Darin Adler.

        Though being slightly less clear, this should be considerable
        faster.

        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::remove):

2009-07-30  Antonio Gomes   <antonio.gomes@openbossa.org>

        Reviewed by Gustavo Noronha.

        [Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 2)
        https://bugs.webkit.org/show_bug.cgi?id=27651

        Removed unneeded includes (gdk.h and gtk.h) and added glib.h and cairo.h instead.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:

2009-07-30  Antonio Gomes   <antonio.gomes@openbossa.org>

        Reviewed by Gustavo Noronha.

        [Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 1)
        https://bugs.webkit.org/show_bug.cgi?id=27651

        Fixed many code style issues pointed by WebKitTools/Scripts/modules/cpplint.py
        No functionality change at all.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
        * platform/graphics/gtk/VideoSinkGStreamer.h:

2009-07-30  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Simon Hausmann.

        Allow to explicitly choose a preferred plugin for a mimetype.

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

        When the preferred plugin is set for a specific MIME type, it will be
        always picked up, regardless of its version, quirks etc.

        Client applications may want to use that API to resolve mimetype
        ambiguity in a custom way, rather than in the default way that is
        currently used in WebKit.

        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::pluginForMIMEType):
        (WebCore::PluginDatabase::MIMETypeForExtension):
        (WebCore::PluginDatabase::setPreferredPluginForMIMEType): Added.
        (WebCore::PluginDatabase::remove):
        (WebCore::PluginDatabase::clear):
        * plugins/PluginDatabase.h:

2009-07-30  Jakub Wieczorek  <faw217@gmail.com>

        [Qt] Fix build with Qt 4.4 after r46535.

        * platform/network/qt/ResourceHandleQt.cpp:

2009-07-30  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        Video elements fires another "load" event when attached to DOM
        https://bugs.webkit.org/show_bug.cgi?id=27623

        Test: media/media-load-event.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::insertedIntoDocument):
            Only schedule load when element's network state is NETWORK_EMPTY.

2009-07-30  Anton Muhin  <antonm@chromium.org>

        Reviewed by David Levin.

        Cache v8 strings when converting from WebCore::String to v8 string.
        https://bugs.webkit.org/show_bug.cgi?id=27655

        * bindings/v8/V8Binding.cpp:
        (WebCore::v8String): now just immediately calls v8ExternalString
        (WebCore::enableStringImplCache): enables caching of conversions from WebCore::StringImpl to
        v8::String
        (WebCore::makeExternalString): utilty function to create external v8::String out of
        WebCore::String
        (WebCore::getStringCache): static function to access string cache
        (WebCore::cachedStringCallback): callback for weak handles of v8::Strings stored in the
        cache
        (WebCore::v8ExternalString): if caching enabled, checks if there is already v8::String for
        the given WebCore::StringImpl.  If present, returns it, otherwise creates a new v8 external
        string.
        * bindings/v8/V8Binding.h:

2009-07-30  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=25535
        [GTK] object:state-changed:checked events missing for radio buttons and checkboxes

        Implement state-changed:checked for radio buttons and checkboxes.

        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setChecked):

2009-07-30  Xan Lopez  <xlopez@igalia.com>

        Forgot the 'break'.

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::checkOrEnableIfNeeded):

2009-07-30  Xan Lopez  <xlopez@igalia.com>

        Try to fix Mac build.

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::checkOrEnableIfNeeded):

2009-07-29  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Adam Barth.

        Add missing enumeration value to switch.

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::checkOrEnableIfNeeded):

2009-07-29  Jian Li  <jianli@chromium.org>

        Reviewed by Darin Adler.

        Workers need to throw an exception when presented with invalid URLs.
        https://bugs.webkit.org/show_bug.cgi?id=27770

        Tests covered by worker-constructor.html and worker-redirect.html.

        * bindings/js/JSWorkerConstructor.cpp:
        (WebCore::constructWorker):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * workers/Worker.cpp:
        (WebCore::Worker::Worker):
        * workers/Worker.h:
        (WebCore::Worker::create):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::importScripts):
        * workers/WorkerScriptLoader.cpp:
        (WebCore::WorkerScriptLoader::loadSynchronously):
        (WebCore::WorkerScriptLoader::loadAsynchronously):
        (WebCore::WorkerScriptLoader::createResourceRequest):
        * workers/WorkerScriptLoader.h:

2009-07-29  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        (REGRESSION: r46039) Should restore previous connections-per-host limit for non-http(s) hosts
        https://bugs.webkit.org/show_bug.cgi?id=27822 and <rdar://problem/7091659>

        * loader/loader.cpp:
        (WebCore::Loader::Host::servePendingRequests): For non-http(s) hosts, restore the previous behavior of 
          only limiting connections while parsing and still trying to figure out stylesheet urls.

2009-07-29  Yong Li  <yong.li@torchmobile.com>

        Reviewed by George Staikos.

        WINCE PORT: Add WebCore/page/wince/FrameWince.cpp
        https://bugs.webkit.org/show_bug.cgi?id=27729

        * page/wince/FrameWince.cpp: Added.

2009-07-29  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Justin Garcia.

        REGRESSION(r46370-46426): /editing/style/remove-underline-from-stylesheet.html fails
        https://bugs.webkit.org/show_bug.cgi?id=27809

        The patch primarily rebaselines the tests but also fixes the bug in currentlyHasStyle.
        To determine that a particular text decoration is present, currentlyHasStyle should refer to
        -webkit-text-decorations-in-effect to take care of styles set by u, s, strike tags and ancestors' CSS.
        We also need to update layout to accommodate the changes made within ApplyStyleCommand.

        * editing/ApplyStyleCommand.cpp: ditto
        (WebCore::StyleChange::currentlyHasStyle): ditto

2009-07-29  Yong Li  <yong.li@torchmobile.com>

        Reviewed by George Staikos.

        WINCE PORT: changes to platform/text files
        https://bugs.webkit.org/show_bug.cgi?id=27715

        * platform/text/String.cpp:
        (WebCore::String::format):
        * platform/text/TextEncoding.cpp:
        (WebCore::TextEncoding::encode):
        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::buildBaseTextCodecMaps):
        (WebCore::extendTextCodecMaps):

2009-07-29  Yong Li  <yong.li@torchmobile.com>

        Reviewed by Adam Roben.

        FIX: HDC leaks in PopupMenuWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=27817

        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::paint):

2009-07-29  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Illegal values for <ol start> cause list numbering start at 0 (should start at 1)
        https://bugs.webkit.org/show_bug.cgi?id=27810

        Test: fast/lists/ol-start-parsing.html

        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::parseMappedAttribute): Check the result of toInt
        and use the value 1 if it failed to parse. Before we were getting toInt's default
        behavior, which is to return 0.

2009-07-29  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Darin Adler.

        Added foundation work to allow a testing infrastructure for the Web
        Inspector.

        * inspector/InspectorClient.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::scriptObjectReady): Tell the testing
        harness that the window object is ready.
        * loader/EmptyClients.h: Empty class support for SVG.
        (WebCore::EmptyInspectorClient::inspectorWindowObjectCleared):

2009-07-29  Chris Fleizach  <cfleizach@apple.com>

        Build fix for windows after landing
        Bug 27807 - AX: move re-usable code into more common areas for other platforms
   
        Apparently bzero doesn't exist on windows.

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):

2009-07-29  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Justin Garcia.

        Bug 27807 - AX: move re-usable code into more common areas for other platforms
        https://bugs.webkit.org/show_bug.cgi?id=27807

        Moves some accessibility code that was in the Mac file to a more common place so 
        it can be used by other platforms. 
        This includes:
           Making TextMarkerData from a VisiblePosition.
           Making a VisiblePosition from TextMarkerData.
           Finding the anchor accessibility object for an arbitrary Node.

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
        (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
        * accessibility/AXObjectCache.h:
        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::anchorElementForNode):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::visiblePositionForIndex):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (textMarkerForVisiblePosition):
        (visiblePositionForTextMarker):
        (AXAttributedStringAppendText):

2009-07-29  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        Inset box shadows are incorrectly accounted for in visual overflow
        computations
        https://bugs.webkit.org/show_bug.cgi?id=27811

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesHorizontally): Use
            getBoxShadowHorizontalExtent().
        (WebCore::InlineFlowBox::placeBoxesVertically): Use
            getBoxShadowVerticalExtent(). Removed duplicate code to get the
            text-shadow overflow.
        (WebCore::InlineFlowBox::paint): Use getBoxShadowHorizontalExtent().
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::overflowHeight): Use
            getBoxShadowVerticalExtent().
        (WebCore::RenderBlock::overflowWidth): Use
            getBoxShadowHorizontalExtent().
        (WebCore::RenderBlock::overflowLeft): Ditto.
        (WebCore::RenderBlock::overflowTop): Use getBoxShadowVerticalExtent().
        (WebCore::RenderBlock::overflowRect): Use getBoxShadowExtent().
        (WebCore::RenderBlock::layoutBlock): Ditto.
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::calculateRects): Exclude inset shadows.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Use
            getBoxShadowHorizontalExtent() and getBoxShadowVerticalExtent().
        (WebCore::RenderObject::adjustRectForOutlineAndShadow): Exclude inset
            shadows.
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::setTextShadow): Also assert that text-shadows are
            not inset.
        (WebCore::RenderStyle::getBoxShadowExtent): Added. Excludes inset
            shadows.
        (WebCore::RenderStyle::getBoxShadowHorizontalExtent): Ditto.
        (WebCore::RenderStyle::getBoxShadowVerticalExtent): Ditto.
        * rendering/style/RenderStyle.h:

2009-07-29  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Fix crash when an element with display: table-row is composited (e.g. via a 3d-transform)
        https://bugs.webkit.org/show_bug.cgi?id=27796
        
        Avoid repainting when a layer becomes composited if the renderer is not parented
        yet, because it makes no sense to do so.
        
        If the table row is a repaint container, default to the RenderBox implementation
        of clippedOverflowRectForRepaint(), because we cannot hand off the repaint rect
        computation to something that is above the repaint container.

        Test: fast/table/table-row-compositing-repaint-crash.html

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::repaintOnCompositingChange):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::clippedOverflowRectForRepaint):

2009-07-29  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=27791
        307 redirects of POSTs should use POST, not GET

        Test: http/tests/loading/redirect-methods.html

        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::willSendRequest):

        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):

2009-07-29  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Adding -webkit-animation-play-state back in
        https://bugs.webkit.org/show_bug.cgi?id=26867

        We've decided to keep -webkit-animation-play-state. So this
        just adds back in the code from https://bugs.webkit.org/show_bug.cgi?id=22907.

        Test: animations/play-state.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseAnimationPlayState):
        (WebCore::CSSParser::parseAnimationProperty):
        * css/CSSParser.h:
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::mapAnimationPlayState):
        * css/CSSStyleSelector.h:
        * platform/animation/Animation.h:
        * rendering/style/RenderStyleConstants.h:
        (WebCore::):

2009-07-29  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Simon Hausmann.

        Expose the default plugin directories and the current directory set of
        the plugin database as public API.

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

        * plugins/PluginDatabase.h:
        (WebCore::PluginDatabase::pluginDirectories):

2009-07-29  Alpha Lam  <hclam@chromium.org>

        Reviewed by David Levin.

        [chromium] Font size for current time display in media controls panel
        is affected by body font size.
        https://bugs.webkit.org/show_bug.cgi?id=27799

        Fixing the problem of rendering by explicitly setting the font size
        for the time displays.

        No new tests since this is covered by existing media tests.

        * css/mediaControlsChromium.css:

2009-07-29  Mike Fenton  <mike.fenton@torchmobile.com>

        Reviewed by David Levin.

        Update WebCore/page/ContextMenuController.cpp to conform to WebKit
        Style Guidelines as identified by cpp_style.py.
        https://bugs.webkit.org/show_bug.cgi?id=27613

        * page/ContextMenuController.cpp:
        (WebCore::openNewWindow):
        (WebCore::ContextMenuController::contextMenuItemSelected):

2009-07-29  Dean McNamee  <deanm@chromium.org>

        Reviewed by Dimitri Glazkov.

        Removed unused wrapCPointer/extractCPointer from the v8 bindings.
        https://bugs.webkit.org/show_bug.cgi?id=27805

        * bindings/v8/V8DOMWrapper.h:

2009-07-29  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Simon Hausmann.

        Expose the PluginDatabase::pluginForMIMEType() function as public API.
        https://bugs.webkit.org/show_bug.cgi?id=27651

        It can be used to determine the appropriate plugin for a mime type,
        without guessing the mimetype from the extension.

        * plugins/PluginDatabase.h:

2009-07-29  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Adam Treat.

        Allow to enable/disable particular plugin packages.
        https://bugs.webkit.org/show_bug.cgi?id=27651

        Disabled plugins will not be picked up when looking for a plugin
        supporting the requested mimetypes.

        Client applications may want to use that API to disable specific
        plugins.

        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::pluginForMIMEType):
        (WebCore::PluginDatabase::MIMETypeForExtension):
        * plugins/PluginPackage.cpp:
        (WebCore::PluginPackage::PluginPackage):
        (WebCore::PluginPackage::setEnabled):
        * plugins/PluginPackage.h:
        (WebCore::PluginPackage::isEnabled):

2009-07-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Adam Treat.

        [WML] Running WML tests in random order multiple times exposes subtle bugs
        https://bugs.webkit.org/show_bug.cgi?id=27801

        Remove superflous assertions regarding the parent node. Under certain circumstances
        these can even fire (related to garbage collection while destructing). Fixes random order
        WML tests (run-webkit-tests fast/wml wml http/tests/wml fast/wml ... --random)

        The wml/enter-first-card-with-events.html test relied on a bug in our implementation of
        WMLPageState::reset() - the history stack should still contain the current card afterwards.
        Fix that bug by preserving the first item in BackForwardList::clearWMLPageHistory().

        * history/BackForwardList.cpp: Preserve first item in history stack, as demanded by the spec.
        (WebCore::BackForwardList::clearWMLPageHistory):
        * wml/WMLDoElement.cpp:
        (WebCore::WMLDoElement::insertedIntoDocument):
        (WebCore::WMLDoElement::removedFromDocument):
        * wml/WMLNoopElement.cpp:
        (WebCore::WMLNoopElement::insertedIntoDocument):
        * wml/WMLOnEventElement.cpp:
        (WebCore::eventHandlingParent):
        * wml/WMLPostfieldElement.cpp:
        (WebCore::WMLPostfieldElement::insertedIntoDocument):
        (WebCore::WMLPostfieldElement::removedFromDocument):
        * wml/WMLSetvarElement.cpp:
        (WebCore::WMLSetvarElement::insertedIntoDocument):
        (WebCore::WMLSetvarElement::removedFromDocument):
        * wml/WMLTaskElement.cpp:
        (WebCore::WMLTaskElement::insertedIntoDocument):
        (WebCore::WMLTaskElement::removedFromDocument):
        * wml/WMLTimerElement.cpp:
        (WebCore::WMLTimerElement::insertedIntoDocument):
        (WebCore::WMLTimerElement::removedFromDocument):

2009-07-29  Yongjun Zhang  <yongjun.zhang@nokia.com>

        Reviewed by Simon Hausmann.

        https://bugs.webkit.org/show_bug.cgi?id=26848
        [Qt] ResourceHandle::willLoadFromCache needs to be implemented QtWebKit.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadItem):
        * platform/network/ResourceHandle.h:
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::willLoadFromCache):
        * platform/network/curl/ResourceHandleCurl.cpp:
        (WebCore::ResourceHandle::willLoadFromCache):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::willLoadFromCache):
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::willLoadFromCache):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::):

2009-07-29  Alpha Lam  <hclam@chromium.org>

        Reviewed by David Levin.

        Media control panel for <video> in MediaDocument is mis-placed
        https://bugs.webkit.org/show_bug.cgi?id=27798

        Fixing a rendering problem: When <video> is displayed in MediaDocument,
        the media control panel overlaps with the video by 16 pixels.

        No new tests as this is covered by existing media tests.

        * css/mediaControlsChromium.css:

2009-07-29  Adam Barth  <abarth@webkit.org>

        Unreviewed build fix for Chromium.  Those last two patches weren't
        independent despite the clean merge.

        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::V8AbstractEventListener):

2009-07-29  Avi Drissman  <avi@chromium.org>

        Reviewed by Darin Adler.

        ImageSourceCG makes bad data refs (race condition causes blank images)
        https://bugs.webkit.org/show_bug.cgi?id=27777

        Make ImageSourceCG guarantee that the lifetime of the SharedBuffer that
        backs the CFDataRef will be long enough.

        No new tests, as this fixes a bug with a race condition that is
        difficult to trigger.

        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::setData):

2009-07-29  Keishi Hattori  <casey.hattori@gmail.com>

        Reviewed by Timothy Hatcher.

        Inspector: Console should show completions for the command line APIs
        https://bugs.webkit.org/show_bug.cgi?id=27696

        * inspector/front-end/Console.js:
        (WebInspector.Console.prototype._reportCompletions): Adds properties from _inspectorCommandLineAPI to 
        completions when available.
        * inspector/front-end/utilities.js:
        (Object.properties): Added.
        (Object.sortedProperties):

2009-07-29  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Eric Seidel.

        Refactor the first step of layout in RenderFlexibleBox.cpp
        https://bugs.webkit.org/show_bug.cgi?id=27704

        No new tests as this change is just a refactoring.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::gatherFlexChildrenInfo):
        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderFlexibleBox::layoutVerticalBox):

2009-07-29  Kent Tamura  <tkent@chromium.org>

        Reviewed by Nikolas Zimmermann.

        Fix a bug that HTMLOptionElement::value() returns an incorrect
        value in a case that the element has a label attribute and no
        value attribute.
        https://bugs.webkit.org/show_bug.cgi?id=27760

        Test: fast/forms/option-value-and-label.html

        * dom/OptionElement.cpp:
        (WebCore::OptionElement::collectOptionLabelOrText):
        (WebCore::OptionElement::collectOptionInnerText):
        (WebCore::OptionElement::normalizeText):
        (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
        (WebCore::OptionElement::collectOptionValue):
        * dom/OptionElement.h:
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::text):
        * wml/WMLOptionElement.cpp:
        (WebCore::WMLOptionElement::text):

2009-07-29  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        [V8] Fix isolated world wrappers for event handlers
        https://bugs.webkit.org/show_bug.cgi?id=27533

        Instead of getting the context from the frame, we cache the context
        when the listener is created so that we get the context for the right
        world.

        Test: http/tests/security/isolatedWorld/click-event.html

        * WebCore.gypi:
        * bindings/v8/OwnHandle.h: Added.
        (WebCore::OwnHandle::OwnHandle):
        (WebCore::OwnHandle::~OwnHandle):
        (WebCore::OwnHandle::get):
        (WebCore::OwnHandle::set):
        (WebCore::OwnHandle::release):
        (WebCore::OwnHandle::adopt):
        (WebCore::OwnHandle::swap):
        (WebCore::OwnHandle::clear):
        (WebCore::OwnHandle::makeWeak):
        (WebCore::OwnHandle::weakCallback):
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::V8AbstractEventListener):
        (WebCore::V8AbstractEventListener::handleEvent):
        * bindings/v8/V8AbstractEventListener.h:
        * bindings/v8/V8DOMWrapper.h:

2009-07-29  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        [V8] Teach V8Proxy::context about isolated worlds
        https://bugs.webkit.org/show_bug.cgi?id=27701

        Change V8Proxy::context(Frame*) to understand isolated worlds.  Audit
        all callers of this method to make sure they want isolated worlds.  In
        cases where we really want the main world, I've changed the call to
        V8Proxy::mainWorldContext(Frame*).
        
        The main visible change is to the document.open method when called with
        more than two arguments.  This design seems more likely to lead to
        future correct code.

        Test: http/tests/security/isolatedWorld/document-open.html

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGesture):
        (WebCore::ScriptController::evaluate):
        (WebCore::ScriptController::bindToWindowObject):
        (WebCore::ScriptController::collectGarbage):
        (WebCore::createScriptObject):
        (WebCore::ScriptController::createScriptObjectForPluginElement):
        * bindings/v8/ScriptObjectQuarantine.cpp:
        (WebCore::getQuarantinedScriptObject):
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::handleEvent):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getConstructor):
        (WebCore::V8DOMWrapper::setHiddenWindowReference):
        (WebCore::V8DOMWrapper::convertNodeToV8Object):
        (WebCore::V8DOMWrapper::convertWindowToV8Object):
        * bindings/v8/V8Helpers.cpp:
        (WebCore::toV8Context):
        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::getListenerFunction):
        (WebCore::V8LazyEventListener::getWrappedListenerFunction):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::context):
        (WebCore::V8Proxy::mainWorldContext):
        (WebCore::V8Proxy::bindJsObjectToWindow):
        * bindings/v8/V8Proxy.h:

2009-07-29  Balazs Kelemen  <kelemen.balazs.3@stud.u-szeged.hu>

        Reviewed by Simon Hausmann.

        Fix the Qt build, add missing file.

        * WebCore.pro:

2009-07-28  Jon Honeycutt  <jhoneycutt@apple.com>

        Speculative fix for <rdar://problem/7005077> WER: Crash in
        WebCore::PluginStream::destroyStream+279 (1310510882)

        Reviewed by Oliver Hunt.

        * plugins/PluginStream.cpp:
        (WebCore::PluginStream::destroyStream):
        Move the "protector" RefPtr out of the block that dispatches
        notifications and into the function level; if NPN_DestroyStream were
        called from NPP_NewStream as the comment warns, we would be deleted at
        the end of the block.

2009-07-28  Joseph Pecoraro  <joepeck02@gmail.com>

        Inspector: Tab Through the DOM Storage DataGrid when Editing

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

        Reviewed by Timothy Hatcher.

        * inspector/front-end/DOMStorageDataGrid.js:
        (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): refactored to directly edit and select a column
        (WebInspector.DOMStorageDataGrid.prototype._startEditing):
        (WebInspector.DOMStorageDataGrid.prototype._editingCommitted.moveToNextIfNeeded): handles moveDirection on a commit
        (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): uses moveToNext to traverse appropriately

2009-07-28  Joseph Pecoraro  <joepeck02@gmail.com>

        Inspector: Create New DOM Storage Items via DataGrid

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

        Reviewed by Timothy Hatcher.

        * inspector/front-end/DOMStorageDataGrid.js:
        (WebInspector.DOMStorageDataGrid.prototype._startEditing): click anyway means creationNode
        (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): fix unintended globals
        (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow): creationNode is special case
        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid.prototype.addCreationNode): maintain a quick ref to the single creationNode
        (WebInspector.CreationDataGridNode): new type of node
        (WebInspector.CreationDataGridNode.prototype.makeNormal): convert to a normal node
        * inspector/front-end/DatabasesPanel.js:
        (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage): add a creationNode to the GridData

2009-07-28  Joseph Pecoraro  <joepeck02@gmail.com>

        Inspector: Automatically Refresh DOM Storage Grids on "storage" event

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

        Reviewed by Timothy Hatcher.

        * inspector/front-end/DatabasesPanel.js:
        (WebInspector.DatabasesPanel.prototype.show): trigger adding the listener
        (WebInspector.DatabasesPanel.prototype.reset): trigger removing the listener
        (WebInspector.DatabasesPanel.prototype._registerStorageEventListener): register the listener on the inspected window
        (WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): unregister the listener on the inspected window
        (WebInspector.DatabasesPanel.prototype._storageEvent): handle the storage event

2009-07-28  Keishi Hattori  <casey.hattori@gmail.com>

        Inspector should support inspect() in the command line.

        https://bugs.webkit.org/show_bug.cgi?id=19874
        rdar://problem/6070225

        Reviewed by Timothy Hatcher.

        * inspector/front-end/Console.js:
        (WebInspector.Console.prototype._ensureCommandLineAPIInstalled.inspectObject):
        (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
        * inspector/front-end/DatabasesPanel.js:
        (WebInspector.DatabasesPanel.prototype.revealAndSelectDomStorage): Added.
        (WebInspector.DatabasesPanel.prototype.revealAndSelectDatabase): Added.
        (WebInspector.DatabasesPanel.prototype.showDatabase): 

2009-07-28  Keishi Hattori  <casey.hattori@gmail.com>

        The rest of: Web Inspector: Add inspected node using public console API.

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

        Reviewed by Timothy Hatcher.

        * inspector/front-end/Console.js:
        (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Removed _inspectorCommandLineAPI._addInspectedNode.
        (WebInspector.Console.prototype.addInspectedNode): Added.

2009-07-28  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Accept autocomplete on 'End' key pressed.

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

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype.handleKeyEvent):

2009-07-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by David Levin.

        [Qt] Build fix after r46502
        https://bugs.webkit.org/show_bug.cgi?id=27789

        * WebCore.pro: Remove StorageArea.cpp

2009-07-28  Mark Rowe  <mrowe@apple.com>

        Reviewed by Darin Adler.

        Follow-on fix to r35582.  Replace main thread assertions with WebCoreObjCScheduleDeallocateOnMainThread
        in -dealloc overrides in DOMObject subclasses.

        * bindings/scripts/CodeGeneratorObjC.pm:

2009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Adam Treat.

        [WML] WML*Element classes mostly implement insertedIntoDocument(), not removedFromDocument()
        https://bugs.webkit.org/show_bug.cgi?id=27786

        WML*Element classes mostly implement insertedIntoDocument(), not removedFromDocument().
        The only case where this is relevant in WML is error handling. The parsed WML
        tree fragment is inserted in an XHTML compound error document. This requires
        removedFromDocument() to be correctly implemented otherwhise we run into
        trouble (visible when using run-webkit-tests fast/wml --random).

        * wml/WMLAnchorElement.cpp:
        (WebCore::WMLAnchorElement::registerTask):
        (WebCore::WMLAnchorElement::deregisterTask):
        * wml/WMLAnchorElement.h:
        * wml/WMLDoElement.cpp:
        (WebCore::WMLDoElement::removedFromDocument):
        (WebCore::WMLDoElement::registerTask):
        (WebCore::WMLDoElement::deregisterTask):
        * wml/WMLDoElement.h:
        * wml/WMLEventHandlingElement.cpp:
        (WebCore::WMLEventHandlingElement::registerDoElement):
        (WebCore::WMLEventHandlingElement::deregisterDoElement):
        * wml/WMLEventHandlingElement.h:
        * wml/WMLFieldSetElement.cpp:
        (WebCore::WMLFieldSetElement::removedFromDocument):
        * wml/WMLGoElement.cpp:
        (WebCore::WMLGoElement::registerPostfieldElement):
        (WebCore::WMLGoElement::deregisterPostfieldElement):
        * wml/WMLGoElement.h:
        * wml/WMLIntrinsicEventHandler.cpp:
        (WebCore::WMLIntrinsicEventHandler::deregisterIntrinsicEvent):
        * wml/WMLIntrinsicEventHandler.h:
        * wml/WMLOnEventElement.cpp:
        (WebCore::eventHandlingParent):
        (WebCore::WMLOnEventElement::registerTask):
        (WebCore::WMLOnEventElement::deregisterTask):
        * wml/WMLOnEventElement.h:
        * wml/WMLPostfieldElement.cpp:
        (WebCore::WMLPostfieldElement::removedFromDocument):
        * wml/WMLPostfieldElement.h:
        * wml/WMLSetvarElement.cpp:
        (WebCore::WMLSetvarElement::removedFromDocument):
        * wml/WMLSetvarElement.h:
        * wml/WMLTaskElement.cpp:
        (WebCore::WMLTaskElement::removedFromDocument):
        (WebCore::WMLTaskElement::registerVariableSetter):
        (WebCore::WMLTaskElement::deregisterVariableSetter):
        (WebCore::WMLTaskElement::storeVariableState):
        * wml/WMLTaskElement.h:
        * wml/WMLTimerElement.cpp:
        (WebCore::WMLTimerElement::removedFromDocument):
        * wml/WMLTimerElement.h:

2009-07-28  David Levin  <levin@chromium.org>

        Suggested by Drew Wilson.

        Speculative gtk build fix, follow up to:
        https://bugs.webkit.org/show_bug.cgi?id=27697

        * GNUmakefile.am:

2009-07-28  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        [CSS3 Backgrounds and Borders] Drop the prefix from the border-radius
        properties
        https://bugs.webkit.org/show_bug.cgi?id=27578

        [CSS3 Backgrounds and Borders] Handle the / and 4 values in
        border-radius
        https://bugs.webkit.org/show_bug.cgi?id=27584

        Test: fast/borders/border-radius-parsing.html

        Dropped the -webkit- prefix from the individual corner border-radius
        properties. Added border-radius with the / and 4-value syntax, and
        maintained -webkit-border-radius with legacy 2-value syntax.

        * css/CSSComputedStyleDeclaration.cpp:
        (computedProperties): Removed Webkit prefix.
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Removed Webkit prefix from the
            single-corner properties. Call out to parseBorderRadius() to parse
            border-radius and -webkit-border-radius. 
        (WebCore::completeBorderRadii): Added this helper function that
            completes the values for all four corners when fewer than four are
            specified.
        (WebCore::CSSParser::parseBorderRadius): Added.
        (WebCore::cssPropertyID): Map -webkit-border-*-*-radius to the
            unprefixed property.
        * css/CSSParser.h:
        * css/CSSPropertyLonghand.cpp:
        (WebCore::initShorthandMap): Removed the Webkit prefix. Added an entry
            for border-radius. Kept the entry for -webkit-border-radius.
        * css/CSSPropertyNames.in: Removed the -webkit- prefix from the
            single-corenr properties. Added border-radius. Kept
            -webkit-border-radius because of its conflicting syntax.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Removed the Webkit prefix.
        * page/animation/AnimationBase.cpp:
        (WebCore::ensurePropertyMap): Ditto.

2009-07-28  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        Refactored dedicated-worker-specific code from WorkerThread into DedicatedWorkerThread class.

        WorkerThread needs to be refactored to separate out dedicated-worker functionality.
        https://bugs.webkit.org/show_bug.cgi?id=27697

        This is just a refactoring, so existing tests suffice.

        * GNUmakefile.am:
        Added DedicatedWorkerThread.h/.cpp
        * WebCore.gypi:
        Added DedicatedWorkerThread.h/.cpp
        * WebCore.pro:
        Added DedicatedWorkerThread.h/.cpp
        * WebCore.vcproj/WebCore.vcproj:
        Added DedicatedWorkerThread.h/.cpp
        * WebCore.xcodeproj/project.pbxproj:
        Added DedicatedWorkerThread.h/.cpp
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::evaluate):
        Removed code to track pending activity - this is handled by DedicatedWorkerContext::importScripts() now.
        * bindings/v8/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::evaluate):
        Removed code to track pending activity - this is handled by DedicatedWorkerContext::importScripts() now.
        * workers/DedicatedWorkerContext.cpp:
        (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
        (WebCore::DedicatedWorkerContext::addMessage):
        Forwards console messages to parent document.
        (WebCore::DedicatedWorkerContext::importScripts):
        Now sends the updated pending activity status after importing scripts.
        (WebCore::DedicatedWorkerContext::thread):
        Helper routine that casts WorkerThread to DedicatedWorkerThread.
        * workers/DedicatedWorkerContext.h:
        (WebCore::DedicatedWorkerContext::create):
        * workers/DedicatedWorkerThread.cpp: Added.
        (WebCore::DedicatedWorkerThread::create):
        (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
        (WebCore::DedicatedWorkerThread::~DedicatedWorkerThread):
        (WebCore::DedicatedWorkerThread::createWorkerContext):
        Implementation of the base class factory method to create the appropriate worker context.
        (WebCore::DedicatedWorkerThread::runEventLoop):
        Reports pending activity before running the event loop.
        * workers/DedicatedWorkerThread.h: Added.
        (WebCore::DedicatedWorkerThread::workerObjectProxy):
        Moved from base class.
        * workers/WorkerContext.cpp:
        * workers/WorkerContext.h:
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::WorkerMessagingProxy::startWorkerContext):
        Now creates DedicatedWorkerThread.
        (WebCore::WorkerMessagingProxy::workerThreadCreated):
        Now is passed a DedicatedWorkerThread.
        * workers/WorkerMessagingProxy.h:
        * workers/WorkerThread.cpp:
        (WebCore::WorkerThread::WorkerThread):
        Moved workerObjectProxy param into derived class constructor.
        (WebCore::WorkerThread::workerThread):
        (WebCore::WorkerThread::runEventLoop):
        Moved the event loop execution into a virtual function so DedicatedWorkerThread could report pending activity first.
        * workers/WorkerThread.h:
        (WebCore::WorkerThread::workerContext):

2009-07-28  Nate Chapin  <japhet@chromium.org>

        Reviewed by Darin Fisher.

        Fix V8NPUtils' handling of UTF8 identifiers.

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

        * bindings/v8/V8NPUtils.cpp:
        (getStringIdentifier): Treat the input string as UTF8 instead of ASCII,
            since NPN_GetStringIdentifier() is expecting UTF8.

2009-07-28  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Eric Seidel.

        Misc cleanup in DOM Storage.
        https://bugs.webkit.org/show_bug.cgi?id=27517

        The StorageAreaImpl changes are all for Chromium.  Because the DOM Storage implementation
        runs in a different process from where the Frame object lives, Chromium passes in NULL
        for the sourceFrame.  This affects events and handling privateBrowsing.  Chromium's
        incognito mode does not use the private browsing setting, so that's not a concern.  As for
        events, I've decided to simply disable them for now.

        The StorageNamespaceImpl changes get rid of a stale comment (path is .copy'ed for thread-
        safety) and to add an assert that .copy is only ever called on a SessionStorage namespace.

        Also cleaned up tailing whitespace in several parts of StorageAreaImpl.cpp

        * storage/StorageArea.cpp: Removed.  (It was empty anyway.)
        * storage/StorageAreaImpl.cpp:
        (WebCore::privateBrowsingEnabled): Factored out the check.
        (WebCore::StorageAreaImpl::setItem): Make frame optional.
        (WebCore::StorageAreaImpl::removeItem): ditto
        (WebCore::StorageAreaImpl::clear): ditto
        (WebCore::StorageAreaImpl::dispatchStorageEvent): Disable in Chromium for now.
        * storage/StorageNamespaceImpl.cpp:
        (WebCore::StorageNamespaceImpl::StorageNamespaceImpl): Remove stale comment.
        (WebCore::StorageNamespaceImpl::copy): Add assert that it's SessionStorage.

2009-07-28  Alpha Lam  <hclam@google.com>

        Reviewed by David Levin.

        [chromium] Default UI controls for <video> has rendering problems
        https://bugs.webkit.org/show_bug.cgi?id=27669

        Fixes the bug that <video> in MediaDocument is 1 pixel tall if
        it is playing an audio file by changing the style to be 32px
        tall.

        Also fixes a problem of default styled audio tag that hides the
        all the time digits by expanding the width to 300px.

        Changed the size and position of the current time and remaining
        display to give enough space for the hour digit to be shown.

        There are no new tests provided because this is already covered
        by existing tests.

        * css/mediaControlsChromium.css:

2009-07-28  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Eric Seidel.

        Fix style in PluginPackage and PluginDatabase.
        Part of https://bugs.webkit.org/show_bug.cgi?id=27651

        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::refresh):
        (WebCore::PluginDatabase::findPlugin):
        * plugins/PluginDatabase.h:
        * plugins/PluginPackage.cpp:
        (WebCore::PluginPackage::~PluginPackage):
        (WebCore::PluginPackage::freeLibrarySoon):
        (WebCore::PluginPackage::freeLibraryTimerFired):
        (WebCore::PluginPackage::unloadWithoutShutdown):
        (WebCore::PluginPackage::initializeBrowserFuncs):
        * plugins/PluginPackage.h:

2009-07-28  Anantanarayanan Iyengar  <ananta@chromium.org>

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=27769
        The V8 bindings function V8Proxy::createNewContext can be 
        called during frame shutdown where the activeDocumentLoader
        function in FrameLoader can return NULL. Added a check for the
        same.

        No new tests added as this is an edge case where the V8 
        bindings code is reentered via NPAPI during shutdown. It is 
        difficult to write a consistently reproducible test for this.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::createNewContext):

2009-07-28  Ivan Posva  <iposva@chromium.org>

        Reviewed by Dimitri Glazkov.

        Associate the CanvasPixelData backing store with the
        indexed properties of the wrapper object.

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

        No new tests: Relying on existing Canvas tests.

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate):
        (WebCore::V8DOMWrapper::convertToV8Object):

2009-07-28  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Nuke all references to JSWorkerContextBase.lut.h, it was removed
        back in April.

        * GNUmakefile.am:

2009-07-28  Robert Agoston  <Agoston.Robert@stud.u-szeged.hu>

        Reviewed by Simon Hausmann.

        Fixed references to script generate-webkitversion.pl, and
        removed duplicated generate-webkitversion.pl

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

        * WebCore.pro:
        * platform/generate-webkitversion.pl: Removed.

2009-07-28  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Dmitry Glazkov.

        Web Inspector: encapsulate ScriptState into the ScriptObject, get rid of
        InspectorJSONObject.

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

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/ScriptArray.cpp:
        (WebCore::ScriptArray::ScriptArray):
        (WebCore::ScriptArray::set):
        (WebCore::ScriptArray::length):
        (WebCore::ScriptArray::createNew):
        * bindings/js/ScriptArray.h:
        * bindings/js/ScriptFunctionCall.cpp:
        (WebCore::ScriptFunctionCall::construct):
        * bindings/js/ScriptObject.cpp:
        (WebCore::ScriptObject::ScriptObject):
        (WebCore::ScriptObject::set):
        (WebCore::ScriptObject::createNew):
        (WebCore::ScriptGlobalObject::get):
        * bindings/js/ScriptObject.h:
        * bindings/js/ScriptObjectQuarantine.cpp:
        (WebCore::getQuarantinedScriptObject):
        * bindings/v8/ScriptArray.cpp:
        (WebCore::ScriptArray::ScriptArray):
        (WebCore::ScriptArray::set):
        (WebCore::ScriptArray::length):
        (WebCore::ScriptArray::createNew):
        * bindings/v8/ScriptArray.h:
        * bindings/v8/ScriptFunctionCall.cpp:
        (WebCore::ScriptFunctionCall::construct):
        * bindings/v8/ScriptObject.cpp:
        (WebCore::ScriptObject::ScriptObject):
        (WebCore::ScriptObject::set):
        (WebCore::ScriptObject::createNew):
        (WebCore::ScriptGlobalObject::get):
        * bindings/v8/ScriptObject.h:
        (WebCore::ScriptObject::ScriptObject):
        * bindings/v8/ScriptObjectQuarantine.cpp:
        (WebCore::getQuarantinedScriptObject):
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::addToConsole):
        * inspector/InspectorDOMStorageResource.cpp:
        (WebCore::InspectorDOMStorageResource::bind):
        * inspector/InspectorDatabaseResource.cpp:
        (WebCore::InspectorDatabaseResource::bind):
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::newScriptArray):
        (WebCore::InspectorFrontend::newScriptObject):
        (WebCore::InspectorFrontend::addMessageToConsole):
        (WebCore::InspectorFrontend::addResource):
        (WebCore::InspectorFrontend::updateResource):
        (WebCore::InspectorFrontend::addDatabase):
        (WebCore::InspectorFrontend::addDOMStorage):
        * inspector/InspectorFrontend.h:
        * inspector/InspectorJSONObject.cpp: Removed.
        * inspector/InspectorJSONObject.h: Removed.
        * inspector/InspectorResource.cpp:
        (WebCore::populateHeadersObject):
        (WebCore::InspectorResource::createScriptObject):
        (WebCore::InspectorResource::updateScriptObject):

2009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        [WML] Variable substitution recursion seems to have bugs
        https://bugs.webkit.org/show_bug.cgi?id=27726

        Allow <setvar> elements to depend on the value specified by preceeding <setvar> elements.
        Required by the specification - assure it only works in linear order. A setvar element may
        not depend on the variable state of a following setvar element, only the previous ones.

        Extend wml/variable-reference-valid.html layout test to cover these cases.

        * wml/WMLTaskElement.cpp:
        (WebCore::WMLTaskElement::storeVariableState):

2009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        [WML] Page title doesn't update after variable substitution, if it contained variables
        https://bugs.webkit.org/show_bug.cgi?id=27725

        Fix bug in containsVariableReference() function, we we're decreasing the nameEndPosition
        too much, leading to a bug with 1-char variable names, which were not detected properly.

        Extend wml/variable-reference-valid.html layout test to cover 1-char variable names.
        Also fixes manual-tests/wml/task-refresh-in-anchor.wml, which happened to use 1-char variable names.

        * wml/WMLVariables.cpp:
        (WebCore::containsVariableReference):

2009-07-28  Robert Hogan  <robert@roberthogan.net>

        Reviewed by Simon Hausmann.

        Add WebKit version API to Qt.

        Get the current version of WebKit from WebKit/mac/Configurations/Version.xcconfig
        at compile time and make it available to webkit ports through WebKitVersion.h.

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

        * WebCore.pro: Call generate-webkitversion.pl

2009-07-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Unreviewed make dist build fix.

        * GNUmakefile.am:

2009-07-28  Mike Fenton  <mike.fenton@torchmobile.com>

        Reviewed by Adam Treat.

        Replace hardcoded separator text with proper separator.
        Also adjusts include order as per style guidelines.

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

        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenu::populate):

2009-07-28  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Steve Falkenburg.

        Add output directory for VS pre-build steps to enable out-of-tree builds

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

        The tmp.obj file is now placed in the intermediate build directory.

        * WebCore.vcproj/WebCoreCommon.vsprops:

2009-07-28  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Add inspected node using public console API.

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

        * inspector/front-end/Console.js:
        (WebInspector.Console.prototype.addInspectedNode):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
        (WebInspector.ElementsPanel):

2009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        [WML] <do> elements with a <noop> task shouldn't be exposed to the user
        https://bugs.webkit.org/show_bug.cgi?id=27724

        Fix WMLNoopElement to disable it's parent WMLDoElement, as required by the spec.
        Moved manual-tests/wml/task-noop-in-do.wml to LayoutTests/fast/wml/task-noop-in-do.wml.

        * manual-tests/wml/task-noop-in-do.wml: Removed.
        * wml/WMLNoopElement.cpp:
        (WebCore::WMLNoopElement::insertedIntoDocument):

2009-07-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Disable some compiler warnings for the win build
        https://bugs.webkit.org/show_bug.cgi?id=27709

        * WebCore.pro: Move the msvc options to WebKit.pri

2009-07-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Tor Arne Vestbø

        Make equality checks for logging channel names ignore casing.

        * platform/Logging.cpp:
        (WebCore::getChannelFromName):

2009-07-28  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Xan Lopez.

        [Gtk] Refactor ResourceHandleSoup - make start* functions static
        https://bugs.webkit.org/show_bug.cgi?id=27687

        * platform/network/ResourceHandle.h:
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::startData):
        (WebCore::startHttp):
        (WebCore::):

2009-07-28  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        https://bugs.webkit.org/show_bug.cgi?id=25415
        [GTK][ATK] Please implement support for get_text_at_offset

        Do not cache the pango layout in the object, since the layout of
        the page can change between calls.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:

2009-07-23  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        Simplify management of Nodes in weak handles callbacks.
        https://bugs.webkit.org/show_bug.cgi?id=27628

        * bindings/v8/V8DOMMap.cpp:
        (WebCore::weakNodeCallback):

2009-07-28  Brian Weinstein  <bweinstein@apple.com>

        Rubber-stamped by David Levin.

        Fix error handling of GetIconInfo (returns a bool).

        * platform/win/DragImageWin.cpp:
        (WebCore::createDragImageIconForCachedImage):

2009-07-27  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Jon Honeycutt.

        Fix of <rdar://5015949> Drag Icon is not produced for over sized images.
        
        Implemented the createDragImageIconForCachedImage function by using the Windows 
        SHFILEINFO structure.

        * platform/win/DragImageWin.cpp:
        (WebCore::createDragImageIconForCachedImage):

2009-07-25  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        [V8] Split up V8DOMMap.cpp by class
        https://bugs.webkit.org/show_bug.cgi?id=27685

        No behavior change.  Just copy-and-paste.

        * WebCore.gypi:
        * bindings/v8/ChildThreadDOMData.cpp: Added.
        (WebCore::ChildThreadDOMData::ChildThreadDOMData):
        (WebCore::ChildThreadDOMData::getStore):
        * bindings/v8/ChildThreadDOMData.h: Added.
        * bindings/v8/DOMData.cpp: Added.
        (WebCore::DOMData::DOMData):
        (WebCore::DOMData::getCurrent):
        (WebCore::DOMData::getCurrentMainThread):
        (WebCore::DOMData::handleWeakObject):
        (WebCore::DOMData::ensureDeref):
        (WebCore::DOMData::derefObject):
        (WebCore::DOMData::derefDelayedObjects):
        (WebCore::DOMData::derefDelayedObjectsInCurrentThread):
        (WebCore::DOMData::removeObjectsFromWrapperMap):
        * bindings/v8/DOMData.h: Added.
        (WebCore::):
        * bindings/v8/DOMDataStore.cpp: Added.
        (WebCore::DOMDataStore::DOMDataStore):
        (WebCore::DOMDataStore::~DOMDataStore):
        (WebCore::DOMDataStore::allStores):
        (WebCore::DOMDataStore::allStoresMutex):
        (WebCore::DOMDataStore::getDOMWrapperMap):
        (WebCore::forget):
        (WebCore::DOMDataStore::weakDOMObjectCallback):
        (WebCore::DOMDataStore::weakActiveDOMObjectCallback):
        (WebCore::DOMDataStore::weakNodeCallback):
        (WebCore::DOMDataStore::weakSVGElementInstanceCallback):
        (WebCore::DOMDataStore::weakSVGObjectWithContextCallback):
        * bindings/v8/DOMDataStore.h: Added.
        (WebCore::DOMDataStore::):
        (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap):
        (WebCore::DOMDataStore::InternalDOMWrapperMap::forgetOnly):
        (WebCore::DOMDataStore::domData):
        (WebCore::DOMDataStore::domNodeMap):
        (WebCore::DOMDataStore::domObjectMap):
        (WebCore::DOMDataStore::activeDomObjectMap):
        (WebCore::DOMDataStore::domSvgElementInstanceMap):
        (WebCore::DOMDataStore::domSvgObjectWithContextMap):
        * bindings/v8/MainThreadDOMData.cpp: Added.
        (WebCore::MainThreadDOMData::MainThreadDOMData):
        (WebCore::MainThreadDOMData::getStore):
        * bindings/v8/MainThreadDOMData.h: Added.
        * bindings/v8/ScopedDOMDataStore.cpp: Added.
        (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
        (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
        * bindings/v8/ScopedDOMDataStore.h: Added.
        * bindings/v8/StaticDOMDataStore.cpp: Added.
        (WebCore::StaticDOMDataStore::StaticDOMDataStore):
        * bindings/v8/StaticDOMDataStore.h: Added.
        * bindings/v8/V8DOMMap.cpp:

2009-07-27  Mark Rowe  <mrowe@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread

        Add a method for detecting if we're being used within Microsoft Messenger.

        * WebCore.base.exp: Export applicationIsMicrosoftMessenger and sort existing entries.
        * platform/mac/RuntimeApplicationChecks.h:
        * platform/mac/RuntimeApplicationChecks.mm:
        (WebCore::applicationIsMicrosoftMessenger):

2009-07-27  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        [V8] Implement EventListener::reportError for V8 event listeners in worker context. 
        https://bugs.webkit.org/show_bug.cgi?id=27731

        * bindings/v8/V8WorkerContextEventListener.cpp:
        (WebCore::V8WorkerContextEventListener::reportError):
        * bindings/v8/V8WorkerContextEventListener.h:

2009-07-27  Stephen White  <senorblanco@chromium.org>

        Reviewed by Eric Seidel and David Levin.

        Re-apply chromium/skia border fix (originally landed in r46157,
        reverted in r46363), since it was not the cause of the reliability
        failures in Chromium.

        http://bugs.webkit.org/show_bug.cgi?id=27388

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::drawLine):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::setupPaintForStroking):

2009-07-27  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Justin Garcia.

        createMarkup does not handle CSS properly
        https://bugs.webkit.org/show_bug.cgi?id=27660

        This patch isolates code that creates markup for styles in addStyleMarkup
        It also makes all presentational elements (u, s, strike, i, em, b, strong) special ancestor in createMarkup
        so that we can assume no text decoration style is passed to addStyleMarkup.

        * editing/markup.cpp:
        (WebCore::propertyMissingOrEqualToNone): Changed the first argument from CSSMutableStyleDecleration to CSSStyleDeclaration
        (WebCore::isElementPresentational): Used to be elementHasTextDecorationProperty, now supports presentational tags
        (WebCore::addStyleMarkup): Adds markup for style span and div
        (WebCore::createMarkup): Uses isElementPresentational and addStyleMarkup

2009-07-27  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        fix more obvious global object lookups
        https://bugs.webkit.org/show_bug.cgi?id=27745

        No new tests for these changes.  I believe in many cases
        testing to be impossible.  Lack of testing justification next to
        each change below.  The remaining pieces of bug 27634 will all
        need tests.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::updateDocument): not testable.
        * bindings/js/JSDataGridColumnListCustom.cpp:
        (WebCore::JSDataGridColumnList::nameGetter): no testing for this incomplete feature.
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent): would require outer frame to trigger an event in the inner frame
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS): covered by other tests, always correct to pass the globalObject through.
        * bindings/js/JSHTMLElementCustom.cpp:
        (WebCore::JSHTMLElement::pushEventHandlerScope): unclear when this could be triggered.
        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
        (WebCore::JSHTMLOptionsCollection::remove): toJS seems superfluous here to begin with.
        * bindings/js/JSLazyEventListener.cpp:
        (WebCore::JSLazyEventListener::parseCode): would require outer frame to trigger inner frame event.
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::jsObjectForPluginElement): only used for NPAPI binding, unclear how to test.
        * bindings/js/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener): unclear how to test.
        * bindings/js/ScriptObject.cpp:
        (WebCore::ScriptGlobalObject::set): unclear how to test/inspector only.
        * bindings/js/ScriptObjectQuarantine.cpp:
        (WebCore::getQuarantinedScriptObject): unclear how to test.
        * bindings/objc/DOMInternal.mm:
        (-[WebScriptObject _initializeScriptDOMNodeImp]): unclear how to test.

2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        [WML] 'title' attribute handling not correct for <a> / <anchor> elements
        https://bugs.webkit.org/show_bug.cgi?id=27720

        Unify title() implementation in WMLElement instead of several copies of the same logic.
        We forgot WMLAnchorElement/WMLAElement, that lead to bugs. Fixes hovering links in the
        WML manual-test suite.

        * wml/WMLCardElement.cpp:
        * wml/WMLCardElement.h:
        * wml/WMLElement.cpp:
        (WebCore::WMLElement::title):
        * wml/WMLElement.h:
        * wml/WMLOptGroupElement.cpp:
        * wml/WMLOptGroupElement.h:
        * wml/WMLSelectElement.cpp:
        * wml/WMLSelectElement.h:

2009-07-27  Adam Treat  <adam.treat@torchmobile.com>

        Speculative build fix for Windows and WinCE.

        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::load):

2009-07-27  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=27474
        Fixes crashes due to renderer getting destroyed in updateLayout.
        We need to call updateLayout before we call into the renderer.
        Removed the updateLayout call from RenderTextControl and moved it
        into the calling sites.
        
        Also changes updateLayout to updateLayoutIgnorePendingStylesheets so
        this works with pending stylesheets. Unfortunately, this seems to be
        untestable. Loading an external stylesheet and then having an inline
        script hit this code did not result in an pending stylesheets.
        
        The are other cases of this bug in the rendering code. I'll file a 
        followup bug to audit the calls to updateLayout.

        Test: fast/dom/text-control-crash-on-select.html

        * dom/Document.h:
        (WebCore::Document::inStyleRecalc): Added so the ASSERTs in updateFocusAppearance
            and setSelectionRange could deal with cases of reentrancy into updateLayout
            calls. This happens in a couple layout tests.
        * dom/InputElement.cpp:
        (WebCore::InputElement::updateSelectionRange):
        * html/HTMLInputElement.cpp:
        (WebCore::isTextFieldWithRendererAfterUpdateLayout):
        (WebCore::HTMLInputElement::setSelectionStart):
        (WebCore::HTMLInputElement::setSelectionEnd):
        (WebCore::HTMLInputElement::select):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::rendererAfterUpdateLayout):
        (WebCore::HTMLTextAreaElement::setSelectionStart):
        (WebCore::HTMLTextAreaElement::setSelectionEnd):
        (WebCore::HTMLTextAreaElement::select):
        (WebCore::HTMLTextAreaElement::setSelectionRange):
        (WebCore::HTMLTextAreaElement::updateFocusAppearance):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::setSelectionRange):

2009-07-27  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Dave Levin.

        [V8] Remove parameterless frame/window retrieval methods from V8Proxy.
        https://bugs.webkit.org/show_bug.cgi?id=27737

        Refactoring, no new behavior, covered by existing tests.

        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::ScriptCallStack):
        * bindings/v8/V8NPUtils.cpp:
        (convertV8ObjectToNPVariant): Ditto.
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::retrieve): Ditto.
        (WebCore::V8Proxy::canAccessPrivate): Ditto.
        * bindings/v8/V8Proxy.h: Removed parameterless retrieveWindow/retrieveProxy decls.
        * bindings/v8/custom/V8DatabaseCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL): Changed to use V8Proxy::retrieveFrameForCurrentContext().
        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL): Ditto.
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL): Ditto.
        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL): Ditto.
        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL): Ditto.
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL): Ditto.
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL): Ditto.
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL): Ditto.

2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        [WML] 'onpick' intrinsic event handling missing
        https://bugs.webkit.org/show_bug.cgi?id=27723

        Trigger 'onpick' intrinsic events from WMLOptionElement::setSelectedState().
        All was in place, just forgot to enable the relevant code.

        Fixes manual-tests/wml/select-onpick-event.wml
        Test: wml/option-element-onpick.html

        * wml/WMLOptionElement.cpp:
        (WebCore::WMLOptionElement::setSelectedState):

2009-07-27  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=27735
        Give a helpful name to JSLock constructor argument

        * bindings/js/GCController.cpp:
        (WebCore::collect):
        (WebCore::GCController::gcTimerFired):
        (WebCore::GCController::garbageCollectNow):
        * bindings/js/JSCustomPositionCallback.cpp:
        (WebCore::JSCustomPositionCallback::handleEvent):
        * bindings/js/JSCustomPositionErrorCallback.cpp:
        (WebCore::JSCustomPositionErrorCallback::handleEvent):
        * bindings/js/JSCustomSQLStatementCallback.cpp:
        (WebCore::JSCustomSQLStatementCallback::handleEvent):
        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
        * bindings/js/JSCustomSQLTransactionCallback.cpp:
        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
        * bindings/js/JSCustomVoidCallback.cpp:
        (WebCore::JSCustomVoidCallback::handleEvent):
        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent):
        * bindings/js/JSInspectorBackendCustom.cpp:
        (WebCore::JSInspectorBackend::currentCallFrame):
        (WebCore::JSInspectorBackend::profiles):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::acceptNode):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::executeFunctionInContext):
        * bindings/js/ScriptArray.cpp:
        (WebCore::ScriptArray::set):
        (WebCore::ScriptArray::createNew):
        * bindings/js/ScriptCachedFrameData.cpp:
        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
        (WebCore::ScriptCachedFrameData::restore):
        (WebCore::ScriptCachedFrameData::clear):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluate):
        (WebCore::ScriptController::clearWindowShell):
        (WebCore::ScriptController::initScript):
        (WebCore::ScriptController::updateDocument):
        (WebCore::ScriptController::bindingRootObject):
        (WebCore::ScriptController::windowScriptNPObject):
        (WebCore::ScriptController::jsObjectForPluginElement):
        (WebCore::ScriptController::clearScriptObjects):
        * bindings/js/ScriptControllerMac.mm:
        (WebCore::ScriptController::windowScriptObject):
        * bindings/js/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * bindings/js/ScriptFunctionCall.cpp:
        (WebCore::ScriptFunctionCall::appendArgument):
        (WebCore::ScriptFunctionCall::call):
        (WebCore::ScriptFunctionCall::construct):
        * bindings/js/ScriptObject.cpp:
        (WebCore::ScriptObject::set):
        (WebCore::ScriptObject::createNew):
        (WebCore::ScriptGlobalObject::set):
        (WebCore::ScriptGlobalObject::get):
        (WebCore::ScriptGlobalObject::remove):
        * bindings/js/ScriptObjectQuarantine.cpp:
        (WebCore::quarantineValue):
        (WebCore::getQuarantinedScriptObject):
        * bindings/js/ScriptValue.cpp:
        (WebCore::ScriptValue::getString):
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::initScript):
        (WebCore::WorkerScriptController::evaluate):
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject callWebScriptMethod:withArguments:]):
        (-[WebScriptObject evaluateWebScript:]):
        (-[WebScriptObject setValue:forKey:]):
        (-[WebScriptObject valueForKey:]):
        (-[WebScriptObject removeWebScriptKey:]):
        (-[WebScriptObject stringRepresentation]):
        (-[WebScriptObject webScriptValueAtIndex:]):
        (-[WebScriptObject setWebScriptValueAtIndex:value:]):
        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
        * bridge/NP_jsobject.cpp:
        (_NPN_InvokeDefault):
        (_NPN_Invoke):
        (_NPN_Evaluate):
        (_NPN_GetProperty):
        (_NPN_SetProperty):
        (_NPN_RemoveProperty):
        (_NPN_HasProperty):
        (_NPN_HasMethod):
        (_NPN_Enumerate):
        (_NPN_Construct):
        * bridge/c/c_class.cpp:
        (JSC::Bindings::CClass::~CClass):
        (JSC::Bindings::CClass::methodsNamed):
        (JSC::Bindings::CClass::fieldNamed):
        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
        (JSC::Bindings::CInstance::invokeMethod):
        (JSC::Bindings::CInstance::invokeDefaultMethod):
        (JSC::Bindings::CInstance::invokeConstruct):
        (JSC::Bindings::CInstance::getPropertyNames):
        * bridge/c/c_runtime.cpp:
        (JSC::Bindings::CField::valueFromInstance):
        (JSC::Bindings::CField::setValueToInstance):
        * bridge/c/c_utility.cpp:
        (JSC::Bindings::convertValueToNPVariant):
        (JSC::Bindings::convertNPVariantToValue):
        * bridge/jni/jni_class.cpp:
        (JavaClass::JavaClass):
        (JavaClass::~JavaClass):
        * bridge/jni/jni_instance.cpp:
        (JavaInstance::stringValue):
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::call):
        (JavaJSObject::eval):
        (JavaJSObject::getMember):
        (JavaJSObject::setMember):
        (JavaJSObject::removeMember):
        (JavaJSObject::getSlot):
        (JavaJSObject::setSlot):
        (JavaJSObject::toString):
        (JavaJSObject::convertValueToJObject):
        (JavaJSObject::convertJObjectToValue):
        * bridge/jni/jni_objc.mm:
        (JSC::Bindings::dispatchJNICall):
        * bridge/jni/jni_runtime.cpp:
        (JavaMethod::signature):
        * bridge/jni/jni_runtime.h:
        (JSC::Bindings::JavaString::JavaString):
        (JSC::Bindings::JavaString::_commonInit):
        (JSC::Bindings::JavaString::~JavaString):
        (JSC::Bindings::JavaString::UTF8String):
        * bridge/jni/jni_utility.cpp:
        (JSC::Bindings::convertValueToJValue):
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::moveGlobalExceptionToExecState):
        (ObjcInstance::invokeMethod):
        (ObjcInstance::invokeDefaultMethod):
        (ObjcInstance::setValueOfUndefinedField):
        (ObjcInstance::getValueOfUndefinedField):
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::ObjcField::valueFromInstance):
        (JSC::Bindings::ObjcField::setValueToInstance):
        * bridge/objc/objc_utility.mm:
        (JSC::Bindings::convertValueToObjcValue):
        (JSC::Bindings::convertNSStringToString):
        (JSC::Bindings::convertObjcValueToValue):
        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtRuntimeObjectImp::removeFromCache):
        (JSC::Bindings::QtInstance::~QtInstance):
        (JSC::Bindings::QtInstance::getQtInstance):
        (JSC::Bindings::QtInstance::createRuntimeObject):
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertValueToQVariant):
        (JSC::Bindings::convertQVariantToValue):
        (JSC::Bindings::QtRuntimeMetaMethod::call):
        (JSC::Bindings::QtRuntimeConnectionMethod::call):
        (JSC::Bindings::QtConnectionObject::execute):
        * bridge/runtime.cpp:
        (JSC::Bindings::Instance::createRuntimeObject):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addScriptProfile):
        * inspector/JavaScriptCallFrame.cpp:
        (WebCore::JavaScriptCallFrame::evaluate):
        * inspector/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
        * inspector/JavaScriptProfileNode.cpp:
        (WebCore::getTotalTime):
        (WebCore::getSelfTime):
        (WebCore::getTotalPercent):
        (WebCore::getSelfPercent):
        (WebCore::getNumberOfCalls):
        (WebCore::getChildren):
        (WebCore::getParent):
        (WebCore::getHead):
        (WebCore::getVisible):
        (WebCore::getCallUID):
        * plugins/PluginView.cpp:
        (WebCore::PluginView::start):
        (WebCore::getString):
        (WebCore::PluginView::performRequest):
        (WebCore::PluginView::bindingInstance):
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::dispatchNPEvent):
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::handleMouseEvent):
        (WebCore::PluginView::setNPWindowIfNeeded):
        (WebCore::PluginView::stop):
        (WebCore::PluginView::init):
        * plugins/mac/PluginViewMac.cpp:
        (WebCore::PluginView::stop):
        (WebCore::PluginView::setNPWindowIfNeeded):
        (WebCore::PluginView::dispatchNPEvent):
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded):
        (WebCore::PluginView::stop):
        (WebCore::PluginView::init):
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::dispatchNPEvent):
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::handleMouseEvent):
        (WebCore::PluginView::setNPWindowRect):
        (WebCore::PluginView::stop):

2009-07-27  Yong Li  <yong.li@torchmobile.com>

        Reviewed by George Staikos.

        WINCE PORT: Make plugin work for WINCE
        https://bugs.webkit.org/show_bug.cgi?id=27713

        * plugins/win/PluginDatabaseWin.cpp:
        (SHGetValue):
        (PathRemoveFileSpec):
        (WebCore::addWindowsMediaPlayerPluginDirectory):
        (WebCore::addMacromediaPluginDirectories):
        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::load):
        * plugins/win/PluginViewWin.cpp:
        (WebCore::registerPluginView):
        (WebCore::PluginView::wndProc):
        (WebCore::PluginView::updatePluginWidget):
        (WebCore::PluginView::paintWindowedPluginIntoContext):
        (WebCore::PluginView::paint):
        (WebCore::PluginView::handleMouseEvent):
        (WebCore::PluginView::setParent):
        (WebCore::PluginView::setNPWindowRect):
        (WebCore::PluginView::stop):
        (WebCore::PluginView::init):

2009-07-27  Joseph Pecoraro  <joepeck02@gmail.com>

        Inspector: Tab Through Element Attributes and CSS Properties When Editing

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

        Reviewed by Timothy Hatcher.

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement):
        (WebInspector.ElementsTreeElement.prototype._startEditing): refactored parameter
        (WebInspector.ElementsTreeElement.prototype._addNewAttribute): refactored to remove excess
        (WebInspector.ElementsTreeElement.prototype._triggerEditAttribute): provide an attribute name and this will start editing it
        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded): move between attributes
        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype.onpopulate):
        (WebInspector.StylePropertiesSection.prototype.findTreeElementWithName): search through treeElements for a style property name
        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): initialize a blank property for adding new properties
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle): add references to the name and value elements
        (WebInspector.StylePropertyTreeElement.prototype.):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/inspector.js:
        (WebInspector.startEditing.editingCommitted): include the move direction as a parameter to the commit callback
        (WebInspector.startEditing.element.handleKeyEvent): handle the tab key to specify the move direction
        (WebInspector.startEditing):

2009-07-27  Mike Fenton  <mike.fenton@torchmobile.com>

        Reviewed by Adam Treat.

        Add mapping FontWeight to QFont::Weight values as requested via FIXME.
        https://bugs.webkit.org/show_bug.cgi?id=27663

        * platform/graphics/qt/FontCacheQt.cpp:
        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
        * platform/graphics/qt/FontPlatformData.h:
        (WebCore::FontPlatformData::toQFontWeight):
        * platform/graphics/qt/FontPlatformDataQt.cpp:
        (WebCore::FontPlatformData::FontPlatformData):

2009-07-27  Jakub Wieczorek  <faw217@gmail.com>

         Reviewed by Adam Treat.

         When clearing the plugin database, clear also the timestamp map.

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

         Currently, if we clear the database, it will still think that it is up
         to date with the plugin directories so refreshing the database again
         after changing the search paths may not work.

         * plugins/PluginDatabase.cpp:
         (WebCore::PluginDatabase::clear):

2009-07-27  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by David Levin.

        Add in trivial implementation of FontPlatformData::description() for
        linux to fix build bustage in chromium.

        Fix chromium linux build by adding missing function implementation.
        https://bugs.webkit.org/show_bug.cgi?id=27732

        Tested with a build of chromium on linux.

        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::description):
        * platform/graphics/chromium/FontPlatformDataLinux.h:

2009-07-27  Brent Fulgham  <bfulgham@webkit.org>

        Build correct, no review.

        Final correction for WinCairo builds.
        CoreServices only exists in Apple builds, but
        some of its internal includes (e.g., <windows.h>) are needed
        for other Windows targets.

        * WebCorePrefix.h: When building for WinCairo, make sure
          to include <windows.h>, <stdio.h>, and <ConditionalMacros.h>

2009-07-27  Michelangelo De Simone  <micdesim@gmail.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=25552
        Added new "pattern" attribute to HTMLInputElement and validation code
        (validity.patternMismatch) as per HTML5 specs.
        http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-pattern

        Tests: fast/forms/ValidityState-002.html
               fast/forms/ValidityState-patternMismatch-001.html
               fast/forms/ValidityState-patternMismatch-002.html
               fast/forms/ValidityState-patternMismatch-003.html
               fast/forms/ValidityState-patternMismatch-004.html
               fast/forms/ValidityState-patternMismatch-005.html
               fast/forms/ValidityState-patternMismatch-006.html
               fast/forms/ValidityState-patternMismatch-007.html
               fast/forms/pattern-attribute-001.html
               fast/forms/pattern-attribute-002.html
               fast/forms/pattern-attribute-003.html

        * html/HTMLAttributeNames.in: pattern attribute
        * html/HTMLFormControlElement.h:
        (WebCore::HTMLFormControlElement::patternMismatch): method definition
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::patternMismatch): validation method
        * html/HTMLInputElement.h:
        * html/HTMLInputElement.idl:
        * html/ValidityState.h:
        (WebCore::ValidityState::patternMismatch): validation flag

2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        [WML] Manual WML tests aren't properly working
        https://bugs.webkit.org/show_bug.cgi?id=27718

        Fix file paths in the manual WML layout tests, remove unneeded tests (already covered by DRT tests).
        Add missing resources directory and test image. Reformat all testcases to a common style.
        Add new StartTests.wml file, which should be used as starting point to crawl through the manual tests.

        Filing bugs soon for all tests exposing bugs (7 in total).

        * manual-tests/wml/StartTests.wml: Added.
        * manual-tests/wml/a-br-element.wml:
        * manual-tests/wml/a-element.wml:
        * manual-tests/wml/a-img-element.wml:
        * manual-tests/wml/access-target.wml:
        * manual-tests/wml/anchor-br-element.wml:
        * manual-tests/wml/anchor-element.wml:
        * manual-tests/wml/anchor-img-element.wml:
        * manual-tests/wml/card-newcontext-attr.wml:
        * manual-tests/wml/card-onenterbackward.wml:
        * manual-tests/wml/card-onenterforward.wml:
        * manual-tests/wml/card-ontimer.wml:
        * manual-tests/wml/card-title-attr.wml: Removed.
        * manual-tests/wml/deck-access-control.wml:
        * manual-tests/wml/go-element.wml: Removed.
        * manual-tests/wml/input-emptyok.wml: Removed.
        * manual-tests/wml/input-format.wml:
        * manual-tests/wml/onevent-go.wml:
        * manual-tests/wml/onevent-noop.wml:
        * manual-tests/wml/onevent-prev.wml:
        * manual-tests/wml/onevent-refresh.wml:
        * manual-tests/wml/onevent-shadow.wml:
        * manual-tests/wml/postfield-get.wml: Removed.
        * manual-tests/wml/postfield-post.wml: Removed.
        * manual-tests/wml/resources: Added.
        * manual-tests/wml/resources/smiley.png: Added.
        * manual-tests/wml/select-element.wml:
        * manual-tests/wml/select-onpick-event.wml:
        * manual-tests/wml/setvar-element.wml:
        * manual-tests/wml/targetdeck.wml:
        * manual-tests/wml/task-go-in-anchor.wml:
        * manual-tests/wml/task-noop-in-do.wml:
        * manual-tests/wml/task-noop-in-onevent.wml: Removed.
        * manual-tests/wml/task-prev-in-anchor.wml:
        * manual-tests/wml/task-refresh-in-anchor.wml:
        * manual-tests/wml/template-go.wml:
        * manual-tests/wml/template-onevent.wml: Removed.
        * manual-tests/wml/template-ontimer.wml:
        * manual-tests/wml/timer.wml:
        * manual-tests/wml/variable-substitution.wml:

2009-07-27  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Fix a regression introduced in r42671, which caused the js event 
        object to be hidden (some websites depend on being able to access it).

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

        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::invokeEventHandler): Make the event object visible to javascript, instead of hidden.

2009-07-27  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Removing a no-op block of code in DatabaseTracker.cpp that
        should've been removed in the patch for bug 26054.

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

        All tests in WebCore/storage pass.

        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::fullPathForDatabase): Removed a no-op
        block of code that was moved to SQLiteFileSystem.cpp and should
        have been removed from DatabaseTracker.cpp

2009-07-27  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Fix error handling in dedicated worker and worker context.
        https://bugs.webkit.org/show_bug.cgi?id=27525

        The following problems have been fixed:
        1) The uncaught runtime script error is not reported using the
        WorkerGlobalScope object's onerror attribute.
        2) If the error is still not handled afterwards (onerror attribute
        is not defined as a function or it returns true), the error should
        be reported back to the associated Worker object by firing an
        ErrorEvent.
        3) If the error is still not handled by the associated Worker
        object, the error should be reported to the user.

        Test: fast/workers/worker-script-error.html

        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::reportError):
        * bindings/js/JSEventListener.h:
        * dom/EventListener.h:
        (WebCore::EventListener::reportError): adds a function to call
        EventListener as a function with 3 arguments to report an error.
        * workers/AbstractWorker.cpp:
        (WebCore::AbstractWorker::dispatchScriptErrorEvent):
        * workers/AbstractWorker.h:
        * workers/DedicatedWorkerContext.cpp:
        (WebCore::DedicatedWorkerContext::reportException):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::reportException):
        * workers/WorkerContext.h:
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::WorkerExceptionTask::performTask):
        * workers/WorkerMessagingProxy.h:

2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        [WML] History handling / page cache / loading is buggy and depends on several hacks
        https://bugs.webkit.org/show_bug.cgi?id=27707

        Redesign WML history/loading handling. In detail:

        - Remove FrameLoader::setForceReloadWmlDeck(). WML used to force a special loading behaviour
          by calling this method from WMLGoElement & friends - instead teach FrameLoader to detect
          WML content itself.

          WML content is usually a standalone WML document (isWMLDocument()=true) or as special case
          an XHTML document which embeds a WML document (that's the way the WML layout tests work).
          Force WML loading behaviour even for XHTML document which embed WML documents. This only
          applies to our layout tests, not for any real world site. Though it gives us a perfect
          way to test the WML loading code even when we're not operating on a standalone WML document.

          Whenever a WMLCardElement is inserted into the document it will check wheter it's inserted
          in a standalone WML document or wheter the main frame document is different. If it differs
          the main frame documents' "containsWMLContent" property is set to true.

          -> Make FrameLoader::shouldReload() use the new frameContainsWMLContent() method, which
             checks if the associated frame document is a WML document or wheter it contains WML content.

        - Change FrameLoader::loadItem() to use the new frameContainsWMLContent() method for 'shouldScroll'
          detection. WML documents (or those containing WML content) always want new loads even for in-page
          navigation. No "scroll to anchor" mechanism should apply.

        - Modify FrameLoader::canCachePageContainingThisFrame() to check for !frameContainsWMLContent().
          WML pages should never be cached, potential security problem due the use of variables (per spec).

        Add two new WML tests which were broken before, testing onenterforward/onenterbackward event handling
        and history navigation (<prev/> task).

        Tests: wml/enter-card-with-events.html
               wml/enter-first-card-with-events.html

        * dom/Document.cpp: Initialize new 'm_containsWMLContent' property.
        (WebCore::Document::Document):
        * dom/Document.h: Add new helper methods and 'm_containsWMLContent" variable (explained above).
        (WebCore::Document::setContainsWMLContent):
        (WebCore::Document::containsWMLContent):
        * history/BackForwardList.cpp:
        (WebCore::BackForwardList::clearWMLPageHistory): Renamed from clearWmlPageHistory() & slight cleanup.
        * history/BackForwardList.h:
        * loader/FrameLoader.cpp: Rework WML loading behaviour (explained above).
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::frameContainsWMLContent):
        (WebCore::FrameLoader::canCachePageContainingThisFrame):
        (WebCore::FrameLoader::shouldReload):
        (WebCore::FrameLoader::loadItem):
        * loader/FrameLoader.h:
        * wml/WMLCardElement.cpp: 
        (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): No need anymore to manually track history length.
        (WebCore::WMLCardElement::insertedIntoDocument): Handle setting containsWMLContent on the main frame document.
        * wml/WMLGoElement.cpp: 
        (WebCore::WMLGoElement::executeTask): Remove call to FrameLoader::setForceReloadWmlDeck()
        * wml/WMLPageState.cpp: Remove 'm_historyLength' - no need anymore to track history length on our own.
        (WebCore::WMLPageState::WMLPageState):
        (WebCore::WMLPageState::dump):
        (WebCore::WMLPageState::reset):
        * wml/WMLPageState.h:

2009-07-27  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Adam Roben.

        Fix Chromium build breakage introduced in 46388.

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

        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
        (WebCore::FontPlatformData::description):
        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:

2009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        Add some more debug logging to PluginViewMac.

        * plugins/mac/PluginViewMac.cpp:

2009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Jan Michael Alonzo.

        Remove dead code from the GTK NPAPI implementation.

        * plugins/gtk/PluginViewGtk.cpp:

2009-07-27  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>

        Reviewed by Simon Hausmann.

        [Qt] Buildfix on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=27702

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::hookedEndPaint):
            Constraint of (*endPaint) operand modified from "g" to "m" (memory) in inline 
            assembly, because with "g" constraint, wrong assembly code generated.

2009-07-27  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebCore bindings: Implement ScriptArray bindings.

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

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptArray.cpp: Added.
        (WebCore::ScriptArray::ScriptArray):
        (WebCore::handleException):
        (WebCore::ScriptArray::set):
        (WebCore::length):
        (WebCore::ScriptArray::createNew):
        * bindings/js/ScriptArray.h: Added.
        (WebCore::ScriptArray::ScriptArray):
        (WebCore::ScriptArray::jsArray):
        * bindings/v8/ScriptArray.cpp: Added.
        (WebCore::ScriptArray::ScriptArray):
        (WebCore::ScriptArray::set):
        (WebCore::ScriptArray::length):
        (WebCore::ScriptArray::createNew):
        * bindings/v8/ScriptArray.h: Added.
        (WebCore::ScriptArray::ScriptArray):
        (WebCore::ScriptArray::~ScriptArray):

2009-07-27  Brent Fulgham  <bfulgham@webkit.org>

        Build correct, no review.

        Change in r46407 broke Apple Windows build.
        Switch to WinCairo-only test, to avoid any
        other platform break.

        * WebCorePrefix.h: 

2009-07-26  Brent Fulgham  <bfulgham@webkit.org>

        Build correct, no review.

        Change in r46407 broke Apple Windows build.

        * WebCorePrefix.h: Use WTF_PLATFORM_CG to decide if
          CoreServices.h should be included.

2009-07-26  Brent Fulgham  <bfulgham@webkit.org>

        Build correction, no review.

        Change in r46195 broke WinCairo build.

        * WebCorePrefix.h: CoreServices should be ignored
          for non-Apple build.

2009-07-26  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Implement the breakpoints sidebar pane.
        This change adds simple UI support into the existing
        BreakpointSidebarPane.

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

        * inspector/front-end/Breakpoint.js:
        (WebInspector.Breakpoint.prototype.set enabled):
        (WebInspector.Breakpoint.prototype.get label):
        (WebInspector.Breakpoint.prototype.get id):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointsSidebarPane):
        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
        (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
        (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.labelClicked):
        (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
        (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype.scriptOrResourceForID):
        * inspector/front-end/inspector.css:

2009-07-16  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Oliver Hunt.

        Canvas: rotation of 'no-repeat' pattern still has small error
        https://bugs.webkit.org/show_bug.cgi?id=26749

        Use 1<<22 as steps of no-repeat pattern to make the error less
        than 0.5.  The previous value may cause 1 pixel errors.

        Add another test to show this bug clearly.
        Also add png expected image which was missing in the previous patch.

        Test: fast/canvas/image-pattern-rotate.html

        * platform/graphics/cg/PatternCG.cpp:
        (WebCore::Pattern::createPlatformPattern):

2009-07-25  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Darin Adler.

        Windows build break due to warning C4819
        https://bugs.webkit.org/show_bug.cgi?id=27416

        Disable C4819 warning to fix build.

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

2009-07-25  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Kevin McCullough.

        Inspector: Keyboard Shortcuts to Switch Panels
        https://bugs.webkit.org/show_bug.cgi?id=27286

        * inspector/front-end/inspector.js:
        (WebInspector.loaded): save a list of the order of the panels
        (WebInspector.documentKeyDown): handle the keyboard shortcuts to traverse the panels

2009-07-25  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by George Staikos.

        [Qt] Fix build break after r46369
        https://bugs.webkit.org/show_bug.cgi?id=27680

        * WebCore.pro:

2009-07-25  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        [WML] Variable substitution is buggy
        https://bugs.webkit.org/show_bug.cgi?id=27677

        Substitute variables upon attach() time instead of insertedIntoDocument(). Otherwhise variable substitution
        won't work during inter-deck jumps (same URL, different fragment). Covered by new test fast/wml/newcontext-same-deck.html.

        * dom/Text.cpp:
        (WebCore::Text::attach):
        * dom/Text.h:

2009-07-25  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        [WML] WMLDoElement doesn't update its RenderButton object upon attach()
        https://bugs.webkit.org/show_bug.cgi?id=27676

        WMLDoElement needs to implement attach() and call updateFromElement() on its associated RenderButton.
        Mimics HTMLButtonElement/HTMLFormControlElement behaviour and fixes several painting/styling issues covered by existing tests in fast/wml.

        * wml/WMLDoElement.cpp:
        (WebCore::WMLDoElement::attach):
        * wml/WMLDoElement.h:

2009-07-25  Pavel Feldman  <pfeldman@chromium.org>

        Fix Windows build breakage introduced in 46390.

        * WebCore.vcproj/WebCore.vcproj:

2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Oliver Hunt.

        Inspector: Properties Should be Sorted more Naturally
        https://bugs.webkit.org/show_bug.cgi?id=27329

        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection.prototype.update): use the displaySort when showing properties
        (WebInspector.ObjectPropertiesSection.prototype._displaySort): alphaNumerical sort
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): use the displaySort when showing properties
        * inspector/front-end/utilities.js:
        (Object.sortedProperties): allow for an optional sorting function in Object.sortedProperties

2009-07-24  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Split InspectorController into InspectorController
        and InspectorBackend. Everything frontend needs from InspectorController
        will slowly migrate into the InspectorBackend.

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

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSInspectorBackendCustom.cpp: Added.
        (WebCore::JSInspectorBackend::highlightDOMNode):
        (WebCore::JSInspectorBackend::search):
        (WebCore::JSInspectorBackend::databaseTableNames):
        (WebCore::JSInspectorBackend::inspectedWindow):
        (WebCore::JSInspectorBackend::setting):
        (WebCore::JSInspectorBackend::setSetting):
        (WebCore::JSInspectorBackend::wrapCallback):
        (WebCore::JSInspectorBackend::currentCallFrame):
        (WebCore::JSInspectorBackend::profiles):
        * bindings/v8/custom/V8InspectorBackendCustom.cpp: Added.
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/js/JSInspectorControllerCustom.cpp: Removed.
        * bindings/js/ScriptObject.cpp:
        (WebCore::ScriptGlobalObject::set):
        * bindings/js/ScriptObject.h:
        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/ScriptObject.cpp:
        (WebCore::ScriptGlobalObject::set):
        * bindings/v8/ScriptObject.h:
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed.
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::windowScriptObjectAvailable):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::inspectorBackend):
        * inspector/InspectorBackend.cpp: Added.
        * inspector/InspectorBackend.h: Added.
        (WebCore::InspectorBackend::create):
        (WebCore::InspectorBackend::inspectorController):
        * inspector/InspectorBackend.idl: Added.
        * inspector/InspectorController.idl: Removed.
        * inspector/front-end/Resource.js:
        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h:

2009-07-25  Mike Fenton  <mike.fenton@torchmobile.com>

        Reviewed by George Staikos.

        Update WebCore/page/Frame.cpp/h to conform to WebKit
        Style Guidelines as identified by cpplint.py.
        https://bugs.webkit.org/show_bug.cgi?id=27654

        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        (WebCore::Frame::~Frame):
        (WebCore::Frame::setDocument):
        (WebCore::Frame::firstRectForRange):
        (WebCore::createRegExpForLabels):
        (WebCore::Frame::searchForLabelsBeforeElement):
        (WebCore::Frame::matchLabelsAgainstElement):
        (WebCore::Frame::selectionLayoutChanged):
        (WebCore::Frame::setZoomFactor):
        (WebCore::Frame::reapplyStyles):
        (WebCore::Frame::isContentEditable):
        (WebCore::Frame::computeAndSetTypingStyle):
        (WebCore::Frame::selectionStartStylePropertyValue):
        (WebCore::Frame::selectionComputedStyle):
        (WebCore::Frame::applyEditingStyleToBodyElement):
        (WebCore::Frame::removeEditingStyleFromBodyElement):
        (WebCore::Frame::applyEditingStyleToElement):
        (WebCore::Frame::selectionBounds):
        (WebCore::Frame::currentForm):
        (WebCore::Frame::revealSelection):
        (WebCore::Frame::styleForSelectionStart):
        (WebCore::Frame::setSelectionFromNone):
        (WebCore::Frame::findString):
        (WebCore::Frame::markAllMatchesForText):
        (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
        (WebCore::Frame::clearFormerDOMWindow):
        (WebCore::Frame::unfocusWindow):
        (WebCore::Frame::respondToChangedSelection):
        (WebCore::Frame::documentAtPoint):
        * page/Frame.h:
        (WebCore::Frame::create):
        (WebCore::Frame::displayStringModifiedByEncoding):
        (WebCore::Frame::pageZoomFactor):
        (WebCore::Frame::textZoomFactor):

2009-07-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        Add functions to print the glyph page trees for debugging
        https://bugs.webkit.org/show_bug.cgi?id=27671

        * platform/graphics/FontData.h: Defined a description() method.

        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::GlyphPageTreeNode::showSubtree): Added. Prints the node and
            its descendants.
        (showGlyphPageTrees): Added. Prints all glyph page trees.
        (showGlyphPageTree): Added. Prints the glyph page tree for a given page.
        * platform/graphics/GlyphPageTreeNode.h:

        * platform/graphics/SegmentedFontData.cpp:
        (WebCore::SegmentedFontData::description): Added.

        * platform/graphics/SegmentedFontData.h:
        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::description): Added. Uses the platform data
            as the description for non-svg, non-custom fonts.
        * platform/graphics/SimpleFontData.h:

        * platform/graphics/gtk/FontPlatformData.h:
        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
        (WebCore::FontPlatformData::description): Added. Returns a null string.
        * platform/graphics/gtk/FontPlatformDataPango.cpp:
        (WebCore::FontPlatformData::description): Added. Returns a null string.

        * platform/graphics/mac/FontPlatformData.h:
        * platform/graphics/mac/FontPlatformDataMac.mm:
        (WebCore::FontPlatformData::description): Added. Returns the
            description of the CGFont, the size and the synthetic style flags,
            if set.

        * platform/graphics/qt/FontPlatformData.h:
        * platform/graphics/qt/FontPlatformDataQt.cpp:
        (WebCore::FontPlatformData::description): Added. Returns a null string.

        * platform/graphics/win/FontPlatformData.h:
        * platform/graphics/win/FontPlatformDataWin.cpp:
        (WebCore::FontPlatformData::description): Added. Returns a null string.

        * platform/graphics/wince/FontPlatformData.cpp:
        (WebCore::FontPlatformData::description): Added. Returns a null string.
        * platform/graphics/wince/FontPlatformData.h:

        * platform/graphics/wx/FontPlatformData.h:
        * platform/graphics/wx/FontPlatformDataWx.cpp:
        (WebCore::FontPlatformData::description): Added. Returns a null string.

2009-07-24  Mads Ager  <ager@chromium.org>

        Reviewed by Adam Barth.

        SVG and XPath memory leaks in V8 bindings
        https://bugs.webkit.org/show_bug.cgi?id=27488

        Add proper 'create' methods to SVGPodTypeWrappers and
        XPathNSResolvers in the V8 bindings to avoid memory leaks.

        Introduce convertToV8Object methods that accept PassRefPtrs and
        clean up the use of get() and release() on RefPtrs.
        
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::convertNodeToV8Object):
        (WebCore::V8DOMWrapper::convertEventToV8Object):
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
        * bindings/v8/V8SVGPODTypeWrapper.h:
        (WebCore::V8SVGPODTypeWrapperCreatorForList::create):
        (WebCore::V8SVGPODTypeWrapperCreatorForList::V8SVGPODTypeWrapperCreatorForList):
        (WebCore::V8SVGStaticPODTypeWrapper::create):
        (WebCore::V8SVGStaticPODTypeWrapper::V8SVGStaticPODTypeWrapper):
        (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::create):
        (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::V8SVGStaticPODTypeWrapperWithPODTypeParent):
        (WebCore::V8SVGStaticPODTypeWrapperWithParent::create):
        (WebCore::V8SVGStaticPODTypeWrapperWithParent::V8SVGStaticPODTypeWrapperWithParent):
        (WebCore::V8SVGDynamicPODTypeWrapper::create):
        (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper):
        (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8ClientRectListCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
        (WebCore::V8CustomXPathNSResolver::create):
        * bindings/v8/custom/V8CustomXPathNSResolver.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8ElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        (WebCore::getItem):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::ACCESSOR_GETTER):
        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8InspectorControllerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8NodeListCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):

2009-07-24  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Jon Honeycutt.

        Fix of <rdar://6310538> Middle-click panning should be springloaded while dragging
        https://bugs.webkit.org/show_bug.cgi?id=21794
        
        Create two new booleans to determine whether we have done a springloaded pan scroll, and update
        the name of setPanScrollCursor to updatePanScrollState to more accurately describe what the function
        does. 

        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler): Initialized two new booleans.
        (WebCore::EventHandler::autoscrollTimerFired):
        (WebCore::EventHandler::updatePanScrollState): Renamed from setPanScrollCursor.
        (WebCore::EventHandler::stopAutoscrollTimer): Clear the pan scrolling in progress flag.
        (WebCore::EventHandler::handleMouseReleaseEvent): Clear the pan scrolling button pressed flag.
        * page/EventHandler.h:

2009-07-24  Yong Li  <yong.li@torchmobile.com>

        Reviewed by George Staikos.

        https://bugs.webkit.org/show_bug.cgi?id=27657
        Add more wince port files to WebCore

        Written by Yong Li  <yong.li@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>

        * loader/icon/wince/IconDatabaseWince.cpp: Added.
        * rendering/RenderThemeWince.cpp: Added.
        * rendering/RenderThemeWince.h: Added.
        * storage/wince/DatabaseThreadWince.cpp: Added.
        * storage/wince/DatabaseThreadWince.h: Added.
        * storage/wince/LocalStorageThreadWince.cpp: Added.
        * storage/wince/LocalStorageThreadWince.h: Added.
        * svg/graphics/wince/SVGResourceFilterWince.cpp: Added.

2009-07-24  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Justin Garcia.

        execCommand('underline') can modify DOM outside of the contentEditable area
        https://bugs.webkit.org/show_bug.cgi?id=24333

        highestAncestorWithTextDecoration stops at the closest unsplittable element so that if text-decoration is applied
        outside of it, we don't accidently modify the style attribute.

        Tests: editing/style/textdecoration-outside-of-rooteditable.html
               editing/style/textdecoration-outside-of-unsplittable-element.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::StyleChange::init):
        (WebCore::highestAncestorWithTextDecoration):

2009-07-24  Daniel Bates  <dbates@intudata.com>

        Reviewed by Adam Barth.

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

        Fixes false positives when evaluating certain strings that only contain 
        non-canonical characters.

        Test: http/tests/security/xssAuditor/script-tag-safe.html

        * page/XSSAuditor.cpp:
        (WebCore::isNonCanonicalCharacter):
        (WebCore::XSSAuditor::findInRequest):

2009-07-24  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        Changed WorkerContext destructor to not access possibly-freed WorkerThread.

        Failed assertion in WorkerContext::~WorkerContext().
        https://bugs.webkit.org/show_bug.cgi?id=27665

       * workers/DedicatedWorkerContext.cpp:
        (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::~WorkerContext):
        Removed assertion that relies on WorkerThread still being alive (moved to DedicatedWorkerContext destructor).

2009-07-24  Drew Wilson  <atwilson@google.com>

        Reviewed by Adam Barth.

        Updated code generator to properly generate bindings for WorkerContext exposed functions.

        Storing a reference to WorkerContext.postMessage() and calling it later yields a TypeError
        https://bugs.webkit.org/show_bug.cgi?id=27419

        Test: fast/workers/worker-call.html

        * bindings/js/JSWorkerContextBase.cpp:
        (WebCore::toJSDedicatedWorkerContext):
        (WebCore::toJSWorkerContext):
        Functions that convert from JSValue to the appropriate WorkerContext/DedicatedWorkerContext object.
        * bindings/js/JSWorkerContextBase.h:
        Added toJS*WorkerContext APIs.
        * bindings/scripts/CodeGeneratorJS.pm:
        Added code to appropriately check the passed-in this object when invoking functions at global scope.

2009-07-24  Drew Wilson  <atwilson@google.com>

        Reviewed by Adam Barth.

        Refactor WorkerContext to move DedicatedWorker-specific APIs into DedicatedWorkerContext
        https://bugs.webkit.org/show_bug.cgi?id=27420

        No new tests as the existing tests already provide sufficient coverage (this is just a refactoring with no new functionality).

        * DerivedSources.cpp:
        Added JSDerivedWorkerContext.cpp
        * DerivedSources.make:
        Added DerivedWorkerContext files
        * GNUmakefile.am:
        Added DerivedWorkerContext files
        * WebCore.gypi:
        Added DerivedWorkerContext files
        * WebCore.pro:
        Added DerivedWorkerContext files
        * WebCore.vcproj/WebCore.vcproj:
        Added DerivedWorkerContext files
        * WebCore.xcodeproj/project.pbxproj:
        Added DerivedWorkerContext files
        * bindings/js/JSDedicatedWorkerContextCustom.cpp: Added.
        (WebCore::JSDedicatedWorkerContext::mark):
        Custom mark function for onmessage event handler.
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        Supports conversion to JSDedicatedWorkerContext.
        (WebCore::toEventTarget):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::mark):
        Moved onmessage mark handling into DedicatedWorkerContext.
        * bindings/js/WorkerScriptController.cpp:
        Added appropriate casts to DedicatedWorkerContext for postMessage().
        (WebCore::WorkerScriptController::initScript):
        Manually sets up the prototype chain for the worker context.
        * bindings/scripts/CodeGeneratorJS.pm:
        Changed special case code for WorkerContext to be triggered by new IsWorkerContext attribute.
        * bindings/scripts/CodeGeneratorV8.pm:
        Changed hard-coded tests for WorkerContext to support DedicatedWorkerContext.
        * bindings/v8/DOMObjectsInclude.h:
        Added DedicatedWorkerContext.h
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        Added V8DedicatedWorkerContext.cpp
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate):
        Added code to reserve extra fields for V8DedicatedWorkerContext.
        * bindings/v8/V8Index.cpp:
        Now includes V8DedicatedWorkerContext.h in addition to V8WorkerContext.h
        * bindings/v8/V8Index.h:
        Added DedicatedWorkerContext as a non-node wrapper type.
        Removed WORKERCONTEXT as a valid template type.
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
        Creates DedicatedWorkerContext instead of WorkerContext.
        (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
        Returns DedicatedWorkerContext instead of WorkerContext.
        (WebCore::WorkerContextExecutionProxy::retrieve):
        Refactored to deal with DedicatedWorkerContext.
        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: Added.
        Moved onmessage code from V8WorkerContextCustom.cpp
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        Moved onmessage code to V8DedicatedWorkerContextCustom.cpp
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::toDedicatedWorkerContext):
        * dom/EventTarget.h:
        * workers/DedicatedWorkerContext.cpp: Added.
        Moved DedicatedWorker-only APIs from WorkerContext.
        (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
        (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
        (WebCore::DedicatedWorkerContext::reportException):
        (WebCore::DedicatedWorkerContext::postMessage):
        (WebCore::DedicatedWorkerContext::dispatchMessage):
        * workers/DedicatedWorkerContext.h: Added.
        Moved DedicatedWorker-only APIs from WorkerContext.
        (WebCore::DedicatedWorkerContext::create):
        (WebCore::DedicatedWorkerContext::toDedicatedWorkerContext):
        (WebCore::DedicatedWorkerContext::setOnmessage):
        (WebCore::DedicatedWorkerContext::onmessage):
        * workers/DedicatedWorkerContext.idl: Added.
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::~WorkerContext):
        Moved code that notifies parent that worker is closing down into DedicatedWorkerContext.
        * workers/WorkerContext.h:
        (WebCore::WorkerContext::isClosing):
        Exposed closing flag as an API so derived classes can access it.
        * workers/WorkerContext.idl:
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::MessageWorkerContextTask::performTask):
        Calls into DedicatedWorkerContext to handle message.
        * workers/WorkerThread.cpp:
        (WebCore::WorkerThread::workerThread):
        Creates a DedicatedWorkerContext when the thread starts up.

2009-07-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Move more callers to using 3 argument toJS
        https://bugs.webkit.org/show_bug.cgi?id=27661

        No functional changes, thus no tests.
        These are all the places where we can't yet pass the
        correct globalObject because we don't have or don't know the right one.

        * bindings/js/JSCustomPositionCallback.cpp:
        (WebCore::JSCustomPositionCallback::handleEvent):
        * bindings/js/JSCustomPositionErrorCallback.cpp:
        (WebCore::JSCustomPositionErrorCallback::handleEvent):
        * bindings/js/JSCustomSQLStatementCallback.cpp:
        (WebCore::JSCustomSQLStatementCallback::handleEvent):
        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
        * bindings/js/JSCustomSQLTransactionCallback.cpp:
        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::acceptNode):

2009-07-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix the last of the x-frame constructor calls to have the right prototype chains
        https://bugs.webkit.org/show_bug.cgi?id=27645

        Fix the last few constructors to use their stored globalObject pointer when
        constructing objects instead of the lexicalGlobalObject().

        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::constructAudio):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::constructImage):
        * bindings/js/JSMessageChannelConstructor.cpp:
        (WebCore::JSMessageChannelConstructor::construct):
        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::constructHTMLOptionElement):
        * bindings/js/JSWebKitPointConstructor.cpp:
        (WebCore::constructWebKitPoint):
        * bindings/js/JSWorkerConstructor.cpp:
        (WebCore::constructWorker):

2009-07-24  Jian Li  <jianli@chromium.org>

        Reviewed by Adam Barth.

        [V8] Cleanup exception handling in worker evaluation code.
        https://bugs.webkit.org/show_bug.cgi?id=27282

        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::evaluate):
        * bindings/v8/WorkerContextExecutionProxy.h:
        (WebCore::WorkerContextExecutionState::WorkerContextExecutionState):
        * bindings/v8/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::evaluate):
        (WebCore::WorkerScriptController::setException):

2009-07-24  Stephen White  <senorblanco@chromium.org>

        Reviewed by David Levin.

        Reverting r46157, since it may be causing problems with Chromium
        reliability (see http://crbug.com/17569).

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

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::drawLine):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::setupPaintForStroking):

2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Timothy Hatcher.

        REGRESSION: inspector seems broken in ToT WebKit
        https://bugs.webkit.org/show_bug.cgi?id=27646

        * inspector/front-end/Console.js:
        (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):

2009-07-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        Add the shadow style member to the ShadowData constructor and ==
        operator

        * rendering/style/ShadowData.cpp:
        (WebCore::ShadowData::ShadowData):
        (WebCore::ShadowData::operator==):

2009-07-24  Jian Li  <jianli@chromium.org>

        Reviewed by Eric Seidel.

        [V8] More V8 bindings changes to use ErrorEvent.
        https://bugs.webkit.org/show_bug.cgi?id=27630

        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertEventToV8Object):
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:

2009-07-24  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Dave Hyatt.

        Clean up dependencies on Apple support libraries for non-Apple build.
        http://bugs.webkit.org/show_bug.cgi?id=27532.

        * platform/graphics/win/SimpleFontDataWin.cpp: Conditionalize references
          to ApplicationServices.h and WebKitSystemInterface.h

2009-07-24  Dan Bernstein  <mitz@apple.com>

        Another attempted build fix 

        * bindings/js/JSAbstractWorkerCustom.cpp:

2009-07-24  Dan Bernstein  <mitz@apple.com>

        Attempted build fix

        * bindings/js/JSAbstractWorkerCustom.cpp:
        (WebCore::toJS):

2009-07-24  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Build fix for 64 bit Linux.

        int64_t is long on Linux 64 bit and not long long, thus
        getFileSize with a int64_t out value fails to build.

        Use a temporary to work around the problem.

        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::spaceNeeded):

2009-07-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Update all CREATE_DOM_*_WRAPPER callers to pass globalObject
        https://bugs.webkit.org/show_bug.cgi?id=27644

        This is another attempt at making the change for bug 27634 smaller.
        I included the changes to make_names.pl as well as any file which
        used CREATE_DOM_*_WRAPPER macros.

        The changes to the construct* functions are what fix the cases in
        fast/dom/constructed-objects-prototypes.html

        The changes to passing globalObject through CREATE_* are what fix
        fast/dom/prototype-inheritance-2.html

        * bindings/js/JSCDATASectionCustom.cpp:
        (WebCore::toJSNewlyCreated): pass globalObject.
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::toJS): pass globalObject.
        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::toJS): pass globalObject.
        * bindings/js/JSDOMBinding.h: updated macros to pass globalObject.
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::toJS): pass globalObject.
        * bindings/js/JSElementCustom.cpp:
        (WebCore::JSElement::setAttributeNode): use globalObject() for wrapping return value.
        (WebCore::JSElement::setAttributeNodeNS): use globalObject() for wrapping return value.
        (WebCore::toJSNewlyCreated): pass globalObject.
        * bindings/js/JSEventCustom.cpp:
        (WebCore::JSEvent::clipboardData): pass globalObject.
        (WebCore::toJS): pass globalObject.
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::getNamedItems): use globalObject() for wrapping returned collection items.
        (WebCore::callHTMLCollection): use globalObject() for wrapping returned collection items.
        (WebCore::JSHTMLCollection::item): use globalObject() for wrapping returned collection items.
        (WebCore::toJS): pass globalObject.
        * bindings/js/JSImageDataCustom.cpp:
        (WebCore::toJS): pass globalObject.
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::createWrapper): pass globalObject.
        * bindings/js/JSSVGPathSegCustom.cpp:
        (WebCore::toJS): pass globalObject.
        * bindings/js/JSStyleSheetCustom.cpp:
        (WebCore::toJS): pass globalObject.
        * bindings/js/JSTextCustom.cpp:
        (WebCore::toJSNewlyCreated): pass globalObject.
        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
        (WebCore::constructWebKitCSSMatrix): use constructors globalObject when constructing
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::constructXMLHttpRequest): use constructors globalObject when constructing
        * bindings/js/JSXSLTProcessorConstructor.cpp:
        (WebCore::constructXSLTProcessor): use constructors globalObject when constructing
        * dom/make_names.pl:
            Pass globalObject through CREATE_* macros and various support functions.

2009-07-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Update CodeGeneratorJS.pm to support passing JSDOMGlobalObject* to toJS calls
        https://bugs.webkit.org/show_bug.cgi?id=27643

        This is an attempt to make this change as small as possible.
        I started by including all changes to CodeGeneratorJS.pm from bug 27634,
        and then made the minimal amount of other changes needed to support that change.

        Most toJS implementations ignore their passed JSDOMGlobalObject.
        There are stub 2-argument toJS, toJSNewlyCreated implementations to help compiling.
        All places where it is not clear what we should pass as the global object
        (or where the global object is simply not available, like for some SVG bindings)
        we pass deprecatedGlobalObjectForPrototype instead.

        * bindings/js/JSCDATASectionCustom.cpp:
        (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::toJS): add ignored JSDOMGlobalObject*
        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::toJS): add ignored JSDOMGlobalObject*
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::setDOMException): pass the wrong globalObject for now
        * bindings/js/JSDOMBinding.h:
            Pass the wrong global object to the CREATE_ macros for now.
            In the next change we'll come back and pass the correct one.
            That will require changes to make_names.pl.
        (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
        (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
        (WebCore::DOMObjectWithGlobalPointer::~DOMObjectWithGlobalPointer):
        (WebCore::createDOMObjectWrapper):
        (WebCore::getDOMObjectWrapper):
        (WebCore::createDOMNodeWrapper):
        (WebCore::getDOMNodeWrapper):
        (WebCore::toJS): added to convert 2 arg calls to 3 arg calls to limit the scope of this change.
        (WebCore::toJSNewlyCreated):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::toJS): DOMWindow always uses its own prototype chain.
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::toJS): add ignored JSDOMGlobalObject*
        * bindings/js/JSElementCustom.cpp:
        (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS): add ignored JSDOMGlobalObject*
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS): add ignored JSDOMGlobalObject*
        * bindings/js/JSEventTarget.h:
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::toJS): add ignored JSDOMGlobalObject*
        * bindings/js/JSImageDataCustom.cpp:
        (WebCore::toJS): add ignored JSDOMGlobalObject*
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::createWrapper): pass globalObject to toJS(Document*) to avoid recursion
        (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
        (WebCore::toJS): add ignored JSDOMGlobalObject*
        * bindings/js/JSSVGElementInstanceCustom.cpp:
        (WebCore::toJS): pass globalObject along
        * bindings/js/JSSVGMatrixCustom.cpp:
        (WebCore::JSSVGMatrix::inverse): pass wrong globalObject for now.
        (WebCore::JSSVGMatrix::rotateFromVector): pass wrong globalObject for now.
        * bindings/js/JSSVGPathSegCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSSVGPathSegListCustom.cpp:
            All of these methods need a globalObject, but most SVG binding don't have
            space for one, so we just pass the lexicalGlobalObject for now.
        (WebCore::JSSVGPathSegList::initialize):
        (WebCore::JSSVGPathSegList::getItem):
        (WebCore::JSSVGPathSegList::insertItemBefore):
        (WebCore::JSSVGPathSegList::replaceItem):
        (WebCore::JSSVGPathSegList::removeItem):
        (WebCore::JSSVGPathSegList::appendItem):
        * bindings/js/JSSVGPointListCustom.cpp:
        (WebCore::finishGetter): pass wrong globalObject for now.
        (WebCore::finishSetter):
        (WebCore::finishSetterReadOnlyResult):
        * bindings/js/JSSVGTransformListCustom.cpp:
        (WebCore::finishGetter): pass wrong globalObject for now.
        (WebCore::finishSetter):
        (WebCore::finishSetterReadOnlyResult):
        * bindings/js/JSStyleSheetCustom.cpp:
        (WebCore::toJS): add ignored JSDOMGlobalObject*
        * bindings/js/JSTextCustom.cpp:
        (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
        * bindings/js/JSWorkerContextBase.cpp:
        (WebCore::toJS): WorkerContext always uses its own prototype chain since it's a GlobalObject subclass.
        * bindings/js/JSWorkerContextBase.h:
        * bindings/scripts/CodeGeneratorJS.pm:
            All generated toJS calls now pass a globalObject.
            All generated toJS implementations now expect a globalObject.
            Simplified all the slot casts by using a "castedThis" local.
            SVG bindings which don't have a globalObject() accessor pass the deprecated lexicalGlobalObject instead.
            Simplified printing of constructor objects using a $constructorClassName variable.
            All generated constructor functions follow the construct$className form to match the custom constructors.

2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Timothy Hatcher.

        typing "document.__proto__" in inspector throws exception
        https://bugs.webkit.org/show_bug.cgi?id=27169

        * inspector/front-end/utilities.js:
        (Object.type):

2009-07-24  Andrei Popescu  <andreip@google.com>

        Reviewed by Anders Carlsson.

        ApplicationCache should have size limit
        https://bugs.webkit.org/show_bug.cgi?id=22700

        https://lists.webkit.org/pipermail/webkit-dev/2009-May/007560.html

        This change implements a mechanism for limiting the maximum size of
        the application cache file. When this size is reached, a ChromeClient
        callback is invoked asynchronously and the saving of the last (failed)
        cache is retried automatically.
        
        This change also extends the ApplicationCacheStorage API by allowing
        a client to query or modify the application cache without having to
        load any resources into memory.

        Test: http/tests/appcache/max-size.html

        * WebCore.base.exp:
        Exports the symbols required by the DumpRenderTree test application.
        * loader/EmptyClients.h:
        Adds empty implementation of the new ChromeClient methods.
        * loader/appcache/ApplicationCache.cpp:
        * loader/appcache/ApplicationCache.h:
        Adds the ability to calculate the approximate size of an ApplicationCache object.
        * loader/appcache/ApplicationCacheGroup.cpp:
        * loader/appcache/ApplicationCacheGroup.h:
        Invokes the ChromeClient callback when the storage layer runs out of space.
        After the callback is invoked, we re-attempt to store the newest cache,
        in case the ChromeClient has freed some space.
        * loader/appcache/ApplicationCacheResource.cpp:
        * loader/appcache/ApplicationCacheResource.h:
        Adds the ability to calculate the approximate size of an ApplicationCacheResource object.
        * loader/appcache/ApplicationCacheStorage.cpp:
        * loader/appcache/ApplicationCacheStorage.h:
        Enforces a maximum size for the application cache file.
        * page/ChromeClient.h:
        Adds a new callback, invoked when the ApplicationCacheStorage reports that it has
        reached the maximum size for its database file.
        * platform/sql/SQLiteDatabase.cpp:
        * platform/sql/SQLiteDatabase.h:
        Adds a new method that allows querying for the amount of unused space inside the
        application cache database file.

2009-07-24  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        https://bugs.webkit.org/show_bug.cgi?id=25415
        [GTK][ATK] Please implement support for get_text_at_offset

        Use TextEncoding facilities to convert between UTF16 and UTF8
        instead of rolling our own solution.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (convertUniCharToUTF8):

2009-07-24  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        https://bugs.webkit.org/show_bug.cgi?id=25415
        [GTK][ATK] Please implement support for get_text_at_offset

        Fix confusion in g_substr between length in bytes and length in
        characters. Was causing crashes in some situations when dealing
        with non-ASCII text encoded as UTF8.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (g_substr):

2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Timothy Hatcher.

        Inspector: Impossible to add an attribute to a node without attributes
        https://bugs.webkit.org/show_bug.cgi?id=21108

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement):
        (WebInspector.ElementsTreeElement.prototype.set hovered):
        (WebInspector.ElementsTreeElement.prototype.toggleNewButton):
        (WebInspector.ElementsTreeElement.prototype.ondblclick):
        (WebInspector.ElementsTreeElement.prototype._startEditing):
        (WebInspector.ElementsTreeElement.prototype._addNewAttribute):
        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
        * inspector/front-end/inspector.css:

2009-07-24  Keishi Hattori  <casey.hattori@gmail.com>

        Reviewed by Timothy Hatcher.

        Web Inspector: Adds support for Firebug's magic $0 variable to access inspected node
        https://bugs.webkit.org/show_bug.cgi?id=17907

        * inspector/front-end/Console.js:
        (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI.{
            _inspectedNodes, _addInspectedNode, $0, $1, $n}
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): Stores the inspected node history
            in _inspectorCommandLineAPI._inspectedNodes
        (WebInspector.ElementsPanel):

2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Timothy Hatcher.

        Dragging a resource in the sidebar should drag it's URL
        https://bugs.webkit.org/show_bug.cgi?id=14410

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

2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Timothy Hatcher.

        Double click on a resource in the sidebar should open that resource in Safari
        https://bugs.webkit.org/show_bug.cgi?id=14409

        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): open a resource url

2009-07-24  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Xan Lopez.

        Bump pango version requirement to 1.12 and remove unnecessary #ifdefs.

        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::getDefaultPangoLayout):
        * platform/graphics/gtk/FontPlatformDataPango.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        * platform/gtk/Language.cpp:

2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Timothy Hatcher.

        Inspector: Missing UIString and other localizedString.js fixes
        https://bugs.webkit.org/show_bug.cgi?id=27288

        * English.lproj/localizedStrings.js:

2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Timothy Hatcher.

        Inspector: Should Syntax Highlight JSON
        https://bugs.webkit.org/show_bug.cgi?id=27503

        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._contentLoaded):

2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>

        Reviewed by Eric Seidel.

        Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
        Style Guidelines as identified by cpplint.py.
        https://bugs.webkit.org/show_bug.cgi?id=27624

        * page/DragController.cpp:
        (WebCore::DragController::~DragController):
        (WebCore::documentFragmentFromDragData):
        (WebCore::DragController::dragEnded):
        (WebCore::DragController::dragEntered):
        (WebCore::DragController::dragExited):
        (WebCore::DragController::dragUpdated):
        (WebCore::DragController::performDrag):
        (WebCore::asFileInput):
        (WebCore::DragController::tryDocumentDrag):
        (WebCore::DragController::delegateDragSourceAction):
        (WebCore::DragController::concludeEditDrag):
        (WebCore::DragController::canProcessDrag):
        (WebCore::DragController::tryDHTMLDrag):
        (WebCore::DragController::mayStartDragAtEventLocation):
        (WebCore::getCachedImage):
        (WebCore::getImage):
        (WebCore::prepareClipboardForImageDrag):
        (WebCore::dragLocForDHTMLDrag):
        (WebCore::DragController::startDrag):
        (WebCore::DragController::doImageDrag):
        (WebCore::DragController::doSystemDrag):
        (WebCore::DragController::placeDragCaret):

2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>

        Reviewed by Eric Seidel.

        Update WebCore/page/Chrome.cpp to conform to WebKit
        Style Guidelines as identified by cpplint.py.
        https://bugs.webkit.org/show_bug.cgi?id=27608

        * page/Chrome.cpp:
        (WebCore::Chrome::runBeforeUnloadConfirmPanel):
        (WebCore::Chrome::runJavaScriptAlert):
        (WebCore::Chrome::runJavaScriptConfirm):
        (WebCore::Chrome::runJavaScriptPrompt):
        (WebCore::Chrome::shouldInterruptJavaScript):
        (WebCore::Chrome::setToolTip):
        (WebCore::Chrome::requestGeolocationPermissionForFrame):
        (WebCore::ChromeClient::generateReplacementFile):
        (WebCore::ChromeClient::paintCustomScrollbar):

2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>

        Reviewed by Eric Seidel.

        Update WebCore/page/Coordinates.cpp to conform to WebKit
        Style Guidelines as identified by cpplint.py.
        https://bugs.webkit.org/show_bug.cgi?id=27614

        * page/Coordinates.cpp:
        (WebCore::Coordinates::toString):

2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>

        Reviewed by Eric Seidel.

        Update WebCore/page/DOMSelection.cpp/h to conform to WebKit
        Style Guidelines as identified by cpplint.py.
        https://bugs.webkit.org/show_bug.cgi?id=27614

        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::setBaseAndExtent):
        (WebCore::DOMSelection::modify):
        (WebCore::DOMSelection::addRange):
        (WebCore::DOMSelection::deleteFromDocument):
        * page/DOMSelection.h:

2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>

        Reviewed by Eric Seidel.

        Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
        Style Guidelines as identified by cpplint.py.
        https://bugs.webkit.org/show_bug.cgi?id=27618

        * page/DOMTimer.cpp:
        (WebCore::DOMTimer::DOMTimer):
        (WebCore::DOMTimer::~DOMTimer):
        (WebCore::DOMTimer::fired):
        (WebCore::DOMTimer::suspend):
        (WebCore::DOMTimer::resume):
        (WebCore::DOMTimer::canSuspend):
        * page/DOMTimer.h:
        (WebCore::DOMTimer::minTimerInterval):
        (WebCore::DOMTimer::setMinTimerInterval):

2009-07-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Classes call DOMObject::mark() explicitly, should call DOMObjectWithGlobal::mark() instead
        https://bugs.webkit.org/show_bug.cgi?id=27641

        Nothing uses globalObject() yet, but this was causing crashes
        in the patch for bug 27634.  This is covered by fast/dom/gc-6.html.

        I decided to change these to Base:: instead of DOMObjectWithGlobal::
        for future-proofing.  All autogenerated classes use a typedef Base
        to avoid bugs like these.  Sadly C++ does not have a built-in super:: we could use.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSAbstractWorkerCustom.cpp:
        (WebCore::JSAbstractWorker::mark):
        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        (WebCore::JSDOMApplicationCache::mark):
        * bindings/js/JSMessageChannelCustom.cpp:
        (WebCore::JSMessageChannel::mark):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::mark):
        * bindings/js/JSNamedNodesCollection.cpp:
        (WebCore::JSNamedNodesCollection::getOwnPropertySlot):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::mark):
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::JSNodeFilter::mark):
        * bindings/js/JSNodeIteratorCustom.cpp:
        (WebCore::JSNodeIterator::mark):
        * bindings/js/JSSVGElementInstanceCustom.cpp:
        (WebCore::JSSVGElementInstance::mark):
        * bindings/js/JSTreeWalkerCustom.cpp:
        (WebCore::JSTreeWalker::mark):

2009-07-22  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Make most DOMObjects hold onto a JSDOMGlobalObject*
        https://bugs.webkit.org/show_bug.cgi?id=27588

        This change is almost entirely plumbing.  Only one functional
        change as part of this all (window.document.constructor has the correct prototype)
        Changes are detailed below.

        inner.document.constructor is fixed because all properties on the window
        object are created with the correct globalObject (instead of the lexical one).
        Since all objects now carry a globalObject pointer, when document creates
        HTMLDocumentConstructor it now has the right globalObject to use.

        Tests:
          fast/dom/prototype-inheritance.html
          fast/dom/prototype-inheritance-2.html

        * bindings/js/DOMObjectWithSVGContext.h:
        (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
            Update the comment and add an ignored globalObject argument.
        * bindings/js/JSDOMBinding.h:
            Pass a globalObject to all DOMObjects during creation.  Currently it's the wrong global object.
            Once toJS is passed a globalObject it will be the right one.
        (WebCore::createDOMObjectWrapper):
        (WebCore::createDOMNodeWrapper):
        * bindings/js/JSDOMGlobalObject.h:
        (WebCore::JSDOMGlobalObject::globalObject): Makes binding generation easier.
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::history): JSHistory is now passed a globalObject, but since it has no custom constructor it doesn't use it.
        (WebCore::JSDOMWindow::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
        * bindings/js/JSHTMLAllCollection.h:
        (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
        * bindings/js/JSHTMLCollectionCustom.cpp: Re-factoring needed to pass globalObject to JSNamedNodesCollection constructor.
        (WebCore::getNamedItems):
        (WebCore::callHTMLCollection):
        (WebCore::JSHTMLCollection::canGetItemsForName):
        (WebCore::JSHTMLCollection::nameGetter):
        (WebCore::JSHTMLCollection::item):
        (WebCore::JSHTMLCollection::namedItem):
        * bindings/js/JSHTMLFormElementCustom.cpp:
        (WebCore::JSHTMLFormElement::nameGetter):
        * bindings/js/JSNamedNodesCollection.cpp:
             Now passed globalObject.  This is tested by inner.document.forms.testForm.
             The passed globalObject is still wrong until toJS is fixed.
        (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
        * bindings/js/JSNamedNodesCollection.h:
        * bindings/js/JSSharedWorkerConstructor.cpp:
             Add DOMConstructorObject missed by http://trac.webkit.org/changeset/45938
             This class is not compiled by default, so not testable.
        (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
        * bindings/js/JSSharedWorkerConstructor.h:
        * bindings/scripts/CodeGeneratorJS.pm:
             Make all bindings objects carry a globalObject pointer using DOMObjectWithGlobalPointer.
             SVG bindings which need a context() pointer do not have enough space for globalObject() too.
             WorkerContext does not need a globalObject (it is one), so special case it.
             Make all .constructor calls use the stored globalObject().  This is what fixes window.document.constructor.
             Make all constructors inherit from DOMConstructorObject for consistency.  Since the auto-bound constructors
             override createStructure anyway, there is no functional change here.  Just completing work started in r45938.

2009-07-23  Brady Eidson  <beidson@apple.com>

        Reviewed by Geoff Garen.

        WebCore has a few places that don't gracefully handle a null request returned from willSendRequest.
        https://bugs.webkit.org/show_bug.cgi?id=27595

        Test: http/tests/misc/will-send-request-returns-null-on-redirect.html
        
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::removeResource): Null-check the request URL.
        
        * platform/network/cf/ResourceHandleCFNet.cpp: Ditto, and return null instead of creating an empty one.
        (WebCore::willSendRequest):

2009-07-23  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 27633 - AXLoadComplete can be fired off to frequently
        https://bugs.webkit.org/show_bug.cgi?id=27633

        An integration issue left out some curly braces.

        * dom/Document.cpp:
        (WebCore::Document::implicitClose):

2009-07-23  Darin Adler  <darin@apple.com>

        Reviewed by Brady Eidson.

        URL appears in back/forward button menu instead of title for items with custom representation
        https://bugs.webkit.org/show_bug.cgi?id=27586
        rdar://problem/5060337

        * WebCore.base.exp: Exported DocumentLoader::setTitle for use by Mac WebKit.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didChangeTitle): Tightened code to check if the document
        loader is the correct one; previously this would never happen because we'd
        commit the load before any title changes could be registered, but now we can
        encounter a case where we get a title during a provisional load.

2009-07-23  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        [CSS3 Backgrounds and Borders] Add support for inset box shadows
        https://bugs.webkit.org/show_bug.cgi?id=27582

        Test: fast/box-shadow/inset.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForShadow): Set the ShadowValue’s shadow style to 'inset'
            as needed.

        * css/CSSParser.cpp:
        (WebCore::ShadowParseContext::ShadowParseContext): Added style and allowStyle
            members. Initialize the allowStyle member.
        (WebCore::ShadowParseContext::commitValue): Pass the style value to the
            ShadowValue constructor. Reset allowStyle.
        (WebCore::ShadowParseContext::commitLength): Update allowStyle.
        (WebCore::ShadowParseContext::commitColor): Ditto.
        (WebCore::ShadowParseContext::commitStyle): Added. Sets the style member and
            updates the state.
        (WebCore::CSSParser::parseShadow): Parse the 'inset' keyword.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Get the style value from the
            shadow value and pass it to the ShadowData constructor.

        * css/ShadowValue.cpp:
        (WebCore::ShadowValue::ShadowValue): Added style.
        (WebCore::ShadowValue::cssText): Added style.

        * css/ShadowValue.h:
        (WebCore::ShadowValue::create): Added style.

        * page/animation/AnimationBase.cpp:
        (WebCore::blendFunc): Added a blend function for shadow styles. When blending
            between normal and inset shadows, all intermediate values map to normal.
        (WebCore::PropertyWrapperShadow::blend): Added normal style to the default
            shadow.
            
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintBoxShadow): Added a shadow style parameter,
            which is passed through to RenderBoxModelObject::paintBoxShadow().

        (WebCore::InlineFlowBox::paintBoxDecorations): Paint inset shadows on top of
            the background.

        * rendering/InlineFlowBox.h:

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBoxDecorations): Paint inset shadows on top of the
            background.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBoxShadow): Added a shadow style
            parameter, and code to paint inset shadows.

        * rendering/RenderBoxModelObject.h:

        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations): Paint inset shadows on top of
            the background.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paintBoxDecorations): Ditto.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintBoxDecorations): Ditto.

        * rendering/style/ShadowData.h:
        Added a ShadowStyle enum.
        (WebCore::ShadowData::ShadowData): Add and initialize a style member.

2009-07-23  Simon Fraser  <simon.fraser@apple.com>

        Fix the build with UNUSED_PARAM(frame) for when ENABLE(3D_RENDERING) is not defined.

        * css/MediaQueryEvaluator.cpp:
        (WebCore::transform_3dMediaFeatureEval):

2009-07-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Adele Peterson.

        3d-transforms media query needs to look check that accelerated compositing is enabled
        https://bugs.webkit.org/show_bug.cgi?id=27621
        
        When evaluating a media query with '-webkit-transform-3d', we need to check the
        runtime switch that toggles accererated compositing, and therefore 3D.
        
        No test because we can't disable the pref dynamically in DRT.

        * css/MediaQueryEvaluator.cpp:
        (WebCore::transform_3dMediaFeatureEval):

2009-07-22  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        execCommand('underline') can't remove <U> underlines
        https://bugs.webkit.org/show_bug.cgi?id=20215

        This patch adds support for u, s, and strike to implicitlyStyledElementShouldBeRemovedWhenApplyingStyle so that
        WebKit can remove those presentational tags when necessary.
        It also modifies StyleChange::init not to add "text-decoration: none".  Not only is this style meaningless
        (does not override inherited styles) but it was also causing WebKit to generate extra spans with this style.

        * css/CSSValueList.cpp:
        (WebCore::CSSValueList::hasValue): True if the property contains the specified value
        * css/CSSValueList.h: Updated prototype
        * editing/ApplyStyleCommand.cpp:
        (WebCore::StyleChange::init): No longer adds "text-decoration: none"
        (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): Supports text-decoration-related elements

2009-07-23  Jessie Berlin  <jberlin@apple.com>
        
        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=27554
        Expose the value of text-overflow in getComputedStyle.

        Test: fast/css/getComputedStyle/getComputedStyle-text-overflow.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::):
        Add text-overflow to the list of computedProperties.
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        Return the value of the text-overflow property.

2009-07-23  Yongjun Zhang  <yongjun.zhang@nokia.com>

        Reviewed by Simon Hausmann.

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

        [S60 QtWebKit] Don't put some intermediate generated files into the final mmp project
        file for linking. This is a temporary workaround for qmake bug in Symbian port, should 
        be reverted after qmake is fixed.

        * WebCore.pro:

2009-07-23  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        [V8] Fix an assert in running workers in Chrome.
        https://bugs.webkit.org/show_bug.cgi?id=27620

        The fix is to change V8DOMMap::removeAllDOMObjectsInCurrentThreadHelper
        to do not call removeObjectsFromWrapperMap for certain types of DOM
        objects that exist only in main thread.

        * bindings/v8/V8DOMMap.cpp:
        (WebCore::removeAllDOMObjectsInCurrentThreadHelper):

2009-07-23  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=27572
        Implement support for background-attachment:local.

        Added new test fast/overflow/overflow-with-local-attachment.html.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFillProperty):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EFillAttachment):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::mapFillAttachment):
        * css/CSSValueKeywords.in:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
        * rendering/style/FillLayer.h:
        (WebCore::FillLayer::attachment):
        (WebCore::FillLayer::setAttachment):
        (WebCore::FillLayer::hasFixedImage):
        (WebCore::FillLayer::initialFillAttachment):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::backgroundAttachment):
        (WebCore::InheritedFlags::maskAttachment):
        * rendering/style/RenderStyleConstants.h:
        (WebCore::):

2009-07-23  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        copyInheritableProperties and removeComputedInheritablePropertiesFrom should be deprecated
        https://bugs.webkit.org/show_bug.cgi?id=27325

        This patch deprecates copyInheritableProperties because it has been used for two different purposes:
        1.  Calculating the typing style.
        2.  Moving HTML subtrees and seeking to remove redundant styles.
        These tasks should be broken out into two separate functions.  New code should not use this function.

        It deletes removeComputedInheritablePropertiesFrom because it hasn't been used anywhere.

        There is no test since the patch does not change any behavior.

        * css/CSSComputedStyleDeclaration.cpp: removeComputedInheritablePropertiesFrom has been removed
        (WebCore::CSSComputedStyleDeclaration::deprecatedCopyInheritableProperties): has been renamed from copyInheritableProperties
        * css/CSSComputedStyleDeclaration.h: ditto
        * editing/DeleteSelectionCommand.cpp: ditto
        (WebCore::removeEnclosingAnchorStyle): ditto
        (WebCore::DeleteSelectionCommand::saveTypingStyleState): ditto
        * editing/EditCommand.cpp: ditto
        (WebCore::EditCommand::styleAtPosition): ditto
        * editing/RemoveFormatCommand.cpp: ditto
        (WebCore::RemoveFormatCommand::doApply): ditto
        * editing/ReplaceSelectionCommand.cpp: ditto
        (WebCore::handleStyleSpansBeforeInsertion): ditto
        (WebCore::ReplaceSelectionCommand::handleStyleSpans): ditto
        * editing/markup.cpp: ditto
        (WebCore::removeEnclosingMailBlockquoteStyle): ditto
        (WebCore::removeDefaultStyles): ditto
        (WebCore::createMarkup): ditto

2009-07-22  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

        Audio element at default width shouldn't have time field.
        https://bugs.webkit.org/show_bug.cgi?id=27589

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlTimeDisplayElement::setVisible): Make sure we don't
        forget to remember the visibility if there is no renderer.

2009-07-23  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=27598 Clean up the 
        AccessibilityObject class

        Mostly this is just moving empty stubs into the header rather than 
        muddying the cpp file with them. A few functions were made pure 
        virtual.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::isARIAControl):
        (WebCore::AccessibilityObject::clickPoint):
        (WebCore::AccessibilityObject::documentFrameView):
        (WebCore::AccessibilityObject::actionVerb):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::intValue):
        (WebCore::AccessibilityObject::layoutCount):
        (WebCore::AccessibilityObject::doAccessibilityHitTest):
        (WebCore::AccessibilityObject::focusedUIElement):
        (WebCore::AccessibilityObject::firstChild):
        (WebCore::AccessibilityObject::lastChild):
        (WebCore::AccessibilityObject::previousSibling):
        (WebCore::AccessibilityObject::nextSibling):
        (WebCore::AccessibilityObject::parentObjectIfExists):
        (WebCore::AccessibilityObject::observableObject):
        (WebCore::AccessibilityObject::linkedUIElements):
        (WebCore::AccessibilityObject::titleUIElement):
        (WebCore::AccessibilityObject::ariaRoleAttribute):
        (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole):
        (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren):
        (WebCore::AccessibilityObject::roleValue):
        (WebCore::AccessibilityObject::ariaAccessiblityName):
        (WebCore::AccessibilityObject::ariaLabeledByAttribute):
        (WebCore::AccessibilityObject::ariaDescribedByAttribute):
        (WebCore::AccessibilityObject::accessibilityDescription):
        (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
        (WebCore::AccessibilityObject::axObjectCache):
        (WebCore::AccessibilityObject::axObjectID):
        (WebCore::AccessibilityObject::setAXObjectID):
        (WebCore::AccessibilityObject::anchorElement):
        (WebCore::AccessibilityObject::actionElement):
        (WebCore::AccessibilityObject::boundingBoxRect):
        (WebCore::AccessibilityObject::selectedTextRange):
        (WebCore::AccessibilityObject::selectionStart):
        (WebCore::AccessibilityObject::selectionEnd):
        (WebCore::AccessibilityObject::url):
        (WebCore::AccessibilityObject::selection):
        (WebCore::AccessibilityObject::stringValue):
        (WebCore::AccessibilityObject::title):
        (WebCore::AccessibilityObject::helpText):
        (WebCore::AccessibilityObject::textUnderElement):
        (WebCore::AccessibilityObject::text):
        (WebCore::AccessibilityObject::textLength):
        (WebCore::AccessibilityObject::selectedText):
        (WebCore::AccessibilityObject::accessKey):
        (WebCore::AccessibilityObject::widget):
        (WebCore::AccessibilityObject::widgetForAttachmentView):
        (WebCore::AccessibilityObject::setFocused):
        (WebCore::AccessibilityObject::setSelectedText):
        (WebCore::AccessibilityObject::setSelectedTextRange):
        (WebCore::AccessibilityObject::setValue):
        (WebCore::AccessibilityObject::setSelected):
        (WebCore::AccessibilityObject::makeRangeVisible):
        (WebCore::AccessibilityObject::childrenChanged):
        (WebCore::AccessibilityObject::addChildren):
        (WebCore::AccessibilityObject::hasChildren):
        (WebCore::AccessibilityObject::selectedChildren):
        (WebCore::AccessibilityObject::visibleChildren):
        (WebCore::AccessibilityObject::visiblePositionRange):
        (WebCore::AccessibilityObject::visiblePositionRangeForLine):
        (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
        (WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
        (WebCore::AccessibilityObject::visiblePositionForPoint):
        (WebCore::AccessibilityObject::nextVisiblePosition):
        (WebCore::AccessibilityObject::previousVisiblePosition):
        (WebCore::AccessibilityObject::visiblePositionForIndex):
        (WebCore::AccessibilityObject::indexForVisiblePosition):
        (WebCore::AccessibilityObject::index):
        (WebCore::AccessibilityObject::doAXRangeForLine):
        (WebCore::AccessibilityObject::doAXRangeForIndex):
        (WebCore::AccessibilityObject::doAXStringForRange):
        (WebCore::AccessibilityObject::doAXBoundsForRange):
        (WebCore::AccessibilityObject::updateBackingStore):

2009-07-23  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by David Hyatt.

        Fix of <rdar://4877658> Dragging from the area between the horizontal/vertical scrollbars when status bar is showing starts a selection and autoscroll.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollView.h:

2009-07-23  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=27581
        Drop the prefix from the box-shadow property.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::ShadowParseContext::commitLength):
        (WebCore::cssPropertyID):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * page/animation/AnimationBase.cpp:
        (WebCore::ensurePropertyMap):

2009-07-22  Viet-Trung Luu  <viettrungluu@gmail.com>

        Reviewed by David Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=27289
        When a mouse click occurs on a scrollbar without a preceding mouse move
        onto it, the release isn't handled correctly (since
        EventHandler::m_lastScrollbarUnderMouse isn't set on mouse down, but
        only on mouse move). (Side comment: That scrollbar-handling code
        in EventHandler is ugly. It should be fixed properly.)

        Tests: scrollbars/scrollbar-miss-mousemove.html
               scrollbars/scrollbar-miss-mousemove-disabled.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::handleMouseMoveEvent):
        (WebCore::EventHandler::updateLastScrollbarUnderMouse):
        * page/EventHandler.h:

2009-07-23  Mike Fenton  <mike.fenton@torchmobile.com>

        Reviewed by David Levin.

        Update WebCore/page/BarInfo.cpp to conform to WebKit
        Style Guidelines as identified by cpplint.py.
        https://bugs.webkit.org/show_bug.cgi?id=27606

        * page/BarInfo.cpp:
        (WebCore::BarInfo::visible):

2009-07-23  Mike Fenton  <mike.fenton@torchmobile.com>

        Reviewed by David Levin.

        Update WebCore/page/Console.cpp to conform to WebKit
        Style Guidelines as identified by cpplint.py.
        https://bugs.webkit.org/show_bug.cgi?id=27606

        * page/Console.cpp:
        (WebCore::printMessageSourceAndLevelPrefix):
        (WebCore::Console::profile):
        (WebCore::Console::time):

2009-07-23  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Holger Freyther.

        Fix crashes with the QObject bindings after garbage collection.

        There is one QtInstance per wrapped QObject, and that QtInstance keeps
        references to cached JSObjects for slots. When those objects get
        deleted due to GC, then they becoming dangling pointers.

        When a cached member dies, it is now removed from the QtInstance's
        cache.

        As we cannot track the lifetime of the children, we have to remove
        them from QtInstance alltogether. They are not cached and were
        only used for mark(), but we _want_ them to be subject to gc.

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::~QtInstance): Minor coding style cleanup,
        use qDeleteAll().
        (JSC::Bindings::QtInstance::removeCachedMethod): New function, to
        clean m_methods and m_defaultMethod.
        (JSC::Bindings::QtInstance::mark): Avoid marking already marked objects.
        (JSC::Bindings::QtField::valueFromInstance): Don't save children for
        marking.
        * bridge/qt/qt_instance.h: Declare removeCachedMethod.
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod): Call removeCachedMethod
        with this on the instance.

2009-07-23  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=27599
        'const unsigned' in return value

        Remove const modifier from unsigned return value, as it does not
        make sense.

        * dom/ErrorEvent.h:

2009-07-22  Jens Alfke  <snej@chromium.org>

        Reviewed by David Levin.

        Bug 22784: Improve keyboard navigation of Select elements.
        Home/End and PageUp/PageDn buttons do not do anything in drop down lists,
        on non-Mac platforms.
        https://bugs.webkit.org/show_bug.cgi?id=22784
        http://code.google.com/p/chromium/issues/detail?id=4576

        New test: LayoutTests/fast/forms/select-popup-pagekeys.html

        * dom/SelectElement.cpp:
        (WebCore::nextValidIndex): 
        New utility fn for traversing items of a select's list.
        (WebCore::SelectElement::menuListDefaultEventHandler):
        Added code to handle Home/End and PageUp/PageDn when ARROW_KEYS_POP_MENU is false.

2009-07-23  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Mark Rowe.

        Fix a couple of compiler warnings.

        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (copySurface):
        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
        (WebCore::SimpleFontData::containsCharacters):

2009-07-22  Simon Hausmann  <simon.hausmann@nokia.com>

        Rubber-stamped by David Levin.

        Enable HTML5 Datagrid defines for the Qt build.

        * WebCore.pro:

2009-07-22  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        [V8] Make Node wrappers go fast
        https://bugs.webkit.org/show_bug.cgi?id=27597

        Profiles indicate we're spending a lot of time asking whether we're on
        the main thread when looking up DOM wrappers for Nodes, but there isn't
        much point in doing that work because Nodes only exist on the main
        thread.  I've also added an assert to keep us honest in this regard.

        * bindings/v8/V8DOMMap.cpp:
        (WebCore::):
        (WebCore::getDOMNodeMap):
        (WebCore::DOMData::getCurrent):
        (WebCore::DOMData::getCurrentMainThread):

2009-07-22  Adam Barth  <abarth@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Remove unneeded virtual destructor from ScriptSourceProvider
        https://bugs.webkit.org/show_bug.cgi?id=27563

        * bindings/js/ScriptSourceProvider.h:

2009-07-22  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        execCommand('underline' / 'strikeThrough') doesn't work properly with multiple styles in text-decoration
        https://bugs.webkit.org/show_bug.cgi?id=27476

        executeStrikethrough and executeUnderline were toggling between "line-through" / "underline" and "none".
        This patch adds executeToggleStyleInList that toggles a style in CSSValueList instead of toggling the entire value.
        It modifies CSSComputedStyleDeclaration to return CSSValueList instead of CSSPrimitiveValue for text decorations,
        and adds removeAll member function to CSSValueList.

        Tests: editing/execCommand/toggle-text-decorations.html
               fast/css/getComputedStyle/getComputedStyle-text-decoration.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::renderTextDecorationFlagsToCSSValue): Creates a CSSValueList
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Returns a CSSValueList instead of CSSValue
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Text decorations are space separated instead of comma separated
        * css/CSSValueList.cpp:
        (WebCore::CSSValueList::removeAll): Removes all values that match the specified value
        * css/CSSValueList.h:
        * editing/EditorCommand.cpp:
        (WebCore::applyCommandToFrame): Apply style to a frame using specified command
        (WebCore::executeApplyStyle): Uses applyCommandToFrame
        (WebCore::executeToggleStyleInList): Uses applyCommandToFrame
        (WebCore::executeToggleStyle): Toggles a style in CSSValueList
        (WebCore::executeStrikethrough): Uses executeToggleStyleInList
        (WebCore::executeUnderline): Uses executeToggleStyleInList

2009-07-22  Daniel Bates  <dbates@intudata.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=27174
        And
        https://bugs.webkit.org/show_bug.cgi?id=26938
        
        Code cleanup. Implements support for detecting attacks transformed by 
        PHP Magic Quotes/PHP addslashes().

        Tests: http/tests/security/xssAuditor/script-tag-addslashes-backslash.html
               http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html
               http/tests/security/xssAuditor/script-tag-addslashes-null-char.html
               http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html

        * page/XSSAuditor.cpp:
        (WebCore::isInvalidCharacter):
        (WebCore::XSSAuditor::canEvaluate):
        (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
        (WebCore::XSSAuditor::canLoadObject):
        (WebCore::XSSAuditor::normalize): Decodes HTML entities, removes backslashes,
        and removes control characters that could otherwise cause a discrepancy between
        the source code of a script and the outgoing HTTP parameters.
        (WebCore::XSSAuditor::decodeURL):
        (WebCore::XSSAuditor::decodeHTMLEntities):
        (WebCore::XSSAuditor::findInRequest):
        * page/XSSAuditor.h:

2009-07-22  Oliver Hunt  <oliver@apple.com>

        Reviewed by Adele Peterson.

        Null deref in JSObject::mark due to null xhr wrapper
        https://bugs.webkit.org/show_bug.cgi?id=27565

        Make event target binding for appcache and xhr behave in the same way as
        it does for all other events.

        No test as I couldn't make a testcase which was remotely reliable.

        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):

2009-07-22  Mads Ager  <ager@chromium.org>

        Reviewed by David Levin.

        Inform V8 of the amount of WebCore string memory it is keeping alive.
        https://bugs.webkit.org/show_bug.cgi?id=27537

        V8 uses external strings that are backed by WebCore strings. Since
        the external strings themselves are small, V8 has no way of
        knowing how much memory it is actually holding on to. With this
        change, we inform V8 of the amount of WebCore string data it is
        holding on to with external strings.

        * bindings/v8/V8Binding.cpp:
        (WebCore::WebCoreStringResource::WebCoreStringResource):
        (WebCore::WebCoreStringResource::~WebCoreStringResource):

2009-07-22  David Hyatt  <hyatt@apple.com>

        Reviewed by Beth Dakin.

        https://bugs.webkit.org/show_bug.cgi?id=27562
        Add the finalized versions of background-clip and background-origin.  Remove background-clip from
        the background shorthand and have it be auto-set based off background-origin's value.

        Three new tests added in fast/backgrounds/size

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFillShorthand):
        (WebCore::CSSParser::parseFillProperty):
        * css/CSSPropertyLonghand.cpp:
        (WebCore::initShorthandMap):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSValueKeywords.in:

2009-07-22  Jens Alfke  <snej@chromium.org>

        Reviewed by Darin Fisher.

        Hook up V8 bindings for DataGrid elements.
        https://bugs.webkit.org/show_bug.cgi?id=27383
        http://code.google.com/p/chromium/issues/detail?id=16730

        Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
        to handle exceptions, check appropriate JS prototypes, and
        test column-list's item() method as well as array-indexing.

        * WebCore.gypi: Added new source files.
        * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
        * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
        * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
        (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
        * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
        (WebCore::V8DataGridDataSource::V8DataGridDataSource):
        (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
        * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
        (WebCore::V8DataGridDataSource::create):
        (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
        (WebCore::V8DataGridDataSource::jsDataSource):
        (WebCore::asV8DataGridDataSource):
        * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
        * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
        * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
        * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Added.
        * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):

2009-07-22  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        pushDownTextDecorationStyleAroundNode needs clean up
        https://bugs.webkit.org/show_bug.cgi?id=27556

        Cleaned up. pushDownTextDecorationStyleAroundNode traverses tree vertically from highestAncestor to targetNode
        While traversing, it will apply the specified style to all nodes but targetNode.
        i.e. the style is applies to all ancestor nodes and their siblings of targetNode.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Cleaned up and added comments
        * editing/ApplyStyleCommand.h: Updated prototype

2009-07-22  Peter Kasting  <pkasting@google.com>

        Reviewed by David Kilzer.

        https://bugs.webkit.org/show_bug.cgi?id=27323
        Handle any type of line endings in WebCore/css/*CSSPropertyNames.in.

        * DerivedSources.make:
        * css/makeprop.pl:
        * css/makevalues.pl:

2009-07-22  Paul Godavari  <paul@chromium.org>

        Reviewed by Darin Fisher.

        Chromium has a build break after removal of JSRGBColor bindings
        https://bugs.webkit.org/show_bug.cgi?id=27548

        Fix a build break in Chromium V8 after the JSRGBColor bindings change:
        https://bugs.webkit.org/show_bug.cgi?id=27242

        * bindings/scripts/CodeGeneratorV8.pm:

2009-07-22  Adam Langley  <agl@google.com>

        Reviewed by Darin Fisher.

        Chromium Linux: add static functions to FontPlatformData which allow
        for setting the global font rendering preferences.

        https://bugs.webkit.org/show_bug.cgi?id=27513
        http://code.google.com/p/chromium/issues/detail?id=12179

        This should not affect any layout tests.

        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::setHinting):
        (WebCore::FontPlatformData::setAntiAlias):
        (WebCore::FontPlatformData::setSubpixelGlyphs):
        (WebCore::FontPlatformData::setupPaint):
        * platform/graphics/chromium/FontPlatformDataLinux.h:

2009-07-22  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Timothy Hatcher.

        Move Inspector panels creation into a function to make possible introducing
        custom panels.

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

2009-07-22  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Print console command message upon evaluate
        selection request; Handle errors in evaluation request
        properly.

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

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):

2009-07-22  Xan Lopez  <xlopez@igalia.com>

        Attempt to fix the GTK+ build.

        * GNUmakefile.am:

2009-07-21  Simon Hausmann  <simon.hausmann@nokia.com>

        Fix the Qt build.

        * WebCore.pro: Add RGBColor.cpp to the build, remove JSRGBColor.

2009-07-21  Daniel Bates  <dbates@intudata.com>

        Reviewed by Adam Barth.

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

        Fixes an issue that can cause a crash or unexpected behavior when calling
        WebCore::ScriptSourceCode::source on a cached script.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/CachedScriptSourceProvider.h: Modified to inherit from 
        WebCore::ScriptSourceCode.
        (WebCore::CachedScriptSourceProvider::source):
        (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
        * bindings/js/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode): Separated out source provider and
        rewrote to use WebCore::ScriptSourceProvider.
        (WebCore::ScriptSourceCode::source):
        * bindings/js/ScriptSourceProvider.h: Added.
        (WebCore::ScriptSourceProvider::ScriptSourceProvider):
        (WebCore::ScriptSourceProvider::~ScriptSourceProvider):
        * bindings/js/StringSourceProvider.h: Modified to inherit from 
        WebCore::ScriptSourceCode.
        (WebCore::StringSourceProvider::StringSourceProvider):

2009-07-21  Sam Weinig  <sam@webkit.org>

        Another attempt to fix the Windows build.

        * WebCore.vcproj/WebCore.vcproj:

2009-07-21  Sam Weinig  <sam@webkit.org>

        Attempt to fix the Windows build.

        * DerivedSources.cpp:

2009-07-21  Sam Weinig  <sam@webkit.org>

        Attempt to fix the GTK build.

        * GNUmakefile.am:

2009-07-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Autogenerate Objective-C binding implementation for RGBColor.

        No functionality change.

        * WebCore.xcodeproj/project.pbxproj: 
        * bindings/objc/DOMRGBColor.mm: Removed.
        * bindings/scripts/CodeGeneratorObjC.pm: Add logic to convert from
        WebCore::Color to NSColor*.
        * css/RGBColor.idl:

2009-07-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=27242
        JSC bindings should use an auto-bound RGBColor class instead of hand-rolled JSRGBColor

        Move the JSC and Objective-C bindings onto using the RGBColor object instead
        of just an unsigned int. The JSC bindings are now completely autogenerated for
        this class. (Also removes the last lut from WebCore).

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSRGBColor.cpp: Removed.
        * bindings/js/JSRGBColor.h: Removed.
        * bindings/objc/DOM.mm:
        (-[DOMRGBColor _color]):
        * bindings/objc/DOMRGBColor.mm:
        (-[DOMRGBColor dealloc]):
        (-[DOMRGBColor finalize]):
        (-[DOMRGBColor red]):
        (-[DOMRGBColor green]):
        (-[DOMRGBColor blue]):
        (-[DOMRGBColor alpha]):
        (-[DOMRGBColor color]):
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseColor):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::getRGBColorValue):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::getRGBA32Value):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
        * css/RGBColor.cpp:
        (WebCore::RGBColor::alpha):
        * css/RGBColor.h:
        (WebCore::RGBColor::color):
        (WebCore::RGBColor::RGBColor):
        * css/RGBColor.idl:
        * page/DOMWindow.idl:
        * svg/SVGColor.cpp:
        (WebCore::SVGColor::rgbColor):
        * svg/SVGColor.h:

2009-07-21  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Implement AbstractWorker::dispatchScriptErrorEvent by generating an ErrorEvent.
        https://bugs.webkit.org/show_bug.cgi?id=27515

        * workers/AbstractWorker.cpp:
        (WebCore::AbstractWorker::dispatchScriptErrorEvent):

2009-07-21  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Move m_context out of generator into a superclass
        https://bugs.webkit.org/show_bug.cgi?id=27521

        Mostly this is removing code from CodeGeneratorJS
        and instead using a DOMObjectWithSVGContext superclass in JSDOMBinding.h.

        DOMObjectWithSVGContext.h is its own file so that WebKit doesn't need to
        know about SVGElement.h (WebKit includes JSDOMBinding.h for some reason).

        I also removed context pointer from SVGZoomEvent since it was never used.

        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/DOMObjectWithSVGContext.h: Added.
        (WebCore::DOMObjectWithSVGContext::context):
        (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/scripts/CodeGeneratorJS.pm:

2009-07-21  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        REGRESSION (r46142):  editing/execCommand/19087.html & editing/execCommand/19653-1.html fail in Windows build
        https://bugs.webkit.org/show_bug.cgi?id=27480

        Because m_anchorType : 2 is treated as a signed integer by cl.exe, anchorType() wasn't returning the correct value.
        We made m_anchorType unsigned so that anchorType() returns the correct value.

        * dom/Position.h:
        (WebCore::Position::anchorType): statically cast to AnchorType

2009-07-21  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        [V8] Add V8 bindings for onerror in WorkerContext.
        https://bugs.webkit.org/show_bug.cgi?id=27518

        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):

2009-07-21  Jian Li  <jianli@chromium.org>

        Fix the incorrect patch being landed for bug 27516 that has already been reviewed.
        https://bugs.webkit.org/show_bug.cgi?id=27516

        * workers/WorkerContext.h:
        (WebCore::WorkerContext::setOnerror):
        (WebCore::WorkerContext::onerror):
        * workers/WorkerContext.idl:

2009-07-21  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Add onerror to WorkerContext.
        https://bugs.webkit.org/show_bug.cgi?id=27516

        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::mark):
        * workers/WorkerContext.h:
        (WebCore::WorkerContext::setOnerror):
        (WebCore::WorkerContext::onerror):
        * workers/WorkerContext.idl:

2009-07-21  Yong Li  <yong.li@torchmobile.com>

        Reviewed by George Staikos.

        https://bugs.webkit.org/show_bug.cgi?id=27509
        Add font-related files for the WinCE port.

        Written by Yong Li <yong.li@torchmobile.com>

        * platform/graphics/wince/FontCacheWince.cpp: Added.
        * platform/graphics/wince/FontCustomPlatformData.cpp: Added.
        * platform/graphics/wince/FontCustomPlatformData.h: Added.
        * platform/graphics/wince/FontPlatformData.cpp: Added.
        * platform/graphics/wince/FontPlatformData.h: Added.
        * platform/graphics/wince/FontWince.cpp: Added.
        * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Added.
        * platform/graphics/wince/SimpleFontDataWince.cpp: Added.

2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>

        Fix the Windows build, and update the comment on top now that wx uses WebCorePrefix.h too.

        * WebCorePrefix.h:

2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>

        WebCorePrefix.h build fixes for non-Mac and wx / CURL builds.

        * WebCorePrefix.h:

2009-07-21  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        All DOMConstructorObjects should hold a pointer to the JSDOMGlobalObject
        https://bugs.webkit.org/show_bug.cgi?id=27478

        This is just moving code.
        I've added two new classes: DOMObjectWithGlobalPointer and DOMConstructorWithDocument.

        DOMObjectWithGlobalPointer is a new baseclass for DOMConstructorObject.
        (It's a baseclass because eventually all DOMObjects will have a global pointer, but
        I'll be moving them onto DOMObjectWithGlobalPointer in stages.)

        DOMConstructorWithDocument is a new baseclass for the 3 constructor objects
        which require a backpointer to the Document to function.  I made this a subclass of
        DOMConstructorObject to make clear that most constructors can hold no-such assumptions
        about having a back-pointer to the Document (since many constructors can be used from Workers).

        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::JSAudioConstructor):
        * bindings/js/JSAudioConstructor.h:
        * bindings/js/JSDOMBinding.h:
        (WebCore::DOMObjectWithGlobalPointer::globalObject):
        (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
        (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
        (WebCore::DOMObjectWithGlobalPointer::mark):
        (WebCore::DOMConstructorObject::DOMConstructorObject):
        (WebCore::DOMConstructorWithDocument::document):
        (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::JSImageConstructor::JSImageConstructor):
        * bindings/js/JSImageConstructor.h:
        * bindings/js/JSMessageChannelConstructor.cpp:
        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
        * bindings/js/JSMessageChannelConstructor.h:
        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::JSOptionConstructor::JSOptionConstructor):
        * bindings/js/JSOptionConstructor.h:
        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
        (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
        * bindings/js/JSWebKitPointConstructor.cpp:
        (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
        * bindings/js/JSWorkerConstructor.cpp:
        (WebCore::JSWorkerConstructor::JSWorkerConstructor):
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
        * bindings/js/JSXMLHttpRequestConstructor.h:
        * bindings/js/JSXSLTProcessorConstructor.cpp:
        (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):

2009-07-21  James Hawkins  <jhawkins@google.com>

        Reviewed by David Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=27453
        Initialize isInt when creating a CSSParserValue for a function.

        No change in behavior, so no tests.

        * css/CSSFunctionValue.cpp:
        (WebCore::CSSFunctionValue::parserValue):

2009-07-20  Jens Alfke  <snej@google.com>
 
         Reviewed by David Levin.
 
         Bug 27448: [Chromium] On Mac, arrow keys should cause Select to pop up its menu.
         Mac build of Chromium doesn't follow Mac HI guidelines to pop up the menu when
         an arrow key is pressed.
         https://bugs.webkit.org/show_bug.cgi?id=27448
 
         No new tests; affects only control response to user input.
 
         * dom/SelectElement.cpp:
         Changed definition of ARROW_KEYS_POP_MENU to make it true in Mac Chromium,
         so it will behave compatibly with Mac HI guidelines on pop-up menus.
         It's not possible to have PLATFORM(MAC) be true in the Mac build of Chromium.
 
2009-07-21  Paul Godavari  <paul@chromium.org>

        Reviewed by Eric Seidel.

        [Chromium] popup menus can crash when the selected index is -1
        https://bugs.webkit.org/show_bug.cgi?id=27275

        Crash reports from users indicate a crash can occur when PopupListBox::isSelectableItem
        is passed an index of less than 0 (which is possible under certain circumstances). This
        change prevents such a value from causing a crash by enforcing valid index values passed
        by all callers of isSelectableItem. isSelectableItem is now a private method of
        PopupListBox, as there are no external callers.

        Also cleaned up a small amount of code for style and grammar errors.

        No automatic test is provided since we cannot send events to the child window used by
        the popup menu.

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::acceptIndex):
        (WebCore::PopupListBox::selectIndex):
        (WebCore::PopupListBox::isSelectableItem):
        (WebCore::PopupListBox::selectPreviousRow):

2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fix. Don't include winsock2.h on wx, it conflicts with wx's inclusion of winsock.

        * platform/network/curl/ResourceHandleManager.h:

2009-07-21  Adam Roben  <aroben@apple.com>

        Roll out r46153, r46154, and r46155

        These changes were causing build failures and assertion failures on
        Windows.

        * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
        * platform/graphics/cg/ImageBufferCG.cpp:

2009-07-21  Jian Li  <jianli@chromium.org>

        Reviewed by Eric Seidel.

        Implement ErrorEvent API.
        https://bugs.webkit.org/show_bug.cgi?id=27387

        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * dom/ErrorEvent.cpp: Added.
        * dom/ErrorEvent.h: Added.
        * dom/ErrorEvent.idl: Added.
        * dom/Event.cpp:
        (WebCore::Event::isErrorEvent):
        * dom/Event.h:

2009-07-21  Priit Laes  <plaes@plaes.org>

        Reviewed by Gustavo Noronha.

        [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word
        https://bugs.webkit.org/show_bug.cgi?id=24602

        Remove workaround required for <=libsoup-2.26.1

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::restartedCallback):

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

        Reviewed by David Levin.

        V8IsolatedWorld keeps a handle to a disposed context
        https://bugs.webkit.org/show_bug.cgi?id=27397

        Make a copy of the context handle before making it weak.  We don't want
        to make the original handle weak because we want it to survive for the
        length of the V8IsolatedWorld::evaluate method.

        * bindings/v8/V8IsolatedWorld.cpp:
        (WebCore::V8IsolatedWorld::V8IsolatedWorld):

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

        Reviewed by Timothy Hatcher.

        Web Inspector: Add ability to evaluate selection while on break point.

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

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._loaded):
        (WebInspector.SourceFrame.prototype._documentKeyDown):

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

        Reviewed by Timothy Hatcher.

        WebInspector: Special case ConsolePanel opening since
        it is a 'fast view'.

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

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

2009-07-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Eric Seidel.

        Fix Qt code to follow the WebKit Coding Style.

        * platform/graphics/qt/FontQt.cpp:
        (WebCore::qstring):
        (WebCore::fixSpacing):
        * platform/graphics/qt/FontQt43.cpp:
        (WebCore::generateComponents):
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::cursorToX):
        * platform/graphics/qt/GradientQt.cpp:
        (WebCore::Gradient::platformGradient):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::toQtFillRule):
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::~GraphicsContext):
        (WebCore::GraphicsContext::getCTM):
        (WebCore::GraphicsContext::concatCTM):
        (WebCore::GraphicsContext::getWindowsContext):
        * platform/graphics/qt/IconQt.cpp:
        (WebCore::Icon::paint):
        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::ReadContext::read):
        (WebCore::ImageDecoderQt::ReadContext::readImageLines):
        (WebCore::ImageDecoderQt::setData):
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::Image::drawPattern):
        (WebCore::BitmapImage::draw):
        * platform/graphics/qt/ImageSourceQt.cpp:
        (WebCore::ImageSource::frameDurationAtIndex):
        (WebCore::ImageSource::frameHasAlphaAtIndex):
        (WebCore::ImageSource::frameIsCompleteAtIndex):
        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::create):
        (WebCore::MediaPlayerPrivate::bytesLoaded):
        (WebCore::MediaPlayerPrivate::updateStates):
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArcTo):
        (WebCore::Path::isEmpty):
        * platform/graphics/qt/TransformationMatrixQt.cpp:
        (WebCore::TransformationMatrix::operator QTransform):
        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::ClipboardQt):
        (WebCore::ClipboardQt::clearData):
        (WebCore::ClipboardQt::clearAllData):
        (WebCore::ClipboardQt::getData):
        (WebCore::ClipboardQt::setData):
        (WebCore::ClipboardQt::setDragImage):
        (WebCore::getCachedImage):
        (WebCore::ClipboardQt::declareAndWriteDragImage):
        (WebCore::ClipboardQt::writeURL):
        (WebCore::ClipboardQt::writeRange):
        (WebCore::ClipboardQt::hasData):
        * platform/qt/ClipboardQt.h:
        * platform/qt/ContextMenuItemQt.cpp:
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::title):
        * platform/qt/CursorQt.cpp:
        (WebCore::westPanningCursor):
        (WebCore::notAllowedCursor):
        * platform/qt/DragDataQt.cpp:
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::asFilenames):
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::asFragment):
        * platform/qt/DragImageQt.cpp:
        (WebCore::createDragImageIconForCachedImage):
        * platform/qt/FileSystemQt.cpp:
        (WebCore::getFileSize):
        (WebCore::unloadModule):
        * platform/qt/Localizations.cpp:
        (WebCore::contextMenuItemTagShowSpellingPanel):
        * platform/qt/MIMETypeRegistryQt.cpp:
        (WebCore::):
        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::Pasteboard):
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::plainText):
        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/qt/PlatformMouseEventQt.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenu::populate):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::fallbackStyle):
        (WebCore::inflateButtonRect):
        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
        (WebCore::RenderThemeQt::paintButton):
        (WebCore::RenderThemeQt::paintMenuList):
        (WebCore::RenderThemeQt::applyTheme):
        (WebCore::WorldMatrixTransformer::WorldMatrixTransformer):
        (WebCore::RenderThemeQt::paintMediaBackground):
        (WebCore::RenderThemeQt::paintMediaFullscreenButton):
        * platform/qt/RenderThemeQt.h:
        * platform/qt/ScreenQt.cpp:
        (WebCore::screenRect):
        (WebCore::usableScreenRect):
        * platform/qt/ScrollbarQt.cpp:
        (WebCore::Scrollbar::contextMenu):
        * platform/qt/ScrollbarThemeQt.cpp:
        (WebCore::scPart):
        (WebCore::scrollbarPart):
        * platform/qt/ScrollbarThemeQt.h:
        * platform/qt/SharedBufferQt.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):
        * platform/qt/TemporaryLinkStubs.cpp:
        (PluginDatabase::defaultPluginDirectories):
        (PluginDatabase::getPluginPathsInDirectories):
        (PluginDatabase::isPreferredPluginDirectory):
        (WebCore::getSupportedKeySizes):
        (WebCore::signedPublicKeyAndChallengeString):
        (WebCore::userIdleTime):
        (WebCore::prefetchDNS):
        * platform/text/qt/StringQt.cpp:
        (WebCore::String::String):
        * platform/text/qt/TextBoundaries.cpp:
        * platform/text/qt/TextBreakIteratorQt.cpp:
        (WebCore::TextBreakIterator::following):
        (WebCore::TextBreakIterator::preceding):
        (WebCore::WordBreakIteratorQt::first):
        (WebCore::WordBreakIteratorQt::next):
        (WebCore::WordBreakIteratorQt::previous):
        (WebCore::CharBreakIteratorQt::first):
        (WebCore::CharBreakIteratorQt::next):
        (WebCore::CharBreakIteratorQt::previous):
        (WebCore::characterBreakIterator):
        * plugins/qt/PluginPackageQt.cpp:
        (WebCore::PluginPackage::fetchInfo):
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::userAgentStatic):
        (WebCore::PluginView::handlePostReadFile):
        (WebCore::PluginView::init):

2009-07-21  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by David Levin.

        Added a first bunch of Haiku-specific files for WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=26988

        * platform/haiku/ClipboardHaiku.cpp: Added.
        (WebCore::ClipboardHaiku::ClipboardHaiku):
        (WebCore::ClipboardHaiku::clearData):
        (WebCore::ClipboardHaiku::clearAllData):
        (WebCore::ClipboardHaiku::getData):
        (WebCore::ClipboardHaiku::setData):
        (WebCore::ClipboardHaiku::types):
        (WebCore::ClipboardHaiku::files):
        (WebCore::ClipboardHaiku::dragLocation):
        (WebCore::ClipboardHaiku::dragImage):
        (WebCore::ClipboardHaiku::setDragImage):
        (WebCore::ClipboardHaiku::dragImageElement):
        (WebCore::ClipboardHaiku::setDragImageElement):
        (WebCore::ClipboardHaiku::createDragImage):
        (WebCore::ClipboardHaiku::declareAndWriteDragImage):
        (WebCore::ClipboardHaiku::writeURL):
        (WebCore::ClipboardHaiku::writeRange):
        (WebCore::ClipboardHaiku::hasData):
        * platform/haiku/ClipboardHaiku.h: Added.
        (WebCore::ClipboardHaiku::create):
        (WebCore::ClipboardHaiku::~ClipboardHaiku):
        * platform/haiku/CookieJarHaiku.cpp: Added.
        (WebCore::setCookies):
        (WebCore::cookies):
        (WebCore::cookiesEnabled):
        * platform/haiku/CursorHaiku.cpp: Added.
        (WebCore::Cursor::Cursor):
        (WebCore::Cursor::~Cursor):
        (WebCore::Cursor::operator=):
        (WebCore::pointerCursor):
        (WebCore::moveCursor):
        (WebCore::crossCursor):
        (WebCore::handCursor):
        (WebCore::iBeamCursor):
        (WebCore::waitCursor):
        (WebCore::helpCursor):
        (WebCore::eastResizeCursor):
        (WebCore::northResizeCursor):
        (WebCore::northEastResizeCursor):
        (WebCore::northWestResizeCursor):
        (WebCore::southResizeCursor):
        (WebCore::southEastResizeCursor):
        (WebCore::southWestResizeCursor):
        (WebCore::westResizeCursor):
        (WebCore::northSouthResizeCursor):
        (WebCore::eastWestResizeCursor):
        (WebCore::northEastSouthWestResizeCursor):
        (WebCore::northWestSouthEastResizeCursor):
        (WebCore::columnResizeCursor):
        (WebCore::rowResizeCursor):
        (WebCore::verticalTextCursor):
        (WebCore::cellCursor):
        (WebCore::contextMenuCursor):
        (WebCore::noDropCursor):
        (WebCore::copyCursor):
        (WebCore::progressCursor):
        (WebCore::aliasCursor):
        (WebCore::noneCursor):
        (WebCore::notAllowedCursor):
        (WebCore::zoomInCursor):
        (WebCore::zoomOutCursor):
        (WebCore::grabCursor):
        (WebCore::grabbingCursor):

2009-07-21  Albert Astals Cid <aacid@kde.org>

        Reviewed by Tor Arne Vestbø.

        Change #error line not to have a ' (single quote)

        * DerivedSources.cpp:

2009-07-21  Roland Steiner  <rolandsteiner@google.com>

        Reviewed by David Levin.

        Add ENABLE_RUBY to list of build options
        https://bugs.webkit.org/show_bug.cgi?id=27324

        Added flag ENABLE_RUBY:

        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.vcproj/build-generated-files.sh:

2009-07-21  James Hawkins  <jhawkins@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=27467
        Return an empty path in PlatformContextSkia::currentPathInLocalCoordinates
        if matrix.invert() fails.  This prevents the use of an uninitialized
        value in inverseMatrix.

        No new tests added.  Run
        LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
        under valgrind and notice there are no errors.

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::currentPathInLocalCoordinates):

2009-07-21  Stephen White  <senorblanco@chromium.org>

        Reviewed by Eric Seidel.

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

        Fix dotted and dashed borders on Chromium/skia.  This follows
        the logic in the Cg path, so results are much closer to Safari now 
        (some tests won't be exactly the same due to font layout differences).

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::drawLine):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::setupPaintForStroking):

2009-07-20  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        Make it harder to misuse try* allocation routines
        https://bugs.webkit.org/show_bug.cgi?id=27469

        Add forwarding header for PossiblyNull type, and add missing null check
        to ImageBuffer creation.

        * ForwardingHeaders/wtf/PossiblyNull.h: Added.
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::ImageBuffer):

2009-07-20  Adam Langley  <agl@google.com>

        Reviewed by Eric Seidel.

        Guard access to installedMediaEngines()[0].

        https://bugs.webkit.org/show_bug.cgi?id=27479
        http://code.google.com/p/chromium/issues/detail?id=16541

        Else where in the file, installedMediaEngines is always checked for
        being empty because access. This patch adds a case which missed that
        check.

        This triggered a crash in Chromium:
            http://www.yakeze.com/chat/example-chromium-crash/

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::load):

2009-07-20  Adam Langley  <agl@google.com>

        Reviewed by Eric Seidel.

        Allow search entries to render with a CSS border if the RenderTheme
        doesn't paint them.

        https://bugs.webkit.org/show_bug.cgi?id=27466
        http://code.google.com/p/chromium/issues/detail?id=16958

        <input type="search"> is very much like a text entry except that,
        currently, if the RenderTheme doesn't deal with it, nothing is
        rendered. With this patch, the default CSS border is rendered if the
        RenderTheme requests it.

        This will affect many layout tests, but only for Chromium Linux and
        those results are not currently in the WebKit tree.

        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paintBorderOnly):

2009-07-17  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        Switch to faster methods to access internal fields.
        https://bugs.webkit.org/show_bug.cgi?id=27372

        Minor refactoring.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
        (WebCore::V8DOMWrapper::setDOMWrapper):
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
        (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
        (WebCore::V8DOMWrapper::convertToNativeObject):
        (WebCore::V8DOMWrapper::convertToNativeEvent):
        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8ClipboardCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8ElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        (WebCore::removeElement):
        * bindings/v8/custom/V8InspectorControllerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):

2009-07-20  Adam Langley  <agl@google.com>

        Reviewed by Eric Seidel.

        Chromium Linux: cache Harfbuzz faces.

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

        Previously, we recreated the Harfbuzz face for each script-run. With
        this patch, we keep the Harfbuzz face in the FontPlatformData (created
        as needed) and so they will persist for the duration of the
        FontPlatformData.

        Shouldn't affect any layout tests. Results in a significant win on the
        intl2 page cycler time.

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::~TextRunWalker):
        (WebCore::TextRunWalker::setupFontForScriptRun):
        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::RefCountedHarfbuzzFace::~RefCountedHarfbuzzFace):
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::harfbuzzFace):
        * platform/graphics/chromium/FontPlatformDataLinux.h:
        (WebCore::FontPlatformData::RefCountedHarfbuzzFace::create):
        (WebCore::FontPlatformData::RefCountedHarfbuzzFace::face):
        (WebCore::FontPlatformData::RefCountedHarfbuzzFace::RefCountedHarfbuzzFace):
        * platform/graphics/chromium/HarfbuzzSkia.h: Added.

2009-07-20  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Simon Fraser.

        REGRESSION (r46142): Need to remove showTreeThisForThis
        https://bugs.webkit.org/show_bug.cgi?id=27475

        Removes showTreeThisForThis

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

2009-07-19  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        Refactoring of indentRegion to fix bugs 26816 and 25317
        https://bugs.webkit.org/show_bug.cgi?id=26816
        https://bugs.webkit.org/show_bug.cgi?id=25317
        https://bugs.webkit.org/show_bug.cgi?id=23995 (partially)

        This patch implements appendParagraphIntoNode, a simpler specialized version of moveParagraph
        and replaces all calls inside indentRegion. The following is the new behavior of indentRegion.

        1. We try to indent as many wrapping nodes as possible.
           e.g. when indenting "hello" in <div>hello</div>, we try to indent div as well.
        2. We do not delete any wrapping elements
           With moveParagraph, we used to remove all wrapping nodes, and replaced with a blockquote.
           This was causing https://bugs.webkit.org/show_bug.cgi?id=23995 for indentation.
           With appendParagraphIntoNode, we can preserve all wrapping nodes.
        3. We only split the tree until the closest block node instead of until the root editable node.
           This behavioral change fixes the bug 25317.
        4. When multiple paragraphs are indented, we indent the highest common ancestor within the selection.
           e.g. when a list is a child node of a div, and the entire div is intended,
                we enclose the div by a single blockquote.

        Note that new behavior is more consistent with that of Internet Explorer and Firefox.
        To demonstrate this, the following tests are added.

        Tests: editing/execCommand/indent-div-inside-list.html
               editing/execCommand/indent-nested-blockquotes.html
               editing/execCommand/indent-nested-div.html
               editing/execCommand/indent-second-paragraph-in-blockquote.html

        * editing/IndentOutdentCommand.cpp: prepareBlockquoteLevelForInsertion is removed
        (WebCore::IndentOutdentCommand::tryIndentingAsListItem): uses appendParagraphIntoNode now
        (WebCore::IndentOutdentCommand::indentIntoBlockquote): uses appendParagraphIntoNode now
        (WebCore::IndentOutdentCommand::appendParagraphIntoNode): removes a paragraph and appends it to a new node
        (WebCore::IndentOutdentCommand::removeUnnecessaryLineBreakAt): removes a break element at the specified position
        (WebCore::IndentOutdentCommand::indentRegion): exhibits the described behavior
        * editing/IndentOutdentCommand.h: updated prototype

2009-07-20  Dan Bernstein  <mitz@apple.com>

        Try to fix release builds after r46136

        * dom/Element.cpp:

2009-07-17  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Eric Seidel.

        Media Controls: We are specifying the text height, where it is unneeded and the slider is 2px off.
        https://bugs.webkit.org/show_bug.cgi?id=27380

        Adjust the margin of the slider and remove useless height specification to fix alignement of the media controls.

        * css/mediaControlsQT.css:

2009-07-20  Peter Kasting  <pkasting@google.com>

        Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=27468
        Back out r46060, which caused problems for some Apple developers.

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

2009-07-20  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        When loading a custom view into a frame, the old document is still
        around
        <rdar://problem/5145841>

        Safari fires onload before PDF is loaded into the browser
        <rdar://problem/6618869>

        Test: fast/loader/non-html-load-event.html

        * GNUmakefile.am: Added PlaceholderDocument.{cpp,h}
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * WebCoreSources.bkl: Ditto.
        * dom/Document.h:
        (WebCore::Document::setStyleSelector): Added this protected accessor for
            PlaceholderDocument to use.
        * dom/Element.cpp:
        (WebCore::Element::clientWidth): Check whether the document has a
            renderer.
        (WebCore::Element::clientHeight): Ditto.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::begin): Create a PlaceholderDocument for frames
            that do not use an HTML view. Do not nullify the content size in
            that case.
        (WebCore::FrameLoader::transitionToCommitted): For frames that do not
            use an HTML view, call receivedFirstData(), which sets up the
            frame with a new PlaceHolderDocument.
        * loader/PlaceholderDocument.cpp: Added.
        (WebCore::PlaceholderDocument::attach): Sets up the style selector but
            does not create a RenderView.
        * loader/PlaceholderDocument.h: Added.
        (WebCore::PlaceholderDocument::create):
        (WebCore::PlaceholderDocument::PlaceholderDocument):

2009-07-20  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Handle opacity and opacity animations on transform layers in Leopard
        https://bugs.webkit.org/show_bug.cgi?id=27398

        This makes two changes, and only for Leopard. 

        First, whenever opacity is changed on a layer I propagate the 
        change into the content layer and all the children if the layer 
        on which opacity is set is a transform layer (preserve3D is true). 
        The opacity set is the accumulated opacity from this layer
        and all its direct ancestor transform layers. Second, I turn off all 
        hardware opacity animation.

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::accumulatedOpacity):
        (WebCore::GraphicsLayer::distributeOpacity):
        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::setOpacityInternal):
        * platform/graphics/mac/GraphicsLayerCA.h:
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::setPreserves3D):
        (WebCore::GraphicsLayerCA::setOpacity):
        (WebCore::GraphicsLayerCA::animateFloat):
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
        (WebCore::GraphicsLayerCA::setOpacityInternal):
        (WebCore::GraphicsLayerCA::updateOpacityOnLayer):

2009-07-20  Yong Li  <yong.li@torchmobile.com>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=27349
        Add GraphicsContext implementation for the WinCE port.

        Written by Yong Li <yong.li@torchmobile.com>, George Staikos <george.staikos@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
        with trivial style fixes by Adam Treat <adam.treat@torchmobile.com>

        * platform/graphics/wince/GraphicsContextWince.cpp: Added.

2009-07-20  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Adding the Win SQLite VFS implementation for Chromium, and stubs
        for the Mac and Linux VFSs.

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

        * WebCore.gypi:
        * platform/chromium/ChromiumBridge.h:
        * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
        * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Added.
        * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Added.
        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.

2009-07-20  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        https://bugs.webkit.org/show_bug.cgi?id=27097
        [Gtk] Segfault when examining an object of ROLE_TABLE via at-spi

        Check that an object is a RenderObject before trying to access its
        renderer and related node.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_get_role):

2009-07-20  Balazs Kelemen  <kelemen.balazs.3@stud.u-szeged.hu>

        Reviewed by Simon Hausmann.

        [Qt] font cache reworking
        https://bugs.webkit.org/show_bug.cgi?id=27265

        Reimplemented Qt's FontCache in a way that follows the shared one.
        Now we can release its elements when those became inactive.
        FontFallbackList had been changed to be able to hold WebCore fonts in its list and to be able to release a FontData what is in the cache.

        No change in behavior, so no tests.

        * platform/graphics/qt/FontCacheQt.cpp:
        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
        (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
        (WebCore::FontPlatformDataCacheKey::): Key type for the cache of FontPlatformData objects.
        It can be constructed from a FontPlatformData or from a FontDescription. The keys have to be consistent
        with FontPlatformData::FontPlatformData(const FontDescription&) - if we create the same
        FontPlatformData from two FontDescription then we have to create the same key from them, and vica versa.
        (WebCore::FontPlatformDataCacheKey::operator==):
        (WebCore::FontPlatformDataCacheKey::hash):
        (WebCore::FontPlatformDataCacheKey::computeHash):
        (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
        (WebCore::FontPlatformDataCacheKeyHash::hash):
        (WebCore::FontPlatformDataCacheKeyHash::equal):
        (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
        (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
        (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
        (WebCore::FontCache::getCachedFontPlatformData): Get a FontDescription and returns a FontPlatformData.
        (WebCore::FontCache::getCachedFontData): Get a FontPlatformData and returns a SimpleFontData.
        (WebCore::FontCache::releaseFontData): Get a SimpleFontData and releases it from the cache. Also releases the appropriate FontPlatformData.
        (WebCore::FontCache::purgeInactiveFontData): Frees inactive elements.
        (WebCore::FontCache::invalidate): Frees all inactive elements (call purgeInactiveFontData with default argument)
        * platform/graphics/qt/FontFallbackListQt.cpp:
        (WebCore::FontFallbackList::releaseFontData):
        (WebCore::FontFallbackList::fontDataAt):
        * platform/graphics/qt/FontPlatformData.h:
        (WebCore::FontPlatformData::family): Getter. It is needed for FontPlatformDataCacheKey.
        (WebCore::FontPlatformData::bold): Ditto.
        (WebCore::FontPlatformData::italic): Ditto.
        (WebCore::FontPlatformData::smallCaps): Ditto.
        (WebCore::FontPlatformData::pixelSize): Ditto.
        * platform/graphics/qt/FontPlatformDataQt.cpp:
        (WebCore::FontPlatformData::FontPlatformData): Set m_bold.

2009-07-20  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=26716
        [Gtk] Each XMLHttpRequest leaks memory.

        Free the SoupURI we create to check the URI. Fix suggested by John
        Kjellberg.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::):

2009-07-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Holger Freyther.

        [Qt] On Symbian link against system sqlite3
        https://bugs.webkit.org/show_bug.cgi?id=27368

        Add an option to force linking against system sqlite3
        by adding system-sqlite to the CONFIG variable.

        The Symbian specific part of this patch is contributed by 
        Norbert Leser.

        * WebCore.pro:

2009-07-20  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Change the glib version check to check for the first unstable
        release with g_mapped_file_unref. Otherwise this would be useless
        until 2.22 is released, a few months from now.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandle::startHttp):

2009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by and done with Tor Arne Vestbø.

        Fix fast/css/pseudo-required-optional-*.html in the Qt build
        after r46062.

        These tests triggered a bug in RenderThemeQt where we did not fall back
        to the unstyled painting of text areas and input fields when they have
        a styled background.

        Our re-implementation of isControlStyled incorrectly only checked the
        border for determining whether to style or not. The base-implementation
        performs the same check, but also includes the background. Removing
        our implementation fixes the appearance.

        * platform/qt/RenderThemeQt.cpp: Removed isControlStyled reimplementation.
        * platform/qt/RenderThemeQt.h: Ditto.

2009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>

        Rubber-stamped by Tor Arne Vestbø.

        Add missing (sorted) header files to the HEADERS variable in the qmake
        .pro file for improved completion in IDEs.

        * WebCore.pro:

2009-07-19  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        [V8] Factor V8ConsoleMessage out of V8Proxy
        https://bugs.webkit.org/show_bug.cgi?id=27421

        No behavior change.

        * WebCore.gypi:
        * bindings/v8/V8ConsoleMessage.cpp: Added.
        (WebCore::V8ConsoleMessage::V8ConsoleMessage):
        (WebCore::V8ConsoleMessage::dispatchNow):
        (WebCore::V8ConsoleMessage::dispatchLater):
        (WebCore::V8ConsoleMessage::processDelayed):
        (WebCore::V8ConsoleMessage::handler):
        * bindings/v8/V8ConsoleMessage.h: Added.
        (WebCore::V8ConsoleMessage::Scope::Scope):
        (WebCore::V8ConsoleMessage::Scope::~Scope):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::logInfo):
        (WebCore::reportUnsafeAccessTo):
        (WebCore::V8Proxy::runScript):
        (WebCore::V8Proxy::callFunction):
        (WebCore::V8Proxy::newInstance):
        (WebCore::V8Proxy::initContextIfNeeded):
        (WebCore::V8Proxy::processConsoleMessages):

2009-07-19  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Adam Barth.

        Remove unused member variable.

        * svg/SVGPolyElement.h:

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

        Reviewed by Dan Bernstein.

        HTMLAudioElement: constructor should set "autobuffer" attribute
        https://bugs.webkit.org/show_bug.cgi?id=27422

        Test: media/audio-constructor-autobuffer.html

        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::constructAudio):
            Set 'autobuffer' attribute.

2009-07-19  Thierry Bastian <thierry.bastian@nokia.com>

        Reviewed by Simon Hausmann.

        Fix the Qt build with mingw.

        * WebCore.pro: Don't use MSVC commandline options to disable warnings
        with mingw.

2009-07-19  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        [V8] Phase 2: Remove event listener methods from V8Proxy
        https://bugs.webkit.org/show_bug.cgi?id=27415

        No behavior change.

        * bindings/v8/V8ObjectEventListener.cpp:
        (WebCore::weakObjectEventListenerCallback):
        (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::disconnectEventListeners):
        * bindings/v8/V8Proxy.h:
        (WebCore::V8Proxy::eventListeners):
        (WebCore::V8Proxy::objectListeners):
        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
        (WebCore::getEventListener):
        * bindings/v8/custom/V8CustomEventListener.cpp:
        (WebCore::V8EventListener::~V8EventListener):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8ElementCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::getEventListener):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::getEventListener):
        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):

2009-07-18  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Gustavo Noronha.

        [Gtk] soup/ResourceHandleSoup.cpp:533: error: 'g_mapped_file_free' was not declared in this scope
        https://bugs.webkit.org/show_bug.cgi?id=27230

        Use g_mapped_file_unref for GLIB version 2.22 onwards.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandle::startHttp):

2009-07-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        Add spread radius support to -webkit-box-shadow
        https://bugs.webkit.org/show_bug.cgi?id=27417
        rdar://problem/7072267

        Test: fast/box-shadow/spread.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForShadow): Added a property ID parameter and used it to
            include the spread length for box-shadow but not for text-shadow.
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
            Pass the property ID to valueForShadow().

        * css/CSSParser.cpp:
        (WebCore::ShadowParseContext::ShadowParseContext): Added property,
            spread, and allowSpread members. Added a property ID parameter to
            the constructor. Initialize the property and allowSpread members.
        (WebCore::ShadowParseContext::allowLength): Added allowSpread.
        (WebCore::ShadowParseContext::commitValue): Pass the spread value to
            the ShadowValue constructor. Reset allowSpread.
        (WebCore::ShadowParseContext::commitLength): Allow spread after blur
            for the box-shadow property.
        (WebCore::ShadowParseContext::commitColor): Reset allowSpread.
        (WebCore::CSSParser::parseShadow): Pass the property ID to
            ShadowParseContext().

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Get the spread value from
            the shadow value and pass it to the ShadowData constructor.

        * css/ShadowValue.cpp:
        (WebCore::ShadowValue::ShadowValue): Added spread.
        (WebCore::ShadowValue::cssText): Added spread.

        * css/ShadowValue.h:
        (WebCore::ShadowValue::create): Added spread.

        * page/animation/AnimationBase.cpp:
        (WebCore::blendFunc): Blend the spread value.
        (WebCore::PropertyWrapperShadow::blend): Added 0 spread to the default
            shadow.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesHorizontally): Account for spread in
            the visual overflow calculations.
        (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
        (WebCore::InlineFlowBox::paint): Ditto.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::overflowHeight): Ditto.
        (WebCore::RenderBlock::overflowWidth): Ditto.
        (WebCore::RenderBlock::overflowLeft): Ditto.
        (WebCore::RenderBlock::overflowTop): Ditto.
        (WebCore::RenderBlock::overflowRect): Ditto.
        (WebCore::RenderBlock::layoutBlock): Ditto.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBoxShadow): Inflate the shadow-
            casting rect by the shadow spread value. Adjust border radii if
            necessary.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock): Account for spread in the
            visual overflow calculations.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::calculateRects): Ditto.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Account for spread.
        (WebCore::RenderObject::adjustRectForOutlineAndShadow): Ditto.

        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::setTextShadow): Assert that text shadows do not
            have spread.

        * rendering/style/ShadowData.cpp:
        (WebCore::ShadowData::ShadowData): Added spread.
        (WebCore::ShadowData::operator==): Compare spread.
        * rendering/style/ShadowData.h:
        (WebCore::ShadowData::ShadowData): Added spread.

2009-07-18  Adam Barth  <abarth@webkit.org>

        Reviewed by Jan Alonzo.

        Minor FrameLoader.cpp cleanup
        https://bugs.webkit.org/show_bug.cgi?id=27406

        No behavior change.

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

2009-07-18  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Fisher.

        [V8] Move event listener methods from V8Proxy to V8EventListenerList
        https://bugs.webkit.org/show_bug.cgi?id=27408

        Move some event listener code out of V8Proxy and into the event
        listener list.

        I'd like to remove these methods from V8Proxy entirely and just expose
        getters for the lists themselves, but I'll do that in a follow up
        patch.

        * bindings/v8/V8EventListenerList.cpp:
        (WebCore::V8EventListenerList::findWrapper):
        * bindings/v8/V8EventListenerList.h:
        (WebCore::V8EventListenerList::findOrCreateWrapper):
        * bindings/v8/V8ObjectEventListener.cpp:
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::findV8EventListener):
        (WebCore::V8Proxy::findOrCreateV8EventListener):
        (WebCore::V8Proxy::removeV8EventListener):
        (WebCore::V8Proxy::findObjectEventListener):
        (WebCore::V8Proxy::findOrCreateObjectEventListener):
        (WebCore::V8Proxy::removeObjectEventListener):
        * bindings/v8/V8Proxy.h:

2009-07-18  Jeremy Orlow  <jorlow@chromium.org>

        Rubber stamped by Adam Barth.

        Revert https://bugs.webkit.org/show_bug.cgi?id=27383
        https://bugs.webkit.org/show_bug.cgi?id=27407

        Revert Jens' patch.  I believe he forgot to include a file.

        * WebCore.gypi:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate):
        * bindings/v8/V8DataGridDataSource.cpp: Removed.
        * bindings/v8/V8DataGridDataSource.h: Removed.
        * bindings/v8/V8GCController.h:
        * bindings/v8/V8Index.h:
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):

2009-07-17  Daniel Bates  <dbates@intudata.com>

        Reviewed by Adam Barth.
        
        https://bugs.webkit.org/show_bug.cgi?id=27405

        Fixes an issue when decoding HTML entities with an unknown named entity that 
        caused null-characters to be inserted into the decoded result.

        Test: http/tests/security/xssAuditor/link-onclick-ampersand.html
              http/tests/security/xssAuditor/javascript-link-ampersand.html

        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::decodeHTMLEntities): Added check to conditional so that
        non-zero entity values are not inserted during decoding process.

2009-07-17  Jan Michael Alonzo  <jmalonzo@webkit.org>

        <http://webkit.org/b/18363> [GTK] Combo boxes cannot be opened pressing space

        Reviewed by Holger Freyther.

        Add Gtk to platforms that want to open the menulist using the
        spacebar.

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

2009-07-17  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Jan Alonzo.

        https://bugs.webkit.org/show_bug.cgi?id=25523
        [GTK] The text displayed by push buttons is not exposed to assistive technologies

        Add new public method text() to RenderButton and use it from
        AccessibilityRenderObject::stringValue().

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::stringValue):
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::text):
        * rendering/RenderButton.h:

2009-07-17  Anton Muhin  <antonm@chromium.org>

        Reviewed by Dimitri Glazkov.

        Restore proxy retrieval
        https://bugs.webkit.org/show_bug.cgi?id=27369

        No new tests are needed.

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):

2009-07-17  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by George Staikos.

        https://bugs.webkit.org/show_bug.cgi?id=27351
        Added platform "Symbian" to WEBCORE_NAVIGATOR_PLATFORM
        Use uname to find the correct platform for Linux.

        * page/NavigatorBase.cpp:
        (WebCore::NavigatorBase::platform):

2009-07-17  Jens Alfke  <snej@chromium.org>

        Reviewed by Dimitri Glazkov.

        Hook up V8 bindings for DataGrid elements.
        https://bugs.webkit.org/show_bug.cgi?id=27383
        http://code.google.com/p/chromium/issues/detail?id=16730

        Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
        to handle exceptions, check appropriate JS prototypes, and
        test column-list's item() method as well as array-indexing.

        * WebCore.gypi: Added new source files.
        * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
        * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
        * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
        (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
        * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
        (WebCore::V8DataGridDataSource::V8DataGridDataSource):
        (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
        * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
        (WebCore::V8DataGridDataSource::create):
        (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
        (WebCore::V8DataGridDataSource::jsDataSource):
        (WebCore::asV8DataGridDataSource):
        * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
        * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
        * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
        * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):

2009-07-17  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        StorageArea should only contain methods we intend to proxy.
        https://bugs.webkit.org/show_bug.cgi?id=27181

        Right now, StorageAreaSync takes in a StorageArea* and calls methods
        like importItem.  Really, StorageAreaSync should be operating directly
        on StorageAreaImpl* and those methods should be removed from StorageArea
        since StorageAreaSync should never be attached to anything other than a
        StorageAreaImpl.

        This was pointed out in the review for
        https://bugs.webkit.org/show_bug.cgi?id=27072

        Also clean up StorageNamespaceImpl to operate directly on
        StorageAreaImpl.  Also, get rid of the factory for StorageArea
        since nothing should ever create a StorageArea directly.

        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * storage/StorageArea.cpp: Removed.
        * storage/StorageArea.h:
        (WebCore::StorageArea::~StorageArea):
        * storage/StorageAreaImpl.cpp:
        (WebCore::StorageAreaImpl::copy):
        * storage/StorageAreaImpl.h:
        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::create):
        (WebCore::StorageAreaSync::StorageAreaSync):
        * storage/StorageAreaSync.h:
        * storage/StorageNamespaceImpl.cpp:
        (WebCore::StorageNamespaceImpl::copy):
        (WebCore::StorageNamespaceImpl::storageArea):
        * storage/StorageNamespaceImpl.h:

2009-07-17  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add v8 implementation for DOM Storage ScriptObjectQuarantine.
        https://bugs.webkit.org/show_bug.cgi?id=27327

        Wrap the storage object with a generic object as is done elsewhere in
        the file (but continue to hit a NOTIMPLEMENTED if DOM_STORAGE is not
        enabled.

        * bindings/v8/ScriptObjectQuarantine.cpp:
        (WebCore::getQuarantinedScriptObject):

2009-07-17  Mads Ager  <ager@chromium.org>

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=27394
        Fix access to global object wrappers after navigation of their
        frame in the V8 bindings.  This fixes selenium test failures.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::updateDocument):

2009-07-17  Mark Rowe  <mrowe@apple.com>

        Fix the 32-bit build by removing implicit float <-> double conversions.

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

2009-07-17  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adam Roben.

        Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272)
        https://bugs.webkit.org/show_bug.cgi?id=14272
        
        Moved preference setting for attached inspector height and inspector height calculation from
        WebInspectorClient.mm into InspectorController.cpp, to make this code cross-platform and enable
        Windows resizing of attached inspector.

        * inspector/InspectorController.cpp:
        * inspector/InspectorController.h:

2009-07-17  Dan Bernstein  <mitz@apple.com>

        Another attempt at fixing the build after r46063

        * WebCore.xcodeproj/project.pbxproj: Made ExceptionCode.h a private
            header, because it is now included from htmlediting.h, which is
            a private header.

2009-07-17  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=27396
        Moving cursor in Thai text sometimes jumps over two characters

        Test: editing/text-iterator/thai-cursor-movement.html

        * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added a special
        case for five Thai characters, matching ICU/CLDR changes.

2009-07-14  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Some constructor objects exposed on Window have the wrong prototype chain
        https://bugs.webkit.org/show_bug.cgi?id=27276

        Several Constructor classes were already being passed a global object
        during construction, but they were ignoring it for prototype lookup.
        I've fixed those to use the passed global object instead.

        Most of these Constructor classes should just be auto-generated, but I
        refrained from changing them over to auto-gen in this patch.

        Fixed CodeGeneratorJS to pass a global object to getDOMConstructor when
        available, otherwise default to deprecatedGlobalObjectForPrototype(exec)
        to match existing behavior.

        Test: fast/dom/prototype-inheritance.html

        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::JSAudioConstructor): use the existing globalObject pointer for prototype lookup
        * bindings/js/JSDOMBinding.h:
        (WebCore::deprecatedGlobalObjectForPrototype): Make it easy to detect where the wrong global object is being used.
        (WebCore::deprecatedGetDOMStructure):
        * bindings/js/JSDOMGlobalObject.h: remove error-prone getDOMConstructor, require passing JSDOMGlobalObject*
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::webKitPoint): pass "this" for the global object.
        (WebCore::JSDOMWindow::webKitCSSMatrix): pass "this" for the global object.
        (WebCore::JSDOMWindow::xsltProcessor): pass "this" for the global object.
        (WebCore::JSDOMWindow::worker): pass "this" for the global object.
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::JSImageConstructor::JSImageConstructor): use the existing globalObject pointer for prototype lookup
        * bindings/js/JSMessageChannelConstructor.cpp:
        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): use the existing globalObject pointer for prototype lookup
        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::JSOptionConstructor::JSOptionConstructor): use the existing globalObject pointer for prototype lookup
        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
        (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): add new globalObject parameter and use it
        * bindings/js/JSWebKitCSSMatrixConstructor.h:
        * bindings/js/JSWebKitPointConstructor.cpp:
        (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): add new globalObject parameter and use it
        * bindings/js/JSWebKitPointConstructor.h:
        * bindings/js/JSWorkerConstructor.cpp:
        (WebCore::JSWorkerConstructor::JSWorkerConstructor): add new globalObject parameter and use it
        * bindings/js/JSWorkerConstructor.h:
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): use the existing globalObject pointer for prototype lookup
         -- XMLHttpRequest constructor was also missing a length.  Added one.
        * bindings/js/JSXSLTProcessorConstructor.cpp:
        (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
        * bindings/js/JSXSLTProcessorConstructor.h:
        * bindings/scripts/CodeGeneratorJS.pm:

2009-07-17  Dan Bernstein  <mitz@apple.com>

        Build fix

        * editing/htmlediting.cpp:
        (WebCore::visiblePositionBeforeNode):
        (WebCore::visiblePositionAfterNode):

2009-07-17  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Gtk build fix for symbol lookup error.

        Move AbstractWorker from SHARED_WORKERS to WORKERS as Worker derives from it now
        Changed in http://trac.webkit.org/changeset/46048

        * GNUmakefile.am:

2009-07-17  Ryosuke Niwa  <ryosuke.niwa@gmail.com>

        Reviewed by Eric Seidel.

        htmlediting.cpp needs more utility functions to fix the bug 26816
        https://bugs.webkit.org/show_bug.cgi?id=27038

        In order to fix the bug 26816, we need several utility functions be added to htmlediting.cpp

        No tests because functions haven't been used anywhere yet.

        * dom/Range.cpp:
        (WebCore::Range::create):
        (WebCore::Range::comparePoint): added const qualifier
        (WebCore::Range::compareNode): added const qualifier
        * dom/Range.h:
        * editing/htmlediting.cpp:
        (WebCore::unsplittableElementForPosition): find the enclosing unsplittable element (editing root & table cell)
        (WebCore::positionBeforeNode): added ASSERT(node)
        (WebCore::positionAfterNode): added ASSERT(node)
        (WebCore::visiblePositionBeforeNode):
        (WebCore::visiblePositionAfterNode):
        (WebCore::createRange): create a range object from two visible positions
        (WebCore::extendRangeToWrappingNodes): extend range to include nodes that starts and ends at the boundaries
        (WebCore::canMergeLists): typo
        (WebCore::indexForVisiblePosition): added const qualifier
        (WebCore::isVisiblyAdjacent): typo
        (WebCore::isNodeVisiblyContainedWithin): determine if a node is inside a range or within the visible boundaries of the range
        * editing/htmlediting.h:

2009-07-17  Michelangelo De Simone  <micdesim@gmail.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=25551
        Added support for the "required" attribute, the valueMissing flag
        to the ValidityState object and :required/:optional CSS pseudoclasses.
        Part of HTML5 sec. Forms specs.
        http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-required

        Tests: fast/css/pseudo-required-optional-001.html
               fast/css/pseudo-required-optional-002.html
               fast/css/pseudo-required-optional-003.html
               fast/css/pseudo-required-optional-004.html
               fast/css/pseudo-required-optional-005.html
               fast/css/pseudo-required-optional-006.html
               fast/forms/ValidityState-valueMissing-001.html
               fast/forms/ValidityState-valueMissing-002.html
               fast/forms/ValidityState-valueMissing-003.html
               fast/forms/ValidityState-valueMissing-004.html
               fast/forms/ValidityState-valueMissing-005.html
               fast/forms/ValidityState-valueMissing-006.html
               fast/forms/ValidityState-valueMissing-007.html
               fast/forms/ValidityState-valueMissing-008.html
               fast/forms/ValidityState-valueMissing-009.html
               fast/forms/required-attribute-001.html
               fast/forms/required-attribute-002.html

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::extractPseudoType): pseudoRequired/pseudoOptional
        * css/CSSSelector.h:
        (WebCore::CSSSelector::): ditto
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto
        * dom/Element.h:
        (WebCore::Element::isOptionalFormControl): check for optional controls
        (WebCore::Element::isRequiredFormControl): check for required controls
        * html/HTMLAttributeNames.in: required attribute
        * html/HTMLButtonElement.h:
        (WebCore::HTMLButtonElement::isOptionalFormControl): ditto
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::required): requiredAttr getter
        (WebCore::HTMLFormControlElement::setRequired): requiredAttr setter
        * html/HTMLFormControlElement.h:
        (WebCore::HTMLFormControlElement::valueMissing): method definition
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::valueMissing): validation code
        (WebCore::HTMLInputElement::isRequiredFormControl): ditto
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::isOptionalFormControl): ditto
        * html/HTMLInputElement.idl: required DOM attribute
        * html/HTMLSelectElement.h:
        (WebCore::HTMLSelectElement::isOptionalFormControl): ditto
        * html/HTMLTextAreaElement.h:
        (WebCore::HTMLTextAreaElement::valueMissing): validation code
        (WebCore::HTMLTextAreaElement::isOptionalFormControl): ditto
        (WebCore::HTMLTextAreaElement::isRequiredFormControl): ditto
        * html/HTMLTextAreaElement.idl: required DOM attribute
        * html/ValidityState.cpp:
        * html/ValidityState.h:
        (WebCore::ValidityState::valueMissing): validation flag

2009-07-17  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=27390 CSS custom 
        cursor hotspots should work in quirks mode
        - and corresponding <rdar://problem/6554340>

        Enable hotspots in quirks mode.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):

        Update this manual test to reflect the fact that hotspots are now 
        expected to work in quirks mode.
        * manual-tests/css3-cursor-fallback-quirks.html:

2009-07-17  Peter Kasting  <pkasting@google.com>

        Reviewed by Steve Falkenburg.

        https://bugs.webkit.org/show_bug.cgi?id=27323
        Only add Cygwin to the path when it isn't already there.  This avoids
        causing problems for people who purposefully have non-Cygwin versions of
        executables like svn in front of the Cygwin ones in their paths.

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

2009-07-17  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=27384
        Random crashes in appcache/update-cache.html test

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didReceiveResponse): Reorder code to avoid using a handle
        after canceling it.

2009-07-17  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        Need to refactor Worker to derive from AbstractWorker
        https://bugs.webkit.org/show_bug.cgi?id=26948

        Changed Worker to derive from AbstractWorker, which involved moving
        AbstractWorker files from being wrapped by ENABLE_SHARED_WORKERS to
        ENABLE_WORKERS.

        Removed obsolete functionality from the JS/V8 bindings that is now
        inherited from AbstractWorker.

        * WebCore.pro:
        Moved AbstractWorker files out of SHARED_WORKERS section and into WORKERS.
        * bindings/js/JSAbstractWorkerCustom.cpp:
        Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
        * bindings/js/JSWorkerCustom.cpp:
        Removed obsolete event listener code (now in base class)
        (WebCore::JSWorker::mark):
        No longer need to explicitly mark event listeners (handled by base class).
        * bindings/v8/V8Index.h:
        Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
        Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
        * bindings/v8/custom/V8CustomBinding.h:
        Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
        * bindings/v8/custom/V8WorkerCustom.cpp:
        Removed obsolete event listener code that now lives in the base class.
        (WebCore::V8WorkerConstructor): Cleaned up legacy style nits.
        * workers/AbstractWorker.cpp:
        Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
        * workers/AbstractWorker.h:
        Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
        * workers/Worker.cpp:
        Removed event listener code (now in base class).
        (WebCore::Worker::Worker): Now derives from AbstractWorker.
        (WebCore::Worker::notifyFinished): Calls dispatchLoadErrorEvent on base class.
        * workers/Worker.h:
        Removed APIs that now live in the base class.
        * workers/Worker.idl:
        Now derives from AbstractWorker.
        Removed APIs that live in the base class, and added a GenerateToJS flag.

2009-07-17  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=27379
        Absolutely-positioned elements with a scrollbar wrap prematurely.  Make sure to include
        the vertical scrollbar width for overflow:scroll elements.

        Added fast/css/positioned-overflow-scroll.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::calcPrefWidths):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::calcPrefWidths):

2009-07-17  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Dimitri Glazkov.

        Need a DOM_STORAGE guard in DerivedSroucesAllInOne.cpp
        https://bugs.webkit.org/show_bug.cgi?id=27375

        In https://bugs.webkit.org/show_bug.cgi?id=27360 I added Storage.cpp
        and StorageEvent.cpp.  Unfortunately, until later this afternoon,
        DOM_STORAGE is not turned on by default in Chromium, and so these two
        files are never generated.  This breaks the compile.

        There are no other instances of guards in the file, which puzzles me...
        but I think adding guards is the right way to go about this.

        * bindings/v8/DerivedSourcesAllInOne.cpp:  Added the guard.

2009-07-17  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

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

        Let WebCore always enforce the connection-per-host limit itself.

        * loader/loader.cpp:
        (WebCore::Loader::Host::servePendingRequests):

2009-07-17  Chris Marrin  <cmarrin@apple.com>

        Reviewed by David Hyatt.

        Some transitions don't work correctly on Leopard
        https://bugs.webkit.org/show_bug.cgi?id=27356

        We only have code to do component animation using valueFunction.
        So on Leopard we always need to do matrix animation in hardware.
        This fix ensures that. 

        This is currently not testable because it appears only in the
        hardware animation and we can't yet do pixel tests while 
        hardware animating.

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::animateTransform):

2009-07-17  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Gustavo Noronha.

        [GTK+] Crash in screenAvailable due a null Widget*

        JSDOMWindow::open called screenAvailableRect(0). The other
        Screen methods can be called with a null widget as well, fix the
        crashing test by checking for null.

        In screenRect and screenAvailableRect it is not tried to use
        a default screen as the existing implementation didn't try either
        in case of not having a toplevel widget.

        LayoutTests/fast/frames/crash-removed-iframe.html caused a crash.

        * platform/gtk/PlatformScreenGtk.cpp:
        (WebCore::getVisual): New method to get a visual or return zero.
        (WebCore::screenDepth): Use getVisual.
        (WebCore::screenDepthPerComponent): Use getVisual.
        (WebCore::screenIsMonochrome): Use screenDepth which will do the null checking
        (WebCore::screenRect): Check for !widget.
        (WebCore::screenAvailableRect): Check for !widget.

2009-07-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix the include path for the Symbian port
        https://bugs.webkit.org/show_bug.cgi?id=27358

        * WebCore.pro:

2009-07-17  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Reviewed by Simon Hausmann.

        Make it possible to set the plugin directories from the DRT.
        Part of https://bugs.webkit.org/show_bug.cgi?id=27215

        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::installedPlugins): Now optionally takes
        a populate argument, so we can avoid loading system plugins from the
        DRT and thus avoid their strerr errors that can make tests fail.
        (WebCore::PluginDatabase::clear): Make it possible to clear the
        database. Called from setPluginDirectories.
        * plugins/PluginDatabase.h:
        (WebCore::PluginDatabase::setPluginDirectories): Make public

2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        PluginViewMac: Stop the plugin when loading fails

        Also, prevent event propagation when in the stopped state

        * plugins/mac/PluginViewMac.cpp:

2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        PluginViewMac: Allow query and set of drawing and event models

        We now support querying and setting of the drawing and event model,
        but we still only support the CoreGraphics drawing model, and the
        Carbon event model.

        If unsupported drawing or event models are detected we show the
        missing-plugin icon.

        * plugins/PluginView.cpp:
        * plugins/PluginView.h:
        * plugins/mac/PluginViewMac.cpp:

2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        Initialize two PluginView members using memset

        m_npWindow is used on all platforms, not just for XP_UNIX,
        so always initialize it. m_npCgContext on the other hand
        is only used for XP_MACOSX.

        * plugins/PluginView.cpp:

2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        Add more debug logging in PluginView

        * plugins/PluginView.cpp: Add debug for setValue
        * plugins/gtk/PluginViewGtk.cpp: Add debug for getValue
        * plugins/mac/PluginViewMac.cpp: Add debug for getValue and more
        * plugins/qt/PluginViewQt.cpp: Add debug for getValue
        * plugins/win/PluginViewWin.cpp: Add debug for getValue

2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Holger Freyther.

        Use same license in PluginDebug.cpp as in the original PluginDebug.h

        * plugins/PluginDebug.cpp: Use license from PluginDebug.h

2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        Add more debugging functionality for the WebCore NPAPI layer

        * GNUmakefile.am: Add PluginDebug.cpp
        * WebCore.gypi: Add PluginDebug.cpp
        * WebCore.pro: Add PluginDebug.cpp
        * WebCore.vcproj/WebCore.vcproj: Add PluginDebug.cpp
        * WebCoreSources.bkl: Add PluginDebug.cpp
        * plugins/PluginDebug.h: Move errorStrings to PluginDebug.cpp
        * plugins/PluginDebug.cpp: New file

2009-07-17  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by David Levin.

        Fix Chromium build with DOM_STORAGE enabled.
        https://bugs.webkit.org/show_bug.cgi?id=27360

        2 minor changes as noted below:

        * bindings/v8/DerivedSourcesAllInOne.cpp: Add the generated .cpp files.
        * storage/StorageAreaImpl.cpp:  #include "DOMWindow.h"

2009-07-16  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by David Levin.

        Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
        https://bugs.webkit.org/show_bug.cgi?id=27206
        
        Add ENABLE_WEB_SOCKETS

        * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
        * GNUmakefile.am: add ENABLE_WEB_SOCKETS
        * WebCore.vcproj/WebCoreCommon.vsprops: add ENABLE_WEB_SOCKETS
        * WebCore.vcproj/build-generated-files.sh: add ENABLE_WEB_SOCKETS

2009-07-16  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Oliver Hunt.

        Added a third bunch of Haiku-specific files for WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=26952

        Adding five files, EventLoopHaiku.cpp, FileChooserHaiku.cpp,
        FileSystemHaiku.cpp, KeyboardCodes.h and MIMETypeRegistryHaiku.cpp

        * platform/haiku/EventLoopHaiku.cpp: Added.
        (WebCore::EventLoop::cycle):
        * platform/haiku/FileChooserHaiku.cpp: Added.
        (WebCore::FileChooser::FileChooser):
        (WebCore::FileChooser::basenameForWidth):
        * platform/haiku/FileSystemHaiku.cpp: Added.
        (WebCore::fileSystemRepresentation):
        (WebCore::homeDirectoryPath):
        (WebCore::openTemporaryFile):
        (WebCore::closeFile):
        (WebCore::writeToFile):
        (WebCore::unloadModule):
        (WebCore::listDirectory):
        * platform/haiku/KeyboardCodes.h: Added.
        * platform/haiku/MIMETypeRegistryHaiku.cpp: Added.
        (WebCore::):
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):

2009-07-16  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Oliver Hunt.

        Added a second bunch of Haiku-specific files for WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=26952

        Adding four files, ContextMenuHaiku.cpp, ContextMenuItemHaiku.cpp,
        DragDataHaiku.cpp and DragImageHaiku.cpp

        * platform/haiku/ContextMenuHaiku.cpp: Added.
        (WebCore::ContextMenuReceiver::ContextMenuReceiver):
        (WebCore::ContextMenuReceiver::HandleMessage):
        (WebCore::ContextMenuReceiver::Result):
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::~ContextMenu):
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenu::itemCount):
        (WebCore::ContextMenu::insertItem):
        (WebCore::ContextMenu::platformDescription):
        (WebCore::ContextMenu::setPlatformDescription):
        * platform/haiku/ContextMenuItemHaiku.cpp: Added.
        (ContextMenuItem::ContextMenuItem):
        (ContextMenuItem::~ContextMenuItem):
        (ContextMenuItem::releasePlatformDescription):
        (ContextMenuItem::type):
        (ContextMenuItem::setType):
        (ContextMenuItem::action):
        (ContextMenuItem::setAction):
        (ContextMenuItem::title):
        (ContextMenuItem::setTitle):
        (ContextMenuItem::platformSubMenu):
        (ContextMenuItem::setSubMenu):
        (ContextMenuItem::setChecked):
        (ContextMenuItem::setEnabled):
        (ContextMenuItem::enabled):
        * platform/haiku/DragDataHaiku.cpp: Added.
        (WebCore::DragData::canSmartReplace):
        (WebCore::DragData::containsColor):
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::asFilenames):
        (WebCore::DragData::containsPlainText):
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::asColor):
        (WebCore::DragData::createClipboard):
        (WebCore::DragData::containsCompatibleContent):
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        (WebCore::DragData::asFragment):
        * platform/haiku/DragImageHaiku.cpp: Added.
        (WebCore::dragImageSize):
        (WebCore::deleteDragImage):
        (WebCore::scaleDragImage):
        (WebCore::dissolveDragImageToFraction):
        (WebCore::createDragImageFromImage):
        (WebCore::createDragImageIconForCachedImage):

2009-07-16  Stephen White  <senorblanco@chromium.org>

        Reviewed by Darin Fisher and Brett Wilson.

        Refactor Skia implementation of gradients and patterns.

        http://bugs.webkit.org/show_bug.cgi?id=26618

        The following layout tests were breaking on Chromium/Linux:

        LayoutTests/svg/custom/js-late-gradient-creation.svg (bad baseline PNG)
        LayoutTests/svg/custom/js-late-gradient-and-object.creation.svg
        LayoutTests/svg/custom/js-late-pattern-creation.svg (bad baseline PNG)
        LayoutTests/svg/custom/js-late-pattern-and-object-creation.svg

        I could've fixed these the easy way, by copying the same 5
        lines of code we use everywhere we need patterns or gradients, but
        I decided to fix it the hard way:  by refactoring the code so that
        PlatformContextSkia::setupPaintForFilling() and
        PlatformContextSkia::setupPaintForStroking() do the right thing,
        and also handle gradients and patterns.
        
        This required pushing the gradients and patterns set in 
        (generic) GraphicsContext::setFillPattern() and friends down into
        PlatformContextSkia.  For this, I followed the setPlatformXXX()
        pattern used elsewhere in GraphicsContext, and stubbed them out on
        the other platforms with #if !PLATFORM(SKIA).  This also required
        pushing changes to the gradientSpaceTransform from the Gradient into 
        GradientSkia.

        Since it's a Skia context, I decided to cache the values as
        SkShaders.  There were existing m_pattern and m_gradient SkShaders,
        but they were unused, and whose use was ambiguous, so I
        replaced them with one SkShader each for filling and stroking.

        * platform/graphics/Gradient.cpp:
        (WebCore::Gradient::setGradientSpaceTransform):
        (WebCore::Gradient::setPlatformGradientSpaceTransform):
        * platform/graphics/Gradient.h:
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setStrokePattern):
        (WebCore::GraphicsContext::setFillPattern):
        (WebCore::GraphicsContext::setStrokeGradient):
        (WebCore::GraphicsContext::setFillGradient):
        (WebCore::GraphicsContext::setPlatformFillGradient):
        (WebCore::GraphicsContext::setPlatformFillPattern):
        (WebCore::GraphicsContext::setPlatformStrokeGradient):
        (WebCore::GraphicsContext::setPlatformStrokePattern):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/skia/GradientSkia.cpp:
        (WebCore::Gradient::setPlatformGradientSpaceTransform):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::setPlatformFillGradient):
        (WebCore::GraphicsContext::setPlatformFillPattern):
        (WebCore::GraphicsContext::setPlatformStrokeGradient):
        (WebCore::GraphicsContext::setPlatformStrokePattern):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::strokeRect):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::State::State):
        (PlatformContextSkia::State::~State):
        (PlatformContextSkia::drawRect):
        (PlatformContextSkia::setupPaintCommon):
        (PlatformContextSkia::setupPaintForFilling):
        (PlatformContextSkia::setupPaintForStroking):
        (PlatformContextSkia::setFillColor):
        (PlatformContextSkia::setStrokeColor):
        (PlatformContextSkia::setStrokeShader):
        (PlatformContextSkia::setFillShader):
        * platform/graphics/skia/PlatformContextSkia.h:
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::skiaDrawText):
        (WebCore::paintSkiaText):
        * svg/graphics/SVGPaintServer.cpp:
        (WebCore::SVGPaintServer::teardown):

2009-07-16  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Oliver Hunt.

        Added Haiku-specific files for WebCore/platform/image-decoders/.
        https://bugs.webkit.org/show_bug.cgi?id=26949

        Adding a new file, ImageDecoderHaiku.cpp.

        * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Added.
        (WebCore::RGBA32Buffer::RGBA32Buffer):
        (WebCore::RGBA32Buffer::clear):
        (WebCore::RGBA32Buffer::zeroFill):
        (WebCore::RGBA32Buffer::copyBitmapData):
        (WebCore::RGBA32Buffer::setSize):
        (WebCore::RGBA32Buffer::asNewNativeImage):
        (WebCore::RGBA32Buffer::hasAlpha):
        (WebCore::RGBA32Buffer::setHasAlpha):
        (WebCore::RGBA32Buffer::setStatus):
        (WebCore::RGBA32Buffer::operator=):
        (WebCore::RGBA32Buffer::width):
        (WebCore::RGBA32Buffer::height):

2009-07-16  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        Added Haiku-specific files for WebCore/page/.
        https://bugs.webkit.org/show_bug.cgi?id=26949

        Adding three new files, DragControllerHaiku.cpp, EventHandlerHaiku.cpp
        and FrameHaiku.cpp

        * page/haiku/DragControllerHaiku.cpp: Added.
        (WebCore::DragController::isCopyKeyDown):
        (WebCore::DragController::dragOperation):
        (WebCore::DragController::maxDragImageSize):
        (WebCore::DragController::cleanupAfterSystemDrag):
        * page/haiku/EventHandlerHaiku.cpp: Added.
        (WebCore::isKeyboardOptionTab):
        (WebCore::EventHandler::invertSenseOfTabsToLinks):
        (WebCore::EventHandler::tabsToAllControls):
        (WebCore::EventHandler::focusDocumentView):
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        (WebCore::EventHandler::passMouseDownEventToWidget):
        (WebCore::EventHandler::eventActivatedView):
        (WebCore::EventHandler::passSubframeEventToSubframe):
        (WebCore::EventHandler::passWheelEventToWidget):
        (WebCore::EventHandler::createDraggingClipboard):
        (WebCore::EventHandler::passMousePressEventToSubframe):
        (WebCore::EventHandler::passMouseMoveEventToSubframe):
        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
        (WebCore::EventHandler::accessKeyModifiers):
        * page/haiku/FrameHaiku.cpp: Added.
        (WebCore::Frame::dragImageForSelection):

2009-07-16  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        Added Haiku-specific files for WebCore/editing/.
        https://bugs.webkit.org/show_bug.cgi?id=26949

        Adding one new file, EditorHaiku.cpp

        * editing/haiku/EditorHaiku.cpp: Added.
        (WebCore::Editor::newGeneralClipboard):

2009-07-16  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        Added Haiku-specific files for WebCore/bindings/js/.
        https://bugs.webkit.org/show_bug.cgi?id=26949

        Adding a new file, ScriptControllerHaiku.cpp

        * bindings/js/ScriptControllerHaiku.cpp: Added.
        (WebCore::ScriptController::createScriptInstanceForWidget):

2009-07-16  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        Added Haiku-specific files for WebCore/platform/text/.
        https://bugs.webkit.org/show_bug.cgi?id=26949

        Adding two new files, StringHaiku.cpp
        and TextBreakIteratorInternalICUHaiku.cpp

        * platform/text/haiku/StringHaiku.cpp: Added.
        (WebCore::String::String):
        (WebCore::String::operator BString):
        * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Added.
        (WebCore::currentTextBreakLocaleID):

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

        Reviewed by Eric Seidel.

        Sends the basename of a selected file for non-multipart form submission.
        <https://bugs.webkit.org/show_bug.cgi?id=26505>

        Test: fast/forms/get-file-upload.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::appendFormData):

2009-07-16  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        [V8] Centralize hidden property names
        https://bugs.webkit.org/show_bug.cgi?id=27359

        No behavior change.  Just moving these names to a central location.
        I'll move the rest of our hidden property names as I sweep though the
        bindings.

        * WebCore.gypi:
        * bindings/v8/V8HiddenPropertyName.cpp: Added.
        (WebCore::V8HiddenPropertyName::objectPrototype):
        (WebCore::V8HiddenPropertyName::isolatedWorld):
        * bindings/v8/V8HiddenPropertyName.h: Added.
        * bindings/v8/V8IsolatedWorld.cpp:
        (WebCore::V8IsolatedWorld::V8IsolatedWorld):
        (WebCore::V8IsolatedWorld::getEntered):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::getHiddenObjectPrototype):
        (WebCore::V8Proxy::installHiddenObjectPrototype):

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

        Reviewed by Simon Fraser.

        REGRESSION (r41238) Repainted portion of a scaled image does not line up with full image
        https://bugs.webkit.org/show_bug.cgi?id=26747
        rdar://problem/7009243

        Test: fast/repaint/background-misaligned.html

        * platform/graphics/Image.cpp:
        (WebCore::Image::drawTiled): Moved a variable definition closer to where
        it is used.
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::draw): In the subimage code path, compute a
        pixel-aligned source rect, because the subiamge is always pixel-aligned
        in source space, and adjust the destination rect to preserve the
        source -> destination mapping. Clip to the (original) destination rect
        to prevent bleeding out.

2009-07-16  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Adam Barth.

        Add a sessionStorageEnabled setting to the settings class.
        https://bugs.webkit.org/show_bug.cgi?id=27318

        Allow LocalStorage to be enabled without enabling SessionStorage at
        runtime.  There is a settings class setting for localStorage, but not
        for sessionStorage.  We want to be able to test one of these features
        without necessarily enabling the other.

        SessionStorage defaults to true so as to not change behavior and
        because there really aren't any security concerns around SessionStorage
        (unlike LocalsStorage).  The flag is needed in Chromium only because
        we want to enable the compile time flag in the default build, but don't
        want it on by default until it's been thoroughly tested.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::sessionStorage):  Check the new flag
        (WebCore::DOMWindow::localStorage):  A bit of cleanup
        * page/Settings.cpp:
        (WebCore::Settings::Settings):  Default the flag to true
        (WebCore::Settings::setSessionStorageEnabled):  Add the new flag
        * page/Settings.h:
        (WebCore::Settings::sessionStorageEnabled):  Get the new flag

2009-07-16  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        Revert 45987.  Tests did not pass on Windows.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::appendFormData):

2009-07-16  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        Added SHARED_WORKER flag to Windows build files, as well as associated .ccp/.h files.
        Added missing V8 bindings to the AllInOne file

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

        * WebCore.vcproj/WebCore.vcproj:
        Added missing files to build.
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        Added missing V8 bindings (V8AbstractWorker.cpp and V8SharedWorker.cpp)
        * DerivedSources.cpp
        Added missing JS bindings (JSAbstractWorker.cpp and JSSharedWorker.cpp)

2009-07-16  John Abd-El-Malek  <jam@chromium.org>

        Reviewed by David Levin.

        Add a getter in MessagePortChannel for the PlatformMessagePortChannel.

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

        * dom/MessagePortChannel.h:
        (WebCore::MessagePortChannel::channel):

2009-07-16  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Darin Adler.

        Fix tooltip does not get its directionality from its element's directionality.
        https://bugs.webkit.org/show_bug.cgi?id=24187

        Per mitz's suggestion in comment #6, while getting the plain-text 
        title, we also get the directionality of the title. How to handle 
        the directionality is up to clients. Clients could ignore it, 
        or use attribute or unicode control characters to display the title
        as what they want.

        WARNING: NO TEST CASES ADDED OR CHANGED

        * WebCore.base.exp: Replace 2 names due to signature change.
        * loader/EmptyClients.h: 
        (WebCore::EmptyChromeClient::setToolTip): Add direction as 2nd parameter.
        * page/Chrome.cpp:
        (WebCore::Chrome::setToolTip): Calculate tooltip direction as well and pass it to client to take care when display tooltip.
        * page/ChromeClient.h: Add direction as 2nd parameter to pure virtual function setToolTip().
        * page/chromium/ChromeClientChromium.h:
        (WebCore::ChromeClientChromium::setToolTip): Add setToolTip() 
        temprarily to make chromium compile after pick up this webkit patch.
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::spellingToolTip): Besides getting the 
        spelling tooltip, get its directionality as well.
        (WebCore::HitTestResult::title): Besides getting the title, 
        get its directionality as well.
        * rendering/HitTestResult.h: Add 2 more methods.

2009-07-16  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Oliver Hunt.

        [CAIRO] pattern of a canvas-element changes after modifications on canvas-element
        https://bugs.webkit.org/show_bug.cgi?id=20578

        Copy pixel image in ImageBuffer::image() just like CG and Skia glue.

        Test: fast/canvas/canvas-pattern-modify.html

        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (copySurface):
        (WebCore::ImageBuffer::image):

2009-07-16  David Hyatt  <hyatt@apple.com>

        Reviewed by Beth Dakin.

        https://bugs.webkit.org/show_bug.cgi?id=27353
        Images mispositioned because of bug in percentage-based relative positioning.

        Added fast/css/nested-floating-relative-position-percentages.html

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

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

        Reviewed by Eric Seidel.

        Sends the basename of a selected file for non-multipart form submission.
        <https://bugs.webkit.org/show_bug.cgi?id=26505>

        Test: fast/forms/get-file-upload.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::appendFormData):

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

        Reviewed by Darin Adler.

        Video size sometimes jumps just after the video starts loading
        https://bugs.webkit.org/show_bug.cgi?id=27352

        Ensure that the media player is at or after the 'HaveMetadata' state so that
        the instrinsic size is known before we create the layer for video. This avoids
        a flash caused by computing the video rect using the default intrinsic size, and then
        re-computing it when that size changes.
        
        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::isReadyForRendering):
        (WebCore::MediaPlayerPrivate::updateStates):
        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):

2009-07-16  Brady Eidson  <beidson@apple.com>

        Reviewed by Antti Koivisto.
        Patch by Brady Eidson and Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=26496
        <rdar://problem/7065391> Microsoft Outlook Web Access fails because XHR stream connection blocks script loading/revalidation

        After refreshing a page and when all CachedResources on that page are in validation mode, they got an exemption
        from the connection-per-host limit.  Removing that exemption makes the test case load smoothly after reloads.

        * loader/loader.cpp:
        (WebCore::Loader::Host::servePendingRequests): Remove the resourceIsCacheValidator exemption to the connection-per-host limit.

2009-07-16  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        [V8] V8IsolatedWorld::evaluate needs to call didCreateIsolatedScriptContext
        https://bugs.webkit.org/show_bug.cgi?id=27335

        evaluateInNewContext makes this delegate call.  evaluateInNewWorld
        needs to make the same call.  This does not appear to be testable with
        our current technology.

        * bindings/v8/V8IsolatedWorld.cpp:
        (WebCore::V8IsolatedWorld::evaluate):

2009-07-15  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Simon Hausmann.

        Fix a typo: application/atom=xml -> application/atom+xml.

        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::checkStyleSheet):

2009-07-16  Dean McNamee  <deanm@chromium.org>

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=27292
        Improve handling of <canvas> path operations on an empty path.
        Implement Skia's Path::hasCurrentPoint().

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::lineTo):
        (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
        (WebCore::CanvasRenderingContext2D::bezierCurveTo):
        * platform/graphics/skia/PathSkia.cpp:
        (WebCore::Path::hasCurrentPoint):

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

        Reviewed by Eric Seidel.

        Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
        https://bugs.webkit.org/show_bug.cgi?id=26254

        Make it so that setting white-space and word-wrap via CSS
        overrides the wrap attribute.

        This involves having the shadow div in the textarea inherit
        the CSS from its parent instead of hard-coding it in
        RenderTextControlMultiline.
        
        Committer note: Earlier I reverted this change because I did it incorrectly
        by leaving out css/html.css. In the patch, the filename was the old name
        css/html4.css and that led to my error.

        * css/html.css:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::createInnerTextStyle):

2009-07-15  James Hawkins  <jhawkins@google.com>

        Reviewed by Adam Barth.

        [V8] Remove a local variable that is shadowing a function parameter.
        https://bugs.webkit.org/show_bug.cgi?id=27309

        No test required as this modification does not change the current behavior.

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):

2009-07-15  Adam Langley  <agl@google.com>

        No review: reverting previous change.

        Revert r45959:

        2009-07-15  Dumitru Daniliuc  <dumi@chromium.org>
        Reviewed by Dimitri Glazkov.

        Adding the Win SQLite VFS implementation for Chromium.

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


        The Chromium side of this patch was landed in 20839, but broke the build. It
        was reverted in r20840. Thus, I'm reverting this side of the patch too.

        * WebCore.gypi:
        * platform/chromium/ChromiumBridge.h:
        * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Removed.
        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Removed.

2009-07-15  David Levin  <levin@chromium.org>

        Layout test fix, reverting previous change.

        Reverting r45962 as it caused several layout test failures.

        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::createInnerTextStyle):

2009-06-08  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Eric Seidel.

        Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
        https://bugs.webkit.org/show_bug.cgi?id=26254

        Make it so that setting white-space and word-wrap via CSS
        overrides the wrap attribute.

        This involves having the shadow div in the textarea inherit
        the CSS from its parent instead of hard-coding it in
        RenderTextControlMultiline.

        * css/html4.css:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::createInnerTextStyle):

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

        Reviewed by Dimitri Glazkov.

        Adding the Win SQLite VFS implementation for Chromium.

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

        * platform/chromium/ChromiumBridge.h:
        * platform/sql/chromium: Added.
        * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.

2009-07-15  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Bug 25151 - workers that fail to load scripts not firing error event.
        https://bugs.webkit.org/show_bug.cgi?id=25151

        This fixes the problem that an error event is not fired when the worker
        script fails to load. Some reasons this may occur are an invalid URL for
        the worker script or a cross-origin redirect.

        We also moves the code to complete the URL and check its origin from
        Worker constructor to WorkerScriptLoader loading functions in order to
        move the exception throwing logic out of the scope of Worker constructor.
        Due to this change, we also remove the output ExceptionCode parameter
        in the worker constructor. Corresponding JS/V8 binding codes have been
        updated to reflect this change.

        * bindings/js/JSWorkerConstructor.cpp:
        (WebCore::constructWorker):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * workers/Worker.cpp:
        (WebCore::Worker::Worker):
        (WebCore::Worker::notifyFinished):
        * workers/Worker.h:
        (WebCore::Worker::create):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::importScripts):
        * workers/WorkerScriptLoader.cpp:
        (WebCore::toCrossOriginRedirectPolicy):
        (WebCore::WorkerScriptLoader::loadSynchronously):
        (WebCore::WorkerScriptLoader::loadAsynchronously):
        (WebCore::notifyLoadErrorTask):
        (WebCore::WorkerScriptLoader::createResourceRequest):
        (WebCore::WorkerScriptLoader::didFail):
        (WebCore::WorkerScriptLoader::didFailRedirectCheck):
        (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
        (WebCore::WorkerScriptLoader::notifyError):
        * workers/WorkerScriptLoader.h:
        (WebCore::):
        (WebCore::WorkerScriptLoader::url):

2009-07-15  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        text-shadow is not drawn for text with transparent colour
        https://bugs.webkit.org/show_bug.cgi?id=21374

        Test: fast/text/shadow-translucent-fill.html

        * rendering/InlineTextBox.cpp:
        (WebCore::paintTextWithShadows): If the text fill color is not opaque,
        paint all shadows separately from the text, by casting them from
        clipped-out opaque text.

2009-07-15  Adam Treat  <adam.treat@torchmobile.com>

        Fix the Qt build.

        * html/HTMLAreaElement.cpp:

2009-07-15  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        Cleanup DOM Storage dependencies.
        https://bugs.webkit.org/show_bug.cgi?id=27180

        DOM Storage had several unnecessary (and probably unintended)
        dependencies.  This patch replaces many includes of header files with
        forward declaration of classes, making some destructors explicit, and
        taking some factories out of the header files.

        This will allow things like StorageAreaSync to take a StorageAreaImpl*
        (as it should) rather than a StorageArea* which previously weren't
        possible because the dependencies were such a tangled mess.

        * storage/LocalStorageTask.cpp:
        (WebCore::LocalStorageTask::~LocalStorageTask):
        * storage/LocalStorageTask.h:
        * storage/Storage.cpp:
        (WebCore::Storage::~Storage):
        * storage/Storage.h:
        * storage/StorageArea.cpp:
        * storage/StorageArea.h:
        * storage/StorageAreaImpl.cpp:
        * storage/StorageAreaImpl.h:
        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::~StorageAreaSync):
        * storage/StorageAreaSync.h:
        * storage/StorageEvent.cpp:
        (WebCore::StorageEvent::create):
        (WebCore::StorageEvent::StorageEvent):
        * storage/StorageEvent.h:
        * storage/StorageNamespace.h:
        * storage/StorageNamespaceImpl.cpp:
        * storage/StorageNamespaceImpl.h:
        * storage/StorageSyncManager.cpp:
        (WebCore::StorageSyncManager::~StorageSyncManager):
        * storage/StorageSyncManager.h:

2009-07-15  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Incorrect animation when trying to duplicate effect of transform-origin
        https://bugs.webkit.org/show_bug.cgi?id=27310

        The bug is that matrix animation is being used when animating
        a list of transform functions that match in the from and to states.
        This sometimes works. But because of the way CA does matrix animation
        function lists like the one shown in the testcase animate incorrectly.

        This fixes the bug by always doing component animation
        as long as the function lists match. This allows CA
        to animate the components and then recompose the result
        into the correct matrix.

        Test: animations/transform-origin-vs-functions.html

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::animateTransform):

2009-07-15  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by David Levin.

        Upstream the V8NPObject and NPV8Object build changes for WebCore.gypi.

        Add upstreamed V8 bindings files into WebCore.gypi so they can be seen
        downstream
        https://bugs.webkit.org/show_bug.cgi?id=27274

        Changes the build file for chromium.  Test built the chromium tree
        to verify.

        * WebCore.gypi:

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

        I like it when the code compiles.

        * WebCore.base.exp:

2009-07-15  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Renamed parseURL to deprecatedParseURL.

        * bindings/js/JSAttrCustom.cpp:
        (WebCore::JSAttr::setValue): Renamed.
        * bindings/js/JSElementCustom.cpp:
        (WebCore::allowSettingSrcToJavascriptURL): Renamed.
        * bindings/js/JSHTMLFrameElementCustom.cpp:
        (WebCore::allowSettingJavascriptURL): Renamed.
        * bindings/js/JSHTMLIFrameElementCustom.cpp:
        (WebCore::JSHTMLIFrameElement::setSrc): Renamed.
        * bindings/objc/DOM.mm:
        (-[DOMElement _getURLAttribute:]): Renamed.
        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Renamed.
        * bindings/v8/custom/V8CustomBinding.cpp:
        (WebCore::allowSettingFrameSrcToJavascriptUrl): Renamed.
        * css/CSSHelper.cpp:
        (WebCore::deprecatedParseURL): Renamed.
        * css/CSSHelper.h: Renamed and updated comment.
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::defaultEventHandler): Renamed.
        (WebCore::HTMLAnchorElement::parseMappedAttribute): Renamed.
        * html/HTMLBaseElement.cpp:
        (WebCore::HTMLBaseElement::parseMappedAttribute): Renamed.
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::parseMappedAttribute): Renamed.
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::parseMappedAttribute): Renamed.
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::parseMappedAttribute): Renamed.
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::parseMappedAttribute): Renamed.
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::parseMappedAttribute): Renamed.
        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::sourceURI): Renamed.
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::parseMappedAttribute): Renamed.
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parseMappedAttribute): Renamed.
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::parseMappedAttribute): Renamed.
        * html/HTMLTablePartElement.cpp:
        (WebCore::HTMLTablePartElement::parseMappedAttribute): Renamed.
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseTag): Renamed.
        * html/PreloadScanner.cpp:
        (WebCore::PreloadScanner::processAttribute): Renamed.
        (WebCore::PreloadScanner::emitCSSRule): Renamed.
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::declareAndWriteDragImage): Renamed.
        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeImage): Renamed.
        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::declareAndWriteDragImage): Renamed.
        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::declareAndWriteDragImage): Renamed.
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::absoluteImageURL): Renamed.
        (WebCore::HitTestResult::absoluteMediaURL): Renamed.
        (WebCore::HitTestResult::absoluteLinkURL): Renamed.
        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::defaultEventHandler): Renamed.
        * svg/SVGImageLoader.cpp:
        (WebCore::SVGImageLoader::sourceURI): Renamed.
        * wml/WMLAElement.cpp:
        (WebCore::WMLAElement::defaultEventHandler): Renamed.
        * wml/WMLImageLoader.cpp:
        (WebCore::WMLImageLoader::sourceURI): Renamed.

2009-07-15  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        CSSHelper.h's parseURL is a function that no one should ever call
        Part 1: Eliminate callers in the CSS parser.
        https://bugs.webkit.org/show_bug.cgi?id=26599

        Test: fast/css/uri-token-parsing.html

        * css/CSSHelper.h: Added a comment explaining why nobody should ever call this
        function. A FIXME suggests a next step, which would be to rename it deprecatedParseURL.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Removed unneeded call to parseURL;
        CSSParser::text already takes care of parsing the URI token syntax, and the
        parseURL function does no good.
        (WebCore::CSSParser::parseContent): Ditto.
        (WebCore::CSSParser::parseFillImage): Ditto.
        (WebCore::CSSParser::parseFontFaceSrc): Ditto.
        (WebCore::CSSParser::parseBorderImage): Ditto.
        (WebCore::isCSSWhitespace): Added. Helper function that makes the text function
        easier to read.
        (WebCore::CSSParser::text): Tweak logic so that leading and trailing whitespace
        are both trimmed before removing the quote marks. Changed to use the
        isCSSWhitespace, isASCIIHexDigit, and toASCIIHexValue functions for clarity.

        * css/CSSParser.h: Removed stray "public:" in this header.

        * platform/text/StringImpl.cpp:
        (WebCore::StringImpl::substring): Optimized the case where the substring covers
        the entire string, so we just share the StringImpl instead of making a new one.
        This case came up in earlier versions of the CSS parser changes above.
        (WebCore::StringImpl::substringCopy): Streamlined the logic here and made it
        not call substring any more. Before, this was relying on the substring function
        always making a copy of any non-empty substring.

2009-07-15  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        After double-clicking a word, using Shift-arrow to select behaves unpredictably
        https://bugs.webkit.org/show_bug.cgi?id=27177
        rdar://problem/7034324

        Test: editing/selection/extend-selection-after-double-click.html

        The bug was due to the m_lastChangeWasHorizontalExtension flag, which was not
        being cleared in many cases where it should have been.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelection): Set m_lastChangeWasHorizontalExtension
        to false. This catches all sorts of cases that don't flow through the modify function.
        Before, the flag would reflect the last call to the modify function, which was not
        necessarily the last selection change.
        (WebCore::SelectionController::willBeModified): Rearrange function for clarity.
        Remove code that sets m_lastChangeWasHorizontalExtension; that is now handled elsewhere. 
        (WebCore::SelectionController::modify): Call setLastChangeWasHorizontalExtension after
        setSelection when setting up a trial selection controller, since setSelection now
        clears that flag. Also changed both trial selection controller cases to set the flag,
        although it's not strictly necessary in both cases. Added code to set
        m_lastChangeWasHorizontalExtension when extending the selection, which used to be
        handled in willBeModified. Now we need to do it after the selection change.

2009-07-15  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Dimitri Glazkov.

        Need to update DOM Storage files in GYPI file.
        https://bugs.webkit.org/show_bug.cgi?id=27317

        Need to update DOM Storage files in the GYPI file.  They're pretty out
        of date and we're on the path towards enabling them for everyone!

        * WebCore.gypi:

2009-07-15  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26794
        Make Yacc-generated parsers to use fastMalloc/fastFree.
        
        Define YYMALLOC and YYFREE to fastMalloc and fastFree
        respectively.

        * css/CSSGrammar.y:
        * xml/XPathGrammar.y:

2009-07-15  David Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=27193
        Don't run in to anonymous blocks.  No other browsers do this, and our implementation of run-in
        is effectively broken as a result.

        No new tests. Changed fast/runin/001.html and fast/runin/generated.html to match new behavior.

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

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

        Reviewed by Darin Adler.

        Test: fast/js/instanceof-operator.html

        Fix for: Bug 25205 -  XMLHttpRequest instance is not an instanceof XMLHttpRequest
        https://bugs.webkit.org/show_bug.cgi?id=25205

        In addition to for XMLHttpRequest, this also fixes for:
        - Audio
        - Image
        - MessageChannel
        - Option
        - WebKitCSSMatrix
        - WebKitPoint
        - Worker
        - XSLTProcessor

        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::JSAudioConstructor):
        * bindings/js/JSAudioConstructor.h:
        * bindings/js/JSDOMBinding.h:
        (WebCore::DOMConstructorObject::createStructure):
        (WebCore::DOMConstructorObject::DOMConstructorObject):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::JSImageConstructor::JSImageConstructor):
        * bindings/js/JSImageConstructor.h:
        * bindings/js/JSMessageChannelConstructor.cpp:
        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
        * bindings/js/JSMessageChannelConstructor.h:
        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::JSOptionConstructor::JSOptionConstructor):
        * bindings/js/JSOptionConstructor.h:
        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
        (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
        * bindings/js/JSWebKitCSSMatrixConstructor.h:
        * bindings/js/JSWebKitPointConstructor.cpp:
        (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
        * bindings/js/JSWebKitPointConstructor.h:
        * bindings/js/JSWorkerConstructor.cpp:
        (WebCore::JSWorkerConstructor::JSWorkerConstructor):
        * bindings/js/JSWorkerConstructor.h:
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
        * bindings/js/JSXMLHttpRequestConstructor.h:
        * bindings/js/JSXSLTProcessorConstructor.cpp:
        (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
        * bindings/js/JSXSLTProcessorConstructor.h:

2009-07-15  Kai Br�ning  <kai@granus.net>

        Reviewed by Dave Hyatt.

        CSS21 attribute selectors not dynamic for xml.
        https://bugs.webkit.org/show_bug.cgi?id=25072

        Moved the relevant test in StyledElement::attributeChanged()
        to a new function Element::recalcStyleIfNeededAfterAttributeChanged()
        so it can be called from both StyledElement::attributeChanged()
        and Element::attributeChanged().
        Refactored Element::attributeChanged() into
        Element::updateAfterAttributeChanged() and
        Element::recalcStyleIfNeededAfterAttributeChanged(), which are called
        separately from StyledElement::attributeChanged().

        Test: fast/css/attribute-selector-dynamic.xml

        * dom/Element.cpp:
        (WebCore::Element::attributeChanged):
        (WebCore::Element::updateAfterAttributeChanged):
        (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):
        * dom/Element.h:
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::attributeChanged):

2009-07-15  Alpha Lam  <hclam@chromium.org>

        Reviewed by David Levin.

        [V8] Layout test failures for drawImage in Canvas
        https://bugs.webkit.org/show_bug.cgi?id=27311

        Fixing several canvas layout tests failures due to a
        missing return statement in CanvasRenderingContext2DDrawImage() which
        was accidentally removed in r45929.

        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:

2009-07-15  Robert Hogan  <robert@roberthogan.net>

        Reviewed by Eric Seidel.

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

        If the httpMethod() of the request passed to SubresourceLoader::create is not
        supported by the client we must expect to call didFail() while m_loader is still null.

        * loader/DocumentThreadableLoader.cpp:
        (DocumentThreadableLoader::didFail):Changed.

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

        Fix the Mac build.

        * WebCore.base.exp:
        * css/MediaQueryEvaluator.cpp:
        * rendering/SVGRenderTreeAsText.cpp:
        * rendering/style/SVGRenderStyle.cpp:
        * svg/graphics/SVGPaintServer.cpp:

2009-07-07  Alpha Lam  <hclam@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] drawImage method of HTMLCanvasElement to accept HTMLVideoElement as argument
        https://bugs.webkit.org/show_bug.cgi?id=27170

        Changed CanvasRenderingContext2DDrawImage() to accept HTMLVideoElement
        as a parameter of drawImage() for HTMLCanvasElement.

        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:

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

        Reviewed by Dimitri Glazkov.

        [V8] Fix isolated world constructors
        https://bugs.webkit.org/show_bug.cgi?id=27287

        Don't enter V8Proxy::m_context before creating DOM constructors.
        Instead, use getWrapperContext to get the right context.

        After this patch, all my tests pass.  I'll enable the feature
        downstream and land the tests.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getConstructor):
        (WebCore::V8DOMWrapper::lookupDOMWrapper):
        * bindings/v8/V8DOMWrapper.h:
        * bindings/v8/V8IsolatedWorld.cpp:
        (WebCore::V8IsolatedWorld::evaluate):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::createWrapperFromCache):
        (WebCore::V8Proxy::isContextInitialized):
        (WebCore::V8Proxy::disposeContextHandles):
        (WebCore::V8Proxy::installDOMWindow):
        (WebCore::V8Proxy::initContextIfNeeded):
        (WebCore::V8Proxy::getHiddenObjectPrototype):
        (WebCore::V8Proxy::installHiddenObjectPrototype):
        * bindings/v8/V8Proxy.h:

2009-07-15  Antonio Gomes   <antonio.gomes@openbossa.org>

        Reviewed by Darin Adler.

        useless null-check statement in visible_units.cpp@logicalStartOfLine
        https://bugs.webkit.org/show_bug.cgi?id=27154

        Simple fix.

        * editing/visible_units.cpp:
        (WebCore::logicalStartOfLine): Doubled honorEditableBoundaryAtOrAfter() call removed.

2009-07-15  Brady Eidson  <beidson@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=27304
        WebKit should provide usage and eligibility information about the page cache.

        * WebCore.base.exp:

        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::childFrameCount):
        * history/CachedFrame.h:

        * history/PageCache.cpp:
        (WebCore::PageCache::frameCount):
        (WebCore::PageCache::autoreleasedPageCount):
        * history/PageCache.h:
        (WebCore::PageCache::pageCount):

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

        Reviewed by David Levin.

        Chromium's canvas forgets its context after fillText again
        https://bugs.webkit.org/show_bug.cgi?id=27293

        No new tests because the test for this was already added in
        https://bugs.webkit.org/show_bug.cgi?id=26436

        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::compositeTextComposite):

2009-07-14  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

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

        Implement the new 'rem' unit from CSS3.

        Added some rem-* tests in fast/css.

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::validUnit):
        (WebCore::unitFromString):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::lex):
        * css/CSSParserValues.cpp:
        (WebCore::CSSParserValue::createCSSValue):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::computeLengthInt):
        (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
        (WebCore::CSSPrimitiveValue::computeLengthShort):
        (WebCore::CSSPrimitiveValue::computeLengthFloat):
        (WebCore::CSSPrimitiveValue::computeLengthDouble):
        (WebCore::CSSPrimitiveValue::cssText):
        (WebCore::CSSPrimitiveValue::parserValue):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::):
        (WebCore::CSSPrimitiveValue::isUnitTypeLength):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::initForStyleResolve):
        (WebCore::convertToLength):
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::mapFillSize):
        (WebCore::CSSStyleSelector::mapFillXPosition):
        (WebCore::CSSStyleSelector::mapFillYPosition):
        (WebCore::CSSStyleSelector::createTransformOperations):
        * css/CSSStyleSelector.h:
        * css/MediaQueryEvaluator.cpp:
        (WebCore::device_heightMediaFeatureEval):
        (WebCore::device_widthMediaFeatureEval):
        (WebCore::heightMediaFeatureEval):
        (WebCore::widthMediaFeatureEval):
        * css/WebKitCSSMatrix.cpp:
        (WebCore::WebKitCSSMatrix::setMatrixValue):
        * css/tokenizer.flex:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        (WebCore::Document::usesRemUnits):
        (WebCore::Document::setUsesRemUnits):
        * dom/Element.cpp:
        (WebCore::Element::recalcStyle):
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeStyle):
        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::SVGRenderStyle::cssPrimitiveToLength):
        * svg/graphics/SVGPaintServer.cpp:
        (WebCore::applyStrokeStyleToContext):
        (WebCore::dashArrayFromRenderingStyle):
        * svg/graphics/SVGPaintServer.h:

2009-07-15  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        Remove extraneous qualifier, accidentally added in http://trac.webkit.org/changeset/45884.

        * bindings/v8/V8DOMWrapper.h: Removed extraneous qualifier.

2009-07-15  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Fisher.

        [V8] Update bindings for ValiditeState patch.
        https://bugs.webkit.org/show_bug.cgi?id=19562

        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:

2009-07-15  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Cleanup - Remove obsolete code from the make system
        https://bugs.webkit.org/show_bug.cgi?id=27299

        * WebCore.pro:

2009-07-15  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Ariya Hidayat.

        Fix the build without media elements.

        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::absoluteMediaURL): Add #if ENABLE(VIDEO)
        markers around the body of the method.

2009-07-14  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Move storeLastActivePanel out of the
        ifdef ENABLE_JAVASCRIPT_DEBUGGER section in IDL;
        Add default panel for the first opening of the
        WebInspector.

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

        * inspector/InspectorController.cpp:
        (InspectorController::setWindowVisible):
        * inspector/InspectorController.idl:

2009-07-14  Darin Adler  <darin@apple.com>

        Try to fix Windows build.

        * bindings/scripts/CodeGeneratorCOM.pm: Add Reflect and ReflectURL support.

2009-07-14  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Oliver Hunt.

        HTMLMediaElement::supportsFullscreen() should return false
        https://bugs.webkit.org/show_bug.cgi?id=27284

        (Reverting a part of 45875)

        HTMLVideoElement::supportsFullscreen() will properly do the
        job, and check if the backend supports fullscreen.

        HTMLVideoElement is the only subclass to support fullscreen
        (conditionnaly). HTMLAudioElement fullscreen is not supported
        and is a different kind of fullscreen, if it comes to be wanted.

        No test can be done currently given that none of the media
        backends support fullscreen.

        * html/HTMLMediaElement.cpp:
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::supportsFullscreen):

2009-07-14  Darin Adler  <darin@apple.com>

        Reviewed by Dimitri Glazkov.

        Next step in making DOM attribute getter/setters consistently use AtomicString
        https://bugs.webkit.org/show_bug.cgi?id=25425

        This covers eight DOM classes, and for each one of the classes:

        - Changes the IDL to use the Reflect syntax for all simple cases.
        - Removes unused functions in the classes, mainly newly unused ones that were
          used for reflection before.
        - Removes unneeded explicitly defined destructors.
        - Explicitly declares destructors as virtual.
        - Removes unneeded includes.
        - Makes members protected or private rather than public where possible.
        - Renames "doc" to "document".
        - Tweaks formatting to match our latest style in a few places.
        - Improves some FIXME comments.

        Over time we'll want to do this for all HTML DOM classes.

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::HTMLAnchorElement):
        * html/HTMLAnchorElement.h:
        (WebCore::HTMLAnchorElement::endTagRequirement):
        (WebCore::HTMLAnchorElement::tagPriority):
        * html/HTMLAnchorElement.idl:
        * html/HTMLAppletElement.cpp:
        * html/HTMLAppletElement.h:
        * html/HTMLAppletElement.idl:
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::parseMappedAttribute):
        * html/HTMLAreaElement.h:
        (WebCore::HTMLAreaElement::endTagRequirement):
        (WebCore::HTMLAreaElement::tagPriority):
        * html/HTMLAreaElement.idl:
        * html/HTMLBRElement.cpp:
        (WebCore::HTMLBRElement::parseMappedAttribute):
        * html/HTMLBRElement.h:
        * html/HTMLBRElement.idl:
        * html/HTMLBaseElement.cpp:
        (WebCore::HTMLBaseElement::HTMLBaseElement):
        (WebCore::HTMLBaseElement::removedFromDocument):
        (WebCore::HTMLBaseElement::process):
        * html/HTMLBaseElement.h:
        * html/HTMLBaseElement.idl:
        * html/HTMLBaseFontElement.cpp:
        (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
        * html/HTMLBaseFontElement.h:
        (WebCore::HTMLBaseFontElement::endTagRequirement):
        (WebCore::HTMLBaseFontElement::tagPriority):
        * html/HTMLBaseFontElement.idl:
        * html/HTMLBlockquoteElement.cpp:
        (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
        * html/HTMLBlockquoteElement.h:
        (WebCore::HTMLBlockquoteElement::tagPriority):
        * html/HTMLBlockquoteElement.idl:
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::HTMLBodyElement):
        (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
        * html/HTMLBodyElement.h:
        (WebCore::HTMLBodyElement::endTagRequirement):
        (WebCore::HTMLBodyElement::tagPriority):
        * html/HTMLBodyElement.idl:
        Made changes as described above.

        * loader/FrameLoader.cpp: Removed unneeded include of HTMLAnchorElement.h.

2009-07-14  Steve Falkenburg  <sfalken@apple.com>

        Reorganize JavaScriptCore headers into:
        API: include/JavaScriptCore/
        Private: include/private/JavaScriptCore/

        Reviewed by Darin Adler.

        * WebCore.vcproj/QTMovieWin.vcproj:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.vcproj/build-generated-files.sh:

2009-07-14  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>

        Reviewed by Darin Adler.

        Change all Noncopyable inheriting visibility to public.
        https://bugs.webkit.org/show_bug.cgi?id=27225

        Change all Noncopyable inheriting visibility to public because
        it is needed to the custom allocation framework (bug #20422).

        * bindings/js/GCController.h:
        * bindings/js/WorkerScriptController.h:
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::):
        * bridge/runtime.h:
        * css/CSSSelector.h:
        * css/CSSSelectorList.h:
        * css/CSSStyleSelector.h:
        * dom/ClassNames.h:
        * dom/MessagePortChannel.h:
        * dom/XMLTokenizerLibxml2.cpp:
        * dom/XMLTokenizerScope.h:
        * editing/ReplaceSelectionCommand.cpp:
        * editing/SelectionController.h:
        * editing/TextIterator.cpp:
        * history/PageCache.h:
        * html/CanvasRenderingContext2D.h:
        * html/HTMLParser.h:
        * html/HTMLParserQuirks.h:
        * html/PreloadScanner.h:
        * loader/Cache.h:
        * loader/CrossOriginPreflightResultCache.h:
        * loader/FrameLoader.h:
        * loader/ProgressTracker.h:
        * loader/ThreadableLoader.h:
        * loader/appcache/ApplicationCacheGroup.h:
        * loader/archive/ArchiveResourceCollection.h:
        * loader/icon/IconDatabase.h:
        * loader/icon/IconLoader.h:
        * loader/icon/PageURLRecord.h:
        * loader/loader.h:
        * page/ContextMenuController.h:
        * page/EventHandler.h:
        * page/FrameTree.h:
        * page/Page.h:
        * page/PageGroup.h:
        * page/PageGroupLoadDeferrer.h:
        * page/mac/EventHandlerMac.mm:
        * platform/AutodrainedPool.h:
        * platform/ContextMenu.h:
        * platform/EventLoop.h:
        * platform/HostWindow.h:
        * platform/Pasteboard.h:
        * platform/PurgeableBuffer.h:
        * platform/RunLoopTimer.h:
        * platform/ThreadGlobalData.h:
        * platform/ThreadTimers.h:
        * platform/Timer.h:
        * platform/TreeShared.h:
        * platform/graphics/FontData.h:
        * platform/graphics/GlyphWidthMap.h:
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/ImageBuffer.h:
        * platform/graphics/ImageSource.h:
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/skia/GraphicsContextPlatformPrivate.h:
        * platform/graphics/skia/PlatformContextSkia.h:
        * platform/graphics/win/QTMovieWin.cpp:
        * platform/mac/LocalCurrentGraphicsContext.h:
        * platform/network/FormDataBuilder.h:
        * platform/network/ResourceHandleInternal.h:
        * platform/network/soup/ResourceHandleSoup.cpp:
        * platform/text/StringBuffer.h:
        * platform/text/TextCodec.h:
        * platform/win/WindowMessageBroadcaster.h:
        * rendering/CounterNode.h:
        * rendering/LayoutState.h:
        * rendering/RenderFrameSet.h:
        * rendering/RenderView.h:
        * rendering/TransformState.h:
        * svg/SVGAnimatedProperty.h:
        * svg/SynchronizableTypeWrapper.h:
        * workers/WorkerMessagingProxy.h:
        * workers/WorkerRunLoop.cpp:
        * xml/XPathExpressionNode.h:
        * xml/XPathParser.h:
        * xml/XPathPredicate.h:
        * xml/XPathStep.h:

2009-07-14  Darin Fisher  <darin@chromium.org>

        Reviewed by Darin Adler.

        Fails to save document state when navigating away from a page with a
        reference fragment.
        https://bugs.webkit.org/show_bug.cgi?id=27281

        Test: fast/history/saves-state-after-fragment-nav.html

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::isCurrentDocument): Use equalIgnoringRef
        to compare URLs.

2009-07-14  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Sam Weinig.

        Inspector: Remove Unintended Global Variables
        https://bugs.webkit.org/show_bug.cgi?id=27203

        * inspector/front-end/Console.js:
        (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
        * inspector/front-end/DatabasesPanel.js:
        (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype.update):
        * inspector/front-end/inspector.js:
        (WebInspector.animateStyle):

2009-07-14  Michelangelo De Simone  <micdesim@gmail.com>

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=19562
        Added build stuff and stub for the ValidityState class, part of HTML5
        section Forms:
        http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate

        Test: fast/forms/ValidityState-001.html

        * DerivedSources.cpp: Inclusion of ValidityState files
        * DerivedSources.make: ditto
        * GNUmakefile.am: ditto
        * WebCore.gypi: ditto
        * WebCore.pro: ditto
        * WebCore.vcproj/WebCore.vcproj: ditto
        * WebCore.xcodeproj/project.pbxproj: ditto
        * WebCoreSources.bkl: ditto
        * html/HTMLButtonElement.idl: validity attribute
        * html/HTMLFieldSetElement.idl: ditto
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::validity): ValidityState getter
        * html/HTMLFormControlElement.h: ditto
        * html/HTMLInputElement.idl: validity attribute
        * html/HTMLSelectElement.idl: ditto
        * html/HTMLTextAreaElement.idl: ditto
        * html/ValidityState.cpp: Added.
        (WebCore::ValidityState::ValidityState):
        (WebCore::ValidityState::valid): validation flag
        * html/ValidityState.h: Added.
        (WebCore::ValidityState::create): validation flag
        (WebCore::ValidityState::control): ditto
        (WebCore::ValidityState::valueMissing): ditto
        (WebCore::ValidityState::typeMismatch): ditto
        (WebCore::ValidityState::patternMismatch): ditto
        (WebCore::ValidityState::tooLong): ditto
        (WebCore::ValidityState::rangeUnderflow): ditto
        (WebCore::ValidityState::rangeOverflow): ditto
        (WebCore::ValidityState::stepMismatch): ditto
        (WebCore::ValidityState::customError): ditto
        * html/ValidityState.idl: Added.

2009-07-14  Ryosuke Niwa  <rniwa@google.com>

        Reviewed by Eric Seidel.

        Outdenting a line inside a blockquote tag does nothing
        https://bugs.webkit.org/show_bug.cgi?id=25316

        The bug was caused by the code checking whether the blockquote is created by WebKit or not.
        We simply remove this code to be consistent with Firefox and Internet Explorer.
        Also, enclosingBlockFlow == enclosingNode in outdentParagraph isn't a sufficient condition to insert
        the placeholder before the enclosingNode because there could be contents before the current paragraph.
        Instead, we should split the enclosingNode (which is a blockquote) at the starting position of outdentation.
        It turned out that this solves the bug 25315 also: https://bugs.webkit.org/show_bug.cgi?id=25315

        Test: editing/execCommand/outdent-regular-blockquote.html

        * editing/IndentOutdentCommand.cpp:
        (WebCore::isIndentBlockquote): no longer checks whether a blockquote is created by WebKit or not.
        (WebCore::IndentOutdentCommand::outdentParagraph): takes care of the case enclosingBlockFlow == enclosingNode

2009-07-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        [V8] Fix isolated world wrappers for Node prototypes
        https://bugs.webkit.org/show_bug.cgi?id=27277

        This change does two things:

        1) We bypass the wrapper cache in the isolated world.  This is because
           the wrapper template cache has prototypes that lead to the main
           world.  We can add a template cache for the isolated world if
           performance warrants.

        2) We introduce a smarter way to grab the wrapper context for a frame
           that is aware that proxy <-> context do not stand in one-to-one
           correspondence.  This generalizes our solution for the node wrapper
           case to prototypes.

        The net result is that Node wrappers get the right prototypes.  As
        before, tests to follow.

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::setHiddenWindowReference):
        (WebCore::V8DOMWrapper::instantiateV8Object):
        (WebCore::V8DOMWrapper::convertNodeToV8Object):
        (WebCore::V8DOMWrapper::convertWindowToV8Object):
        (WebCore::V8DOMWrapper::getWrapperContext):
        * bindings/v8/V8DOMWrapper.h:

2009-07-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        [V8] Fix isolated world wrappers for Nodes
        https://bugs.webkit.org/show_bug.cgi?id=27271

        Previously, we keepy a pointer to the DOMMap on V8Proxy, but this
        caused us to miss the branch in V8DOMMap.cpp for isolated worlds.

        I have tests, but I can't land them until I get this feature under
        control.

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertNodeToV8Object):
        * bindings/v8/V8Proxy.h:
        (WebCore::V8Proxy::V8Proxy):

2009-07-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        [V8] Fix isolated world crash on getting window.location
        https://bugs.webkit.org/show_bug.cgi?id=27268

        I have a test for this locally, but it requires a compile-time hack to
        run.  Once I get the feature's stability under control, we can turn the
        feature on and add the tests.

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::setHiddenWindowReference):
        * bindings/v8/V8IsolatedWorld.h:
        (WebCore::V8IsolatedWorld::context):

2009-07-14  Brent Fulgham  <bfulgham@webkit.org>

        Correct failing tests after r45875.  The original patch did not
        test the m_player member for null, causing crashes.  This will
        happen fairly frequently in real use.  Was this original patch
        ever tested?
        https://bugs.webkit.org/show_bug.cgi?id=27246

        Test via existing media tests.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::supportsFullscreen): Check for null pointer.
        (WebCore::HTMLMediaElement::supportsSave): Check for null pointer.

2009-07-14  Avi Drissman  <avi@chromium.org>

        Reviewed by Darin Fisher.

        Explicitly mark the HTML generated for the Mac as being UTF-8 encoded.
        The Windows clipboard format is explicitly documented as being UTF-8,
        and all Linux apps assume UTF-8. On the Mac, though, unless otherwise
        indicated, Windows-1252 is assumed, which is wrong.

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

        No new tests.

        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::writeRange):
        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeSelection):

2009-07-14  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Dimitri Glazkov.

        Upstream V8NPObject.h and V8NPObject.cpp.
        https://bugs.webkit.org/show_bug.cgi?id=27103

        This just upstreams the files from the chromium code base. Only
        minor changes to formatting and similar were done, so no testing
        is required because nothing really changed.  Code verified to compile.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::bindToWindowObject):
        (WebCore::ScriptController::createScriptInstanceForWidget):
        * bindings/v8/V8NPObject.cpp: Added.
        (npObjectInvokeImpl):
        (npObjectMethodHandler):
        (npObjectInvokeDefaultHandler):
        (weakTemplateCallback):
        (npObjectGetProperty):
        (npObjectNamedPropertyGetter):
        (npObjectIndexedPropertyGetter):
        (npObjectGetNamedProperty):
        (npObjectGetIndexedProperty):
        (npObjectSetProperty):
        (npObjectNamedPropertySetter):
        (npObjectIndexedPropertySetter):
        (npObjectSetNamedProperty):
        (npObjectSetIndexedProperty):
        (weakNPObjectCallback):
        (createV8ObjectForNPObject):
        (forgetV8ObjectForNPObject):
        * bindings/v8/V8NPObject.h: Added.
        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::INDEXED_PROPERTY_SETTER):


2009-07-14  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Darin Adler.

        Add HTMLMediaElement::supportSave() and a
        HitTestResult::absoluteMediaURL() functions
        https://bugs.webkit.org/show_bug.cgi?id=27246

        Added an implementation of supportsSave() into HTMLMediaElement
        that delegates to MediaPlayerPrivateImpl so that the media engine
        is able to signal whether or not a media source supports saving.

        Also added a function to HitTestResult that allows for retrieval
        of the currentSrc associated with the "hit" media element. 
        
        These functions are just pipeing with no visible UI change so there
        are no related layout test changes.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::supportsFullscreen): 
        (WebCore::HTMLMediaElement::supportsSave):
        * html/HTMLMediaElement.h:
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::supportsSave):
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::supportsFullscreen):
        (WebCore::MediaPlayerPrivateInterface::supportsSave):
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::altDisplayString):
        (WebCore::HitTestResult::absoluteMediaURL):
        * rendering/HitTestResult.h:

2009-07-14  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Adam Barth.

        [V8] Implement Reflect and ReflectURL attribute support.
        https://bugs.webkit.org/show_bug.cgi?id=27273

        * bindings/scripts/CodeGeneratorV8.pm: Added support for Reflect and ReflectURL attributes.

2009-07-14  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=27266
        Add hasCurrentPoint() to WebCore::Path.
        This fixes Skia-based Chromium regression caused by the fix for
        https://bugs.webkit.org/show_bug.cgi?id=27187.
        For Skia, the new method always returns 'true', pending actual implementation.
        This means Chromium still will differ from Gecko behavior, but at least its Canvas
        will not be completely broken.

        Existing Canvas Layout Tests should pass in Chromium after this change.

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::lineTo): insteand of Path::isEmpty() test for hasCurrentPoint().
        (WebCore::CanvasRenderingContext2D::quadraticCurveTo): ditto.
        (WebCore::CanvasRenderingContext2D::bezierCurveTo): ditto.

        * platform/graphics/Path.h:
        * platform/graphics/cairo/PathCairo.cpp:
        (WebCore::Path::hasCurrentPoint):
        * platform/graphics/cg/PathCG.cpp:
        (WebCore::Path::isEmpty):
        (WebCore::Path::hasCurrentPoint):
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::hasCurrentPoint):
        * platform/graphics/skia/PathSkia.cpp:
        (WebCore::Path::hasCurrentPoint):
        * platform/graphics/wx/PathWx.cpp:
        (WebCore::Path::hasCurrentPoint):
        All these files add a Path::hasCurrentPoint() for various platforms.

2009-07-14  Nate Chapin  <japhet@chromium.org>

        Reviewed by Sam Weinig.

        Upstream RGBColor from src.chromium.org.

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

        * WebCore.gypi: Add RGBColor
        * css/RGBColor.cpp: Added.
        (WebCore::RGBColor::create):
        (WebCore::RGBColor::red):
        (WebCore::RGBColor::green):
        (WebCore::RGBColor::blue):
        * css/RGBColor.h: Added.
        (WebCore::RGBColor::RGBColor):

2009-07-10  Matt Perry  <mpcomplete@chromium.org>

        Reviewed by Darin Fisher.

        [V8] Rename the didCreate/DestroyScriptContext calls to make it
        clear that that those refer to the frame's contxt.  Add another
        similar call for when creating contexts via evaluateInNewContext.
        https://bugs.webkit.org/show_bug.cgi?id=27104

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluateInNewContext):
        (WebCore::V8Proxy::disposeContextHandles):
        (WebCore::V8Proxy::initContextIfNeeded):
        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
        (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
        (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
        * loader/FrameLoaderClient.h:

2009-07-14  Brent Fulgham  <bfulgham@webkit.org>

        Revert http://trac.webkit.org/changeset/45864 after
        breaking of Windows build.

        * storage/LocalStorageTask.cpp:
        * storage/LocalStorageTask.h:
        * storage/Storage.cpp:
        * storage/Storage.h:
        * storage/StorageArea.cpp:
        * storage/StorageArea.h:
        * storage/StorageAreaImpl.cpp:
        * storage/StorageAreaImpl.h:
        * storage/StorageAreaSync.cpp:
        * storage/StorageAreaSync.h:
        * storage/StorageEvent.cpp:
        * storage/StorageEvent.h:
        (WebCore::StorageEvent::create):
        (WebCore::StorageEvent::StorageEvent):
        * storage/StorageNamespace.h:
        * storage/StorageNamespaceImpl.cpp:
        * storage/StorageNamespaceImpl.h:
        * storage/StorageSyncManager.cpp:
        * storage/StorageSyncManager.h:

2009-07-11  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Adler.

        Cleanup DOM Storage dependencies.
        https://bugs.webkit.org/show_bug.cgi?id=27180

        DOM Storage had several unnecessary (and probably unintended)
        dependencies.  This patch replaces many includes of header files with
        forward declaration of classes, making some destructors explicit, and
        taking some factories out of the header files.

        This will allow things like StorageAreaSync to take a StorageAreaImpl*
        (as it should) rather than a StorageArea* which previously weren't
        possible because the dependencies were such a tangled mess.

        * storage/LocalStorageTask.cpp:
        (WebCore::LocalStorageTask::~LocalStorageTask):
        * storage/LocalStorageTask.h:
        * storage/Storage.cpp:
        (WebCore::Storage::~Storage):
        * storage/Storage.h:
        * storage/StorageArea.cpp:
        * storage/StorageArea.h:
        * storage/StorageAreaImpl.cpp:
        * storage/StorageAreaImpl.h:
        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::~StorageAreaSync):
        * storage/StorageAreaSync.h:
        * storage/StorageEvent.cpp:
        (WebCore::StorageEvent::create):
        (WebCore::StorageEvent::StorageEvent):
        * storage/StorageEvent.h:
        * storage/StorageNamespace.h:
        * storage/StorageNamespaceImpl.cpp:
        * storage/StorageNamespaceImpl.h:
        * storage/StorageSyncManager.cpp:
        (WebCore::StorageSyncManager::~StorageSyncManager):
        * storage/StorageSyncManager.h:


2009-07-14  Adam Treat  <adam.treat@torchmobile.com>

        Reviewed by David Hyatt.

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

        Check to make sure the view is attached to a frame() in the visibleContentsResized()
        method as it can be triggered before the view is attached by Frame::createView(...)
        setting various values such as setScrollBarModes(...) for example.  An ASSERT is
        triggered when a view is layout before being attached to a frame().

        * page/FrameView.cpp:
        (WebCore::FrameView::visibleContentsResized):
        * page/FrameView.h:

2009-07-14  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: show last opened panel when invoking inspector.

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

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::setWindowVisible):
        (WebCore::InspectorController::storeLastActivePanel):
        (WebCore::InspectorController::specialPanelForJSName):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::Setting::Setting):
        * inspector/InspectorController.idl:
        * inspector/front-end/inspector.js:
        (WebInspector.set currentPanel):
        (WebInspector.loaded):

2009-07-14  Anton Muhin  <antonm@chromium.org>

        Reviewed by Dimitri Glazkov.

        Speed up access to NodeList length.
        https://bugs.webkit.org/show_bug.cgi?id=27264

        That's a minimal alternation of the code.

        * bindings/v8/custom/V8NodeListCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER): 1) use AtomicString for comparison, 2) use
        v8::Integer::New instead of v8::Number::New.

2009-07-14  Anton Muhin  <antonm@chromium.org>

        Reviewed by Dimitri Glazkov.

        Do not do unnecessary conversions from v8::Handle<v8::Value> to
        v8::Handle<v8::Object> and accompanying changes.
        https://bugs.webkit.org/show_bug.cgi?id=26953

        Three things:

        1) do not cast from v8::Value to v8::Object if unnecessary---casts are cheap,
        but are not free (they check for emptiness of handle);
        2) inline conversion from wrapper to node;
        3) simplify case to an ASSERT.

        This is just a refactoring, so no new tests are needed.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluateInNewContext):
        (WebCore::V8Proxy::convertToSVGPODTypeImpl):
        * bindings/v8/V8Proxy.h:
        (WebCore::V8Proxy::convertDOMWrapperToNative):
        (WebCore::V8Proxy::convertToNativeObject):
        (WebCore::V8Proxy::convertToNativeEvent):
        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
        (WebCore::toCanvasStyle):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8CustomBinding.cpp:
        (WebCore::V8Custom::GetTargetFrame):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::V8Custom::ClearTimeoutImpl):
        (WebCore::NAMED_ACCESS_CHECK):
        (WebCore::INDEXED_ACCESS_CHECK):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):

2009-07-14  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Straight quotes should match fancy quotes in in-page search
        https://bugs.webkit.org/show_bug.cgi?id=27217

        Tests: fast/text/find-quotes.html

        * editing/TextIterator.cpp:
        (WebCore::foldQuoteMark): Added.
        (WebCore::foldQuoteMarks): Added.
        (WebCore::SearchBuffer::SearchBuffer): Call foldQuoteMarks on the target string.
        (WebCore::SearchBuffer::append): Call foldQuoteMarks on characters as they are
        added to the search buffer.

        * platform/text/CharacterNames.h: Added more quotation mark character names.
        Sorted character names with the sort tool.

2009-07-13  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: handle debugger shortcuts while on source frame or on
        script file selector.

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

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

2009-07-13  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Use standard HashCountedSet instead of a hand rolled one
        in HTMLDocument.

        * html/HTMLDocument.cpp:
        (WebCore::addItemToMap):
        (WebCore::removeItemFromMap):
        * html/HTMLDocument.h:

2009-07-13  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Darin Adler and Maciej Stachowiak.

        Implement HTML5 draggable
        https://bugs.webkit.org/show_bug.cgi?id=26262

        This adds support for the HTML5 draggable attribute and its DOM binding. It maps the draggable property
        to the CSS properties -webkit-user-drag and -webkit-user-select respectively.

        Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-draggable-attribute

        Test: fast/html/draggable.html

        * css/html.css:
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::draggable):
        * html/HTMLAnchorElement.h:
        * html/HTMLAttributeNames.in:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::draggable):
        (WebCore::HTMLElement::setDraggable):
        * html/HTMLElement.h:
        * html/HTMLElement.idl:
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::draggable):
        * html/HTMLImageElement.h:

2009-07-13  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Image rendered as layer contents looks different from image rendered via CG.
        <rdar://problem/7048830> 
        
        Fix a visible color profile difference between between images rendered via Core Graphics
        and those rendered via a compositing layer, by assigning the GenericRGB profile to
        untagged images (which come through as having the DeviceRGB profile) when they are set
        as layer contents.

        Test: compositing/color-matching/image-color-matching.html

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::setContentsToImage):

2009-07-13  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=27220
        Assertion failure in createSearcher() (usearch_open() status is U_USING_DEFAULT_WARNING)

        * editing/TextIterator.cpp:
        (WebCore::createSearcher): Add U_USING_DEFAULT_WARNING as a possible status code
        in the assertion. Affects only the assertion.

2009-07-13  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=26925
        <rdar://problem/7027850> URL Fragment Breaks Application Cache Loads

        Test: http/tests/appcache/main-resource-hash.html

        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::resourceForURL):
        (WebCore::ApplicationCache::resourceForRequest):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::cacheForMainRequest):
        (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
        (WebCore::ApplicationCacheGroup::selectCache):
        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
        (WebCore::ApplicationCacheGroup::didReceiveResponse):
        (WebCore::ApplicationCacheGroup::didFail):
        (WebCore::ApplicationCacheGroup::addEntry):
        Remove URL fragment at appcache code borders.

        * loader/appcache/ApplicationCacheResource.h:
        (WebCore::ApplicationCacheResource::create):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
        (WebCore::ApplicationCacheStorage::cacheGroupForURL):
        (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
        Assert that there is no URL fragment in URL at key points in appcache code.

2009-07-13  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=27166
        rdar://problem/7015857
        Find for strings composed entirely of spaces doesn't work

        Test: fast/text/find-spaces.html

        * editing/TextIterator.cpp:
        (WebCore::findPlainText): Removed unneeded special case.
        The empty string case already works correctly.

2009-07-13  Anders Carlsson  <andersca@apple.com>

        Reviewed by Kevin Decker.

        Remove NPPVpluginPrivateModeBool, it was removed from the spec.
        
        * bridge/npapi.h:

2009-07-13  Feng Qian  <feng@chromium.org>

        Reviewed by Dimitri Glazkov.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=27237

        Make V8DOMMap.h compiling with gcc option -Werror=non=virtual-dtor.  

        * bindings/v8/V8DOMMap.h:
        (WebCore::WeakReferenceMap::WeakReferenceMap):
        (WebCore::WeakReferenceMap::~WeakReferenceMap):

2009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Fisher.

        Remove an accidental add of bidi.(cpp|h) to WebCore.gypi.

        * WebCore.gypi: Removed bidi.cpp and bidi.h

2009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Fisher.

        Update WebCore.gyp in preparation to hooking it up.

        * WebCore.gypi: Added files that were mid-stream while switching over.

2009-07-13  Dmitry Titov  <dimich@chromium.org>

        Not reviewed, another small fix for Chromium build.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::evaluate):

2009-07-13  Dmitry Titov  <dimich@chromium.org>

        Not reviewed, fix Chromium build bustage.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::evaluate):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::JavaScriptConsoleMessage::addToPage):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::handleConsoleMessage):

2009-07-13  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=27234
        <rdar://problem/7054356>

        Add null page check in HTMLDocument::hasFocus.

        Test: fast/dom/HTMLDocument/hasFocus-frameless-crash.html

        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::hasFocus): Add page null check.
        (WebCore::HTMLDocument::createTokenizer): Cleanup page null check.

2009-07-13  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        Disable continuous spell checking in the inspector
        https://bugs.webkit.org/show_bug.cgi?id=27131

        * inspector/front-end/inspector.html: Added spellcheck="false" to the
            main-panels and console-prompt containers.

2009-07-13  Adam Langley  <agl@google.com>

        Reviewed by Eric Seidel.

        Chromium Linux: fix assertion when rendering google.com.kh

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

        Some shapers (i.e. Khmer) will produce cluster logs which report that
        /no/ code points contributed to certain glyphs. Because of this, we
        take any code point which contributed to the glyph in question, or any
        subsequent glyph.  If we run off the end, then we take the last code
        point.

        Added LayoutTests/fast/text/international/khmar-selection.html

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::Font::offsetForPositionForComplexText):

2009-07-13  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        spellcheck="false" is ignored
        <rdar://problem/7054177>

        * editing/Editor.cpp:
        (WebCore::markMisspellingsOrBadGrammar): Moved code to check the
            spellcheck attribute from here...
        (WebCore::Editor::spellCheckingEnabledInFocusedNode): ...to here.
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Bail out
            if spell chcking is disabled by the spellcheck attribute.
        * editing/Editor.h:

2009-07-13  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        Add new configuration flag for redistributable Windows build.
        https://bugs.webkit.org/show_bug.cgi=27087
        
        * WebCore.vcproj/WebCore.vcproj: Add new WinCairo.vsprops to
          Debug_Cairo and Release_Cairo builds.
        * config.h: Check for presence of WIN_CAIRO and select appropriate
          configuration.  Defaults to standard Apple build.

2009-07-13  Peter Kasting  <pkasting@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=19562
        Back out previous patch for this bug (too many problems).

        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/HTMLButtonElement.idl:
        * html/HTMLFieldSetElement.idl:
        * html/HTMLFormControlElement.cpp:
        * html/HTMLFormControlElement.h:
        (WebCore::HTMLFormControlElement::form):
        * html/HTMLInputElement.idl:
        * html/HTMLSelectElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/ValidityState.cpp: Removed.
        * html/ValidityState.h: Removed.
        * html/ValidityState.idl: Removed.

2009-07-13  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add HTMLAllCollection to WebCore.gypi.

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

        * WebCore.gypi: Add HTMLAllCollection.

2009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Fisher.

        [V8] Add a missing check for constructor call in WebKitCSSMatrixConstructor.
        https://bugs.webkit.org/show_bug.cgi?id=27218

        Test: fast/css/matrix-as-function-crash.html

        * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL): Added a check for constructor call.

2009-07-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Unreviewed make dist build fix.

        * GNUmakefile.am:

2009-07-13  Cédric Luthi  <cedric.luthi@gmail.com>

        Reviewed by Tor Arne Vestbø.

        Fix NPWindow clip rect in PluginViewMac

        The rect should be in window-coordinates. This bug can be observed
        with Flash 10 here: http://www.permadi.com/tutorial/cursorTracker/

        * plugins/mac/PluginViewMac.cpp:

2009-07-13  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Ariya Hidayat.

        Fix Qt implementation of WebCore::directoryName to return the absolute
        directory name instead of the base file name.

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

2009-07-13  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Ariya Hidayat.

        Fix WebCore::Path::isEmpty() for the Qt port to return true
        if there is no element in the path.

        QPainterPath::isEmpty() returns also true if there is one single
        MoveTo element inside, which makes sense but doesn't patch Webcore's
        is-empty definition.

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::isEmpty): Use elementCount() == 0.

2009-07-13  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Dimitri Glazkov.

        Upstream fixes to NPV8Object.cpp that make ~30 layout tests pass.
        https://bugs.webkit.org/show_bug.cgi?id=27127

        There were a number of bugs introduced during the last upstreaming
        effort that broke around 30 layout tests.  This fixes those bugs.
        It also has compile fixes to match the recent cutting apart of
        V8Proxy.

        * bindings/v8/NPV8Object.cpp:
        (freeV8NPObject):
        (npCreateV8ScriptObject):
        (NPN_Invoke):
        (NPN_InvokeDefault):
        (NPN_EvaluateHelper):
        (NPN_SetException):
        (NPN_Construct):

2009-07-13  Mads Ager  <ager@chromium.org>

        Reviewed by Adam Barth.

        Fix memory leak in the V8 binding layer. 
        https://bugs.webkit.org/show_bug.cgi?id=27163

        Reinitializing the context is not necessary when clearing the proxy for navigation
        and it will lead us to hold on to an empty context for each frame.

        Test for empty context instead of empty global object handle when
        updating the document for a context.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::clearForNavigation):
        (WebCore::V8Proxy::updateDocument):

2009-07-13  John Gregg  <johnnyg@google.com>

        Reviewed by David Levin.

        Correct the logic to determine if a V8 callback returns a value.
        https://bugs.webkit.org/show_bug.cgi?id=27155

        * bindings/v8/custom/V8CustomVoidCallback.cpp:
        (WebCore::invokeCallback):
        - Don't crash if result.IsEmpty().

2009-07-13  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
        https://bugs.webkit.org/show_bug.cgi?id=26932

        Initial IDL definition and bindings for SharedWorkers.

        * Configurations/FeatureDefines.xcconfig:
        Added new files for SharedWorker support.
        * DerivedSources.make:
        Added new files for SharedWorker support.
        * GNUmakefile.am:
        Added new files for SharedWorker support.
        * WebCore.gypi:
        Added new files for SharedWorker support.
        * WebCore.pro:
        Added new files for SharedWorker support.
        * WebCore.xcodeproj/project.pbxproj:
        Added new files for SharedWorker support.
        * bindings/js/JSAbstractWorkerCustom.cpp: Added.
        (WebCore::JSAbstractWorker::mark):
        Custom mark handler that marks the event listeners.
        (WebCore::JSAbstractWorker::addEventListener):
        (WebCore::JSAbstractWorker::removeEventListener):
        (WebCore::JSAbstractWorker::toJS):
        Custom toJS handler which differentiates between various subclasses.
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::sharedWorker):
        SharedWorker constructor (only enabled when SHARED_WORKERS is
        enabled).
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        (WebCore::toEventTarget):
        Added support for converting to/from SharedWorkers.
        * bindings/js/JSSharedWorkerConstructor.cpp: Added.
        (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
        (WebCore::constructSharedWorker):
        (WebCore::JSSharedWorkerConstructor::getConstructData):
        * bindings/js/JSSharedWorkerConstructor.h: Added.
        (WebCore::JSSharedWorkerConstructor::classInfo):
        * bindings/js/JSSharedWorkerCustom.cpp: Added.
        (WebCore::JSSharedWorker::mark):
        Custom mark function that marks the internal MessagePort.
        * bindings/v8/DOMObjectsInclude.h:
        Updated to include new header files.
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:
        * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Added.
        (WebCore::getEventListener):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        V8 handlers for add/removeEventListener().
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8SharedWorkerCustom.cpp: Added.
        (WebCore::CALLBACK_FUNC_DECL):
        Custom constructor for SharedWorker.
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::toSharedWorker):
        * dom/EventTarget.h:
        * page/DOMWindow.idl:
        * workers/AbstractWorker.cpp: Added.
        (WebCore::AbstractWorker::AbstractWorker):
        Common base class for SharedWorker and (soon) Worker. The functions below were copied from Worker.cpp.
        This is the first step in refactoring Worker to derive from AbstractWorker to enable code sharing.
        (WebCore::AbstractWorker::~AbstractWorker):
        (WebCore::AbstractWorker::addEventListener):
        (WebCore::AbstractWorker::removeEventListener):
        (WebCore::AbstractWorker::dispatchEvent):
        (WebCore::AbstractWorker::dispatchLoadErrorEvent):
        (WebCore::AbstractWorker::dispatchScriptErrorEvent):
        * workers/AbstractWorker.h: Added.
        Definitions of functionality shared by Worker.h and SharedWorker.h. In a future patch, Worker will derive from AbstractWorker.
        (WebCore::AbstractWorker::scriptExecutionContext):
        (WebCore::AbstractWorker::setOnerror):
        (WebCore::AbstractWorker::onerror):
        (WebCore::AbstractWorker::eventListeners):
        (WebCore::AbstractWorker::refEventTarget):
        (WebCore::AbstractWorker::derefEventTarget):
        * workers/AbstractWorker.idl: Added.
        * workers/SharedWorker.cpp: Added.
        (WebCore::SharedWorker::SharedWorker):
        (WebCore::SharedWorker::~SharedWorker):
        * workers/SharedWorker.h: Added.
        (WebCore::SharedWorker::create):
        (WebCore::SharedWorker::port):
        (WebCore::SharedWorker::toSharedWorker):
        * workers/SharedWorker.idl: Added.

2009-07-13  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Cleanup - Remove prf install target
        https://bugs.webkit.org/show_bug.cgi?id=27191

        qtwebkit.prf has been removed; this cleans up the related
        install target as well.

        * WebCore.pro: Remove prf install target

2009-07-12  Adam Barth  <abarth@webkit.org>

        Reviewed by Oliver Hunt.

        Facebook Chat is broken due to XSS auditor
        https://bugs.webkit.org/show_bug.cgi?id=27179

        Instead of just using the script's URL as to detect an XSS attack, we
        now use a bit of context before the URL.  In particular, we use the
        bytes from the beginning of the attribute name to the end of the
        attribute value.  In virtually all injection attacks, the attacker
        would need to supply the attribute name as well as the attribute value.
        However, in the Facebook false positive, the attribute name is not
        present in the URL.

        Tests: http/tests/security/xssAuditor/script-tag-src-redirect-safe.html
               http/tests/security/xssAuditor/script-tag-with-source-double-quote.html
               http/tests/security/xssAuditor/script-tag-with-source-no-quote.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseTag):
        * html/HTMLTokenizer.h:
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
        * page/XSSAuditor.h:

2009-07-12  Keishi Hattori  <casey.hattori@gmail.com>

        Reviewed by Timothy Hatcher.

        Refactor ConsoleMessage to add MessageType attribute.
        https://bugs.webkit.org/show_bug.cgi?id=20625

        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::printErrorMessage):
        * dom/Document.cpp:
        (WebCore::Document::reportException):
        (WebCore::Document::addMessage):
        * dom/Document.h:
        * dom/ScriptExecutionContext.h:
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::reportErrorToConsole):
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        (WebCore::ConsoleMessage::addToConsole):
        (WebCore::ConsoleMessage::isEqual):
        * inspector/ConsoleMessage.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addMessageToConsole):
        (WebCore::InspectorController::startGroup):
        (WebCore::InspectorController::endGroup):
        (WebCore::InspectorController::addProfileFinishedMessageToConsole):
        (WebCore::InspectorController::addStartProfilingMessageToConsole):
        (WebCore::InspectorController::count):
        * inspector/InspectorController.h:
        * inspector/front-end/Console.js:
        (WebInspector.Console.prototype.addMessage):
        (WebInspector.ConsoleMessage): Added type property.
        (WebInspector.ConsoleMessage.prototype.toMessageElement):
        (WebInspector.ConsoleMessage.prototype.toString):
        (WebInspector.ConsoleMessage.prototype.isEqual):
        (WebInspector.ConsoleCommandResult):
        (WebInspector.ConsoleGroup.prototype.addMessage):
        (WebInspector.ConsoleGroup.prototype._titleClicked):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype._addTip):
        (WebInspector.Resource.prototype._checkWarning):
        * inspector/front-end/inspector.css: Changed ".console-group-title-level" to ".console-group-title"
        * inspector/front-end/inspector.js:
        (WebInspector.addMessageToConsole):
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::printAccessDeniedMessage):
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::addMessageToConsole):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::reportLocalLoadFailed):
        (WebCore::FrameLoader::shouldAllowNavigation):
        * page/ChromeClient.h:
        * page/Console.cpp:
        (WebCore::printMessageSourceAndLevelPrefix):
        (WebCore::Console::addMessage):
        (WebCore::Console::error):
        (WebCore::Console::log):
        (WebCore::Console::dir):
        (WebCore::Console::trace):
        (WebCore::Console::assertCondition):
        (WebCore::Console::timeEnd):
        (WebCore::Console::warn):
        * page/Console.h: Added MessageType enum.
        (WebCore::):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessageTimerFired):
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::canEvaluate):
        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
        (WebCore::XSSAuditor::canLoadObject):
        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::reportWarning):
        (WebCore::SVGDocumentExtensions::reportError):
        * wml/WMLErrorHandling.cpp:
        (WebCore::reportWMLError):
        * workers/GenericWorkerTask.h: Added GenericWorkerTask8 for the extra argument.
        (WebCore::GenericWorkerTask8::create):
        (WebCore::GenericWorkerTask8::GenericWorkerTask8):
        (WebCore::GenericWorkerTask8::performTask):
        (WebCore::createCallbackTask):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::addMessage):
        (WebCore::WorkerContext::importScripts):
        * workers/WorkerContext.h:
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::postConsoleMessageTask):
        (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
        * workers/WorkerMessagingProxy.h:
        * workers/WorkerObjectProxy.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::reportUnsafeUsage):
        (WebCore::XMLHttpRequest::didFinishLoading):
        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::parseErrorFunc):

2009-07-12  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Upstream UndetectableHTMLCollection.idl as HTMLAllCollection.idl.

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

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate):
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:
        * dom/HTMLAllCollection.idl: Added.

2009-07-12  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Maciej Stachowiak.

        Inspector: Duplicate Computation in Autocompletion
        https://bugs.webkit.org/show_bug.cgi?id=26778

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype._completionsReady):

2009-07-12  Dan Bernstein  <mitz@apple.com>

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=27196
        Rename bidi.cpp to RenderBlockLineLayout.cpp and remove bidi.h

        * GNUmakefile.am: Updated.
        * WebCore.gypi: Updated.
        * WebCore.pro: Updated.
        * WebCore.vcproj/WebCore.vcproj: Updated.
        * WebCore.xcodeproj/project.pbxproj: Updated.
        * WebCoreSources.bkl: Updated.
        * rendering/RenderBlock.h: Removed unnecessary forward declaration and
            updated comments.
        * rendering/RenderBlockLineLayout.cpp: Copied from WebCore/rendering/bidi.cpp.
            Removed unnecessary #include statements.
        (WebCore::BidiRun::BidiRun): Moved here from bidi.h.
        (WebCore::RenderBlock::layoutInlineChildren): Removed outdated comment.
        * rendering/bidi.cpp: Removed.
        * rendering/bidi.h: Removed.

2009-07-12  Dan Bernstein  <mitz@apple.com>

        - Windows build fix

        * platform/graphics/cg/PDFDocumentImage.cpp:
        (WebCore::PDFDocumentImage::dataChanged):

2009-07-12  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        - Image cleanup

        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::destroyDecodedData): Use the data() accessor
        instead of the m_data member.
        (WebCore::BitmapImage::dataChanged): Ditto.
        * platform/graphics/Image.h: Re-ordered #includes and class
        declarations. Removed the drawPatternCallback() declaration. Made member
        variables private.
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::drawPatternCallback): Changed this from a member function to a
        static function.
        * platform/graphics/cg/PDFDocumentImage.cpp:
        (WebCore::PDFDocumentImage::dataChanged): Use the data() accessor
        instead of the m_data member.
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged): Ditto.

2009-07-12  Daniel Bates  <dbates@intudata.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=27189
        
        Fixes insufficient check in XSSAuditor::canSetBaseElementURL that caused 
        XSSAuditor to incorrectly block HTML Base elements whose base path coincided 
        with the URL of the page.

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

        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::canSetBaseElementURL): Changed conditional to only call 
        XSSAuditor::findInRequest() if the host in the page URL disagrees with the host 
        in the base element URL.

2009-07-12  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Text searching with ICU should take the user's default locale into account
        https://bugs.webkit.org/show_bug.cgi?id=27184
        rdar://problem/6812121

        No simple way to test this since it's dependent on user locale.
        After this, the user's default locale is used only on Mac.

        * editing/TextIterator.cpp:
        (WebCore::createSearcher): Pass result of the currentSearchLocaleID
        function as the locale.

        * platform/text/TextBreakIteratorInternalICU.h: Added declaration of
        currentSearchLocaleID function.

        * platform/text/android/TextBreakIteratorInternalICU.cpp:
        (WebCore::currentSearchLocaleID): Added. Returns the empty string.
        * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
        (WebCore::currentSearchLocaleID): Ditto.
        * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp:
        (WebCore::currentSearchLocaleID): Ditto.

        * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
        (WebCore::textBreakLocalePreference): Added. Returns the value of
        the AppleTextBreakLocale preference.
        (WebCore::topLanguagePreference): Added. Returns the value of the
        first item in the AppleLanguages preference.
        (WebCore::canonicalLanguageIdentifier): Added. Cover for the
        CFLocaleCreateCanonicalLanguageIdentifierFromString function.
        (WebCore::getLocale): Added. Transfers the locale from a CFStringRef
        into a buffer.
        (WebCore::getSearchLocale): Added. Calls topLanguagePreference,
        canonicalLanguageIdentifier, and getLocale.
        (WebCore::currentSearchLocaleID): Added. Calls getSearchLocale once.
        (WebCore::getTextBreakLocale): Changed to call
        textBreakLocalePreference, topLanguagePreference,
        canonicalLanguageIdentifier, and getLocale.

        * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
        (WebCore::currentSearchLocaleID): Added. Returns the empty string.
        * platform/wx/TemporaryLinkStubs.cpp:
        (WebCore::currentSearchLocaleID): Ditto.

2009-07-12  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        https://bugs.webkit.org/show_bug.cgi?id=25415
        [GTK][ATK] Please implement support for get_text_at_offset

        Create a PangoLayout that properly represents the visual
        appearance of the text in the web page so that the line boundary
        modes of getText{At,Before,After}Offset work correctly.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (UTF16ToUTF8):
        (g_substr):
        (convertUniCharToUTF8):
        (getPangoLayoutForAtk):

2009-07-11  Oliver Hunt  <oliver@apple.com>

        Reviewed by Simon Fraser.

        Bug 27187 - Match Gecko behaviour for canvas path mutation APIs on an empty path
        <https://bugs.webkit.org/show_bug.cgi?id=27187>

        Simple API change, check for the empty path and add appropriate point if necessary.

        Test: fast/canvas/canvas-modify-emptyPath.html

        * Info.plist:
        * WebCore.xcodeproj/project.pbxproj:
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::lineTo):
        (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
        (WebCore::CanvasRenderingContext2D::bezierCurveTo):

2009-07-11  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Antti Koivisto.

        HTMLMediaElement.canPlayType "maybe" and "probably" reversed
        https://bugs.webkit.org/show_bug.cgi?id=27186

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivate::supportsType):
            Return "probably" if type has codecs parameter.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::supportsType):
            Ditto.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::supportsType):
            Ditto.

2009-07-11  Brady Eidson  <beidson@apple.com>

        Reviewed by Mark Rowe.

        A worker-thread inspired follow-up for:
        https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
        REGRESSION: XHR stream connection blocks iFrame loading and resource downloading

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::loadRequestAsynchronously): Don't perform the XHR compensation when the XHR
          is running on a worker thread. Accessing the global Cache data structures from a non-main thread is
          not currently supported.

2009-07-11  Simon Fraser  <simon.fraser@apple.com>

        Enable support for accelerated compositing and 3d transforms on Leopard.
        <https://bugs.webkit.org/show_bug.cgi?id=20166>
        <rdar://problem/6120614>

        Reviewed by Oliver Hunt.

        * Configurations/FeatureDefines.xcconfig:

2009-07-11  Simon Hausmann  <hausmann@webkit.org>

        Fix the Qt build after r45724.

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp):
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):

2009-07-10  Daniel Bates  <dbates@intudata.com>

        Reviewed by Adam Barth.

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

        Implements support for HTML entities, so XSSAuditor can protect against attacks
        encoded with HTML entities.

        Tests: http/tests/security/xssAuditor/inline-event-HTML-entities.html
               http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html
               http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html
               http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html
               http/tests/security/xssAuditor/javascript-link-HTML-entities.html
               http/tests/security/xssAuditor/link-onclick-entities.html
               http/tests/security/xssAuditor/script-tag-entities.html
               http/tests/security/xssAuditor/script-tag-with-source-entities.html

        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::canEvaluate):
        (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
        (WebCore::XSSAuditor::decodeURL): Modified to call WebCore::XSSAuditor::decodeHTMLEntities
        to decode HTML entities.
        (WebCore::XSSAuditor::decodeHTMLEntities): Added method to decode HTML entities.
        (WebCore::XSSAuditor::findInRequest):
        * page/XSSAuditor.h:

2009-07-10  David Kilzer  <ddkilzer@apple.com>

        Bug 27007: Build fixes when ICONDATABASE is disabled

        <https://bugs.webkit.org/show_bug.cgi?id=27007>

        Reviewed by Sam Weinig.

        * WebCore.xcodeproj/project.pbxproj: Added IconDatabaseNone.cpp
        to the project.
        * loader/icon/IconDatabase.cpp: Added
        #if ENABLE(ICONDATABASE)/#endif macro guard.
        * loader/icon/IconDatabase.h: Removed three public methods from
        #if ENABLE(ICONDATABASE)/#endif macro so that they may be
        stubbed out in IconDatabaseNone.cpp.
        * loader/icon/IconDatabaseNone.cpp: Added
        #if !ENABLE(ICONDATABASE)/#endif macro guard.
        (WebCore::IconDatabase::importIconURLForPageURL): Added.
        (WebCore::IconDatabase::importIconDataForIconURL): Added.
        (WebCore::IconDatabase::shouldStopThreadActivity): Added.

2009-07-10  Daniel Bates  <dbates@intudata.com>

        Reviewed by Adam Barth.

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

        Fixes issue where JavaScript URLs that contain null- and non-null control characters can
        bypass XSSAuditor.

        Tests: http/tests/security/xssAuditor/javascript-link-control-char.html
               http/tests/security/xssAuditor/javascript-link-null-char.html
               http/tests/security/xssAuditor/javascript-link.html

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluate): Separated out logic for JavaScript URLs from 
        inline scripts. For JavaScript URLs, calls XSSAuditor::canEvaluateJavaScriptURL.
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::evaluate): Made similar changes to evaluate() as in
        bindings/js/ScriptController.cpp.
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Separated out logic for JavaScript URLs
        into its own method.
        * page/XSSAuditor.h:

2009-07-10  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by David Kilzer.

        WebKit needs a style linting tool
        https://bugs.webkit.org/show_bug.cgi?id=25884

        Fix bunch of style issues by autofix of cpplint.
        This patch is created to demonstrate the autofix of cpplint.py.

        No new testcases because it's a style fix

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseMediaQuery):
        (WebCore::CSSParser::validUnit):
        (WebCore::CSSParser::parseValue):
        (WebCore::skipCommaInDashboardRegion):
        (WebCore::CSSParser::parseDashboardRegions):
        (WebCore::ShadowParseContext::commitValue):
        (WebCore::ShadowParseContext::commitLength):
        (WebCore::ShadowParseContext::commitColor):
        (WebCore::BorderImageParseContext::commitNumber):
        (WebCore::BorderImageParseContext::commitWidth):
        (WebCore::BorderImageParseContext::commitRule):
        (WebCore::BorderImageParseContext::commitBorderImage):
        (WebCore::CSSParser::lex):
        (WebCore::CSSParser::text):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/MediaList.cpp:
        (WebCore::MediaList::deleteMedium):
        * css/MediaQuery.h:
        * css/MediaQueryEvaluator.cpp:
        (WebCore::parseAspectRatio):
        * css/MediaQueryEvaluator.h:
        * css/MediaQueryExp.h:
        (WebCore::MediaQueryExp::operator==):
        * css/WebKitCSSMatrix.h:
        * dom/Comment.h:
        * dom/Document.cpp:
        (WebCore::Document::setFocusedNode):
        * dom/Document.h:
        (WebCore::Document::setHasDashboardRegions):
        * dom/DocumentFragment.cpp:
        (WebCore::DocumentFragment::nodeName):
        * dom/DocumentFragment.h:
        * dom/DynamicNodeList.h:
        * dom/EditingText.h:
        * dom/Element.cpp:
        (WebCore::Element::dispatchAttrAdditionEvent):
        * dom/NamedAttrMap.cpp:
        (WebCore::NamedNodeMap::item):
        * dom/Node.cpp:
        (WebCore::Node::nodeValue):
        (WebCore::Node::nodeIndex):
        * dom/NodeRareData.h:
        (WebCore::NodeListsNodeData::create):
        * dom/Notation.h:
        * dom/ProcessingInstruction.h:
        * dom/Range.cpp:
        (WebCore::Range::processContents):
        * dom/StyledElement.cpp:
        (WebCore::toHex):
        * dom/XMLTokenizerLibxml2.cpp:
        (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
        (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
        (WebCore::PendingCallbacks::):
        (WebCore::OffsetBuffer::readOutBytes):
        (WebCore::handleElementNamespaces):
        (WebCore::handleElementAttributes):
        (WebCore::attributesStartElementNsHandler):
        * dom/XMLTokenizerQt.cpp:
        (WebCore::attributesStartElementNsHandler):
        (WebCore::XMLTokenizer::parseStartElement):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyInlineStyle):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::removeNode):
        * editing/Editor.cpp:
        (WebCore::Editor::pasteAsPlainText):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::directionOfEnclosingBlock):
        * editing/SmartReplaceICU.cpp:
        (WebCore::addAllCodePoints):
        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::icon):
        (WebCore::HistoryItem::adoptVisitCounts):
        * html/CanvasStyle.cpp:
        (WebCore::CanvasStyle::applyFillColor):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::setActive):
        (WebCore::HTMLAnchorElement::isLiveLink):
        * html/HTMLAppletElement.h:
        * html/HTMLAudioElement.h:
        * html/HTMLBRElement.h:
        * html/HTMLBaseElement.h:
        * html/HTMLBaseFontElement.h:
        * html/HTMLDListElement.h:
        * html/HTMLDirectoryElement.h:
        * html/HTMLFieldSetElement.cpp:
        (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::reset):
        * html/HTMLHRElement.cpp:
        (WebCore::HTMLHRElement::parseMappedAttribute):
        * html/HTMLHeadElement.h:
        * html/HTMLHtmlElement.h:
        * html/HTMLImageElement.h:
        (WebCore::HTMLImageElement::setLoadManually):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::selection):
        * html/HTMLIsIndexElement.h:
        * html/HTMLMarqueeElement.cpp:
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::):
        * html/HTMLMenuElement.h:
        * html/HTMLMetaElement.h:
        * html/HTMLModElement.h:
        * html/HTMLOListElement.h:
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::childrenChanged):
        * html/HTMLParamElement.h:
        * html/HTMLQuoteElement.h:
        * html/HTMLStyleElement.h:
        * html/HTMLTableCaptionElement.h:
        * html/HTMLTableCellElement.h:
        * html/HTMLTableColElement.h:
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::deleteRow):
        * html/HTMLTitleElement.h:
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseNonHTMLText):
        (WebCore::HTMLTokenizer::parseEntity):
        (WebCore::HTMLTokenizer::parseTag):
        (WebCore::HTMLTokenizer::write):
        * html/HTMLUListElement.h:
        * html/HTMLVideoElement.h:
        * html/TimeRanges.h:
        (WebCore::TimeRanges::Range::Range):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::enableResourceTracking):
        (WebCore::InspectorController::disableResourceTracking):
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::newInspectorJSONObject):
        * page/Console.cpp:
        (WebCore::Console::addMessage):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::selectCursor):
        (WebCore::EventHandler::defaultKeyboardEventHandler):
        * page/Frame.cpp:
        (WebCore::Frame::jsDefaultStatusBarText):
        * page/android/DragControllerAndroid.cpp:
        (WebCore::DragController::dragOperation):
        * page/android/EventHandlerAndroid.cpp:
        (WebCore::EventHandler::tabsToAllControls):
        (WebCore::EventHandler::eventActivatedView):
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
        * page/gtk/DragControllerGtk.cpp:
        (WebCore::DragController::dragOperation):
        * page/qt/DragControllerQt.cpp:
        * page/win/DragControllerWin.cpp:
        (WebCore::DragController::isCopyKeyDown):
        * page/win/FrameWin.h:
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::mouseEventOffsetToThumb):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::setVerticalAlignLength):
        (WebCore::InheritedFlags::setUnicodeBidi):
        (WebCore::InheritedFlags::setCursor):
        * rendering/style/RenderStyleConstants.h:
        (WebCore::):
        * rendering/style/SVGRenderStyleDefs.h:
        * rendering/style/StyleInheritedData.h:
        (WebCore::StyleInheritedData::operator!=):
        * storage/DatabaseTask.h:
        * svg/GradientAttributes.h:
        * svg/LinearGradientAttributes.h:
        * svg/PatternAttributes.h:
        * svg/RadialGradientAttributes.h:
        * svg/SVGAnimatedPathData.h:
        * svg/SVGAnimatedPoints.h:
        * svg/SVGAnimationElement.h:
        * svg/SVGClipPathElement.h:
        * svg/SVGElementInstance.h:
        * svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::build):
        * svg/SVGFEBlendElement.h:
        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::build):
        * svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::build):
        * svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::build):
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::build):
        * svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::build):
        * svg/SVGFEDistantLightElement.h:
        * svg/SVGFEFloodElement.cpp:
        (WebCore::SVGFEFloodElement::build):
        * svg/SVGFEFloodElement.h:
        * svg/SVGFEFuncAElement.h:
        * svg/SVGFEFuncBElement.h:
        * svg/SVGFEFuncGElement.h:
        * svg/SVGFEFuncRElement.h:
        * svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::build):
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::build):
        * svg/SVGFEMergeElement.cpp:
        (WebCore::SVGFEMergeElement::build):
        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::build):
        * svg/SVGFEPointLightElement.h:
        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::build):
        * svg/SVGFESpotLightElement.h:
        * svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::build):
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::parseMappedAttribute):
        * svg/SVGList.h:
        * svg/SVGListTraits.h:
        (WebCore::):
        * svg/SVGMPathElement.h:
        * svg/SVGMetadataElement.h:
        * svg/SVGParserUtilities.cpp:
        (WebCore::SVGPathParser::parseSVG):
        (WebCore::SVGPathParser::calculateArc):
        * svg/SVGPathElement.h:
        * svg/SVGPathSegClosePath.h:
        * svg/SVGSVGElement.h:
        * svg/SVGSetElement.h:
        * svg/SVGSwitchElement.h:
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::parseMappedAttribute):
        * svg/SVGTextPathElement.h:
        * svg/SVGTitleElement.h:
        * svg/SVGTransformable.cpp:
        (WebCore::):
        * svg/SVGViewSpec.cpp:
        (WebCore::):
        * svg/animation/SMILTime.cpp:
        (WebCore::operator+):
        (WebCore::operator-):
        (WebCore::operator*):
        * svg/animation/SVGSMILElement.h:
        * svg/graphics/SVGResource.cpp:
        (WebCore::clientMap):
        * wml/WMLPostfieldElement.cpp:
        (WebCore::WMLPostfieldElement::value):
        * wml/WMLSetvarElement.cpp:
        (WebCore::WMLSetvarElement::value):
        * workers/WorkerRunLoop.cpp:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::dropProtection):
        * xml/XPathPath.h:

2009-07-10  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7049066>.
        Update SnowLeopard media controller layout.

        * css/mediaControlsQT.css:
            Update for new layout.
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::movieLoadType):
            Added to replace isStreaming.
        * html/HTMLMediaElement.h:
            Declare movieLoadType, remove isStreaming.

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlStatusDisplayElement::update):
            Use movieLoadType instead of isStreaming.
        (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
            MediaControlElement is the base class, not HTMLInputElement.
        (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
            Ditto.
        (WebCore::MediaControlRewindButtonElement::rendererIsNeeded):
            Don't display rewind button for live streams.
        (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded):
            MediaControlInputElement is the base class, not HTMLInputElement.
        * rendering/MediaControlElements.h:

        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::getMediaUIPartStateFlags):
            New, return wkDrawMediaUIPart flags.
        (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::paintMediaControlsBackground):
        (WebCore::RenderThemeMac::paintMediaCurrentTime):
        (WebCore::RenderThemeMac::paintMediaTimeRemaining):
            Use getMediaUIPartStateFlags.

2009-07-10  Michelangelo De Simone  <micdesim@gmail.com>

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=19562
        Added build stuff and stub for the ValidityState class, part of HTML5
        section Forms:
        http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate

        Test: fast/forms/ValidityState-001.html

        * DerivedSources.cpp: Fix aimed to include ValidityState files
        * DerivedSources.make: ditto
        * GNUmakefile.am: ditto
        * WebCore.gypi: ditto
        * WebCore.pro: ditto
        * WebCore.vcproj/WebCore.vcproj: ditto
        * WebCore.xcodeproj/project.pbxproj: ditto
        * WebCoreSources.bkl: ditto
        * html/HTMLButtonElement.idl: "validity" attribute
        * html/HTMLFieldSetElement.idl: ditto
        * html/HTMLFormControlElement.cpp: object getter
        (WebCore::HTMLFormControlElement::validity):
        * html/HTMLFormControlElement.h: ditto
        * html/HTMLInputElement.idl: "validity" attribute
        * html/HTMLSelectElement.idl: ditto
        * html/HTMLTextAreaElement.idl: ditto
        * html/ValidityState.cpp: Added.
        (WebCore::ValidityState::ValidityState):
        (WebCore::ValidityState::valid): validation flag
        * html/ValidityState.h: Added.
        (WebCore::ValidityState::create): creation routine
        (WebCore::ValidityState::control): ValidityState's parent getter
        (WebCore::ValidityState::valueMissing): validation flag
        (WebCore::ValidityState::typeMismatch): ditto
        (WebCore::ValidityState::patternMismatch): ditto
        (WebCore::ValidityState::tooLong): ditto
        (WebCore::ValidityState::rangeUnderflow): ditto
        (WebCore::ValidityState::rangeOverflow): ditto
        (WebCore::ValidityState::stepMismatch): ditto
        (WebCore::ValidityState::customError): ditto
        * html/ValidityState.idl: Added.

2009-07-10  Brady Eidson  <beidson@apple.com>

        Style cleanup over my last patch.

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

2009-07-10  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Geoffrey Garen.

        * inspector/JavaScriptCallFrame.cpp:
        (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
        * inspector/JavaScriptCallFrame.h: New helper method, used below.

        * inspector/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::detach): In the special case
        where we detach from a window currently executing JavaScript,
        manually tear down our representation of the JavaScript
        call stack, since we won't get any more callbacks from JavaScriptCore
        to automatically tear it down. It's too bad that WebCore is
        responsible for this kind of tracking -- in the future, it would
        be nice if more of the breakpoint handling was inside of JavaScriptCore.

2009-07-10  Brady Eidson  <beidson@apple.com>

        Reviewed by Antti Koivisto.

        https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
        REGRESSION: XHR stream connection blocks iFrame loading and resource downloading

        With this test we ended up going over the maximum-connections-per-host limit that CFNetwork expected.
        When that happened, the first request that was over the limit ended up in a bizarre state where it 
        wasn't fully serviced until after the long running XHR was complete.

        Loader and Loader::Host work together to try to not exceed the max-connection limit but non-cache
        resources - such as XHR - could still end up causing this limit to be exceeded.

        This fix adds a workaround specifically for XHR while we hash out a more thorough solution that will
        handle this at the resource handle level.

        * loader/loader.cpp:
        (WebCore::Loader::nonCacheRequestInFlight):
        (WebCore::Loader::nonCacheRequestComplete):
        (WebCore::Loader::Host::Host):
        (WebCore::Loader::Host::nonCacheRequestInFlight):
        (WebCore::Loader::Host::nonCacheRequestComplete):
        (WebCore::Loader::Host::servePendingRequests): Take nonCacheRequestsInFlight into account.
        * loader/loader.h:
        (WebCore::Loader::Host::processingResource): Take nonCacheRequestsInFlight into account.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::~XMLHttpRequest): 
        (WebCore::XMLHttpRequest::loadRequestAsynchronously): Bump the nonCacheRequestInFlight count.
        (WebCore::XMLHttpRequest::didFail): Decrement that count if the Loader was notified.
        (WebCore::XMLHttpRequest::didFinishLoading): Ditto.

2009-07-10  Antti Koivisto  <antti@apple.com>

        Try to unbreak non-Mac build.

        * page/ChromeClient.h:
        (WebCore::ChromeClient::formDidFocus):
        (WebCore::ChromeClient::formDidBlur):

2009-07-10  Beth Dakin  <bdakin@apple.com>

        Reviewed by Anders Carlsson.

        The rest of the fix for <rdar://problem/7038831> REGRESSION (TOT): 
        In Mail, a crash occurs at WebCore::Widget::afterMouseDown() after 
        clicking To Do's close box

        Make the Widget* in passMouseDownEventToWidget() a RefPtr.

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

2009-07-10  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        rename getDOMStructure calls w/o JSGlobalObject* to deprecatedGetDOMStructure
        https://bugs.webkit.org/show_bug.cgi?id=27157

        This is the first step to fixing
        https://bugs.webkit.org/show_bug.cgi?id=27088

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMBinding.h:
        (WebCore::deprecatedGetDOMStructure):
        (WebCore::createDOMObjectWrapper):
        (WebCore::createDOMNodeWrapper):
        * bindings/js/JSNamedNodesCollection.cpp:
        (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
        * bindings/js/JSRGBColor.cpp:
        (WebCore::JSRGBColor::JSRGBColor):
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::RuntimeArray):
        * bridge/runtime_method.cpp:
        (JSC::RuntimeMethod::RuntimeMethod):
        * bridge/runtime_object.cpp:
        (JSC::RuntimeObjectImp::RuntimeObjectImp):

2009-07-10  Greg Bolsinga  <bolsinga@apple.com>

        Reviewed by Antti Koivisto.

        Add delegate methods about focus and blur and state change
        https://bugs.webkit.org/show_bug.cgi?id=27153

        Call the appropriate new ChromeClient methods for focus and blur.

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::dispatchFocusEvent):
        (WebCore::HTMLFormControlElement::dispatchBlurEvent):
        * html/HTMLFormControlElement.h:
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::formDidFocus):
        (WebCore::EmptyChromeClient::formDidBlur):
        * page/ChromeClient.h:

2009-07-10  Steve Falkenburg  <sfalken@apple.com>

        <rdar://problem/7048741> REGRESSION: Error about missing SwMenuX.dll opening pages with Shockwave
        
        Use altered search path while loading plug-ins. This modifies the DLL search order
        to look in the directory containing the plug-in even if a call to SetDllDirectory
        was previously made. Use of SetDllDirectory removes the current directory from the search path,
        breaking the previous strategy for locating any dependent DLLs of the plug-in.
        
        Reviewed by Jon Honeycutt.

        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::load): Use LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH

2009-07-10  Adam Roben  <aroben@apple.com>

        Sort all our Xcode projects

        Accomplished using sort-Xcode-project-file.

        Requested by Dave Kilzer.

        * WebCore.xcodeproj/project.pbxproj:

2009-07-10  Adam Langley  <agl@google.com>

        Reviewed by Darin Fisher.

        Chromium Linux: use disabled images for disabled widgets.

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

        Previously, checkboxes and radio controls rendered the same even if disabled.
        The Chromium side of this change is r20224.

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
        (WebCore::RenderThemeChromiumSkia::paintRadio):

2009-07-10  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by John Sullivan.

        Fix crash when changing the zoom level in http://iphone.akamai.com/
        <rdar://problem/7029077>

        RenderLayerBacking's paintIntoLayer() method called updateLayerListsIfNeeded(),
        which could potentially destroy that compositing layer, causing a crash.
        Prevent this from happening by not doing a compositing update from paintIntoLayer().

        The existing updateLayerListsIfNeeded() was renamed to updateCompositingAndLayerListsIfNeeded(),
        and still does the compositing update. The new updateLayerListsIfNeeded() does not touch
        compositing layers, and is still called from paintIntoLayer().
        
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::hitTestLayer):
        (WebCore::RenderLayer::updateLayerListsIfNeeded):
        (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
        * rendering/RenderLayer.h:

2009-07-10  Drew Wilson  <atwilson@google.com>

        Reviewed by Darin Adler.

        Need to remove UsesManualToJSImplementation() in favor of CustomToJS.
        https://bugs.webkit.org/show_bug.cgi?id=27010

        Added support for CustomToJS IDL attribute to replace the hard-coded class list in UsesManualToJSImplementation().

        This is just a cleanup of existing functionality, so existing LayoutTests adequately cover this patch.

        * bindings/scripts/CodeGeneratorJS.pm:
        Removed UsesManualToJSImplementation(), added support for CustomToJS attribute.
        * css/CSSRule.idl:
        * css/CSSValue.idl:
        * css/StyleSheet.idl:
        * dom/Document.idl:
        * dom/Event.idl:
        * dom/Node.idl:
        * html/ImageData.idl:
        * svg/SVGElementInstance.idl:
        * svg/SVGPathSeg.idl:
        Added CustomToJS attribute to all the above IDL files.

2009-07-10  Dan Bernstein  <mitz@apple.com>

        - fix the build by reverting the ill-advised r45711

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

2009-07-09  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Tim Hatcher.

        Updated WebCore.base.exp to add some needed functions.

        * WebCore.base.exp:

2009-07-10  Dan Bernstein  <mitz@apple.com>

        - address a review comment from Simon Fraser which I forgot to include
          in the last check-in

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollToAnchor): Pass true to getRect() for
        maximum transform friendliness!

2009-07-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        - fix https://bugs.webkit.org/show_bug.cgi?id=27137
          <rdar://problem/7043124> REGRESSION (r44311): Reproducible crash due
          to infinite recursion into FrameLoader::gotoAnchor() ->
          FrameView::layout()

        Test: fast/loader/goto-anchor-infinite-layout.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::gotoAnchor): Moved the code to update layout,
        find the renderer to scroll to, and scroll from here to methods on
        FrameView, and replaced it with a call to
        FrameView::maintainScrollPositionAtAnchor().
        (WebCore::FrameLoader::completed): Call maintainScrollPositionAtAnchor()
        instead of setLockedToAnchor().

        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView): Removed initialization of
        m_lockedToAnchor.
        (WebCore::FrameView::reset): Reset m_maintainScrollPositionAnchor instead
        of m_lockedToAnchor.
        (WebCore::FrameView::layout): Removed the code related to scrolling to
        the anchor from here, because scrolling can trigger events which
        invalidate the layout, and as such, belongs with the post-layout tasks.
        (WebCore::FrameView::maintainScrollPositionAtAnchor): Added. When called
        with a node scrolls the view to the top of that node and maintains it
        scrolled to the top of the node during subsequent layouts, until
        this function is called with 0 or other things trigger scrolling.
        (WebCore::FrameView::scrollRectIntoViewRecursively): Reset
        m_maintainScrollPositionAnchor.
        (WebCore::FrameView::setScrollPosition): Ditto.
        (WebCore::FrameView::scrollToAnchor): Added. Scrolls to the top of
        m_maintainScrollPositionAnchor, if it is set.
        (WebCore::FrameView::performPostLayoutTasks): Call scrollToAnchor().
        (WebCore::FrameView::setWasScrolledByUser): Reset
        m_maintainScrollPositionAnchor.

        * page/FrameView.h: Removed lockedToAnchor(), setLockedToAnchor(),
        and m_lockedToAnchor. Added maintainScrollPositionAtAnchor() and
        m_maintainScrollPositionAnchor.

2009-07-04  Sriram Yadavalli  <sriram.yadavalli@nokia.com>

        Reviewed by Simon Hausmann.

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

        QtWebKit fails in loading www.nytimes.com in Windows/Linux

        QNetworkReplyHandler is ignoring content associated with 401 error.
        This causes the XHR response handling to fail.

        Simon: Added also ProxyAuthenticationRequiredError, to handle the same
        case when going through proxies, as suggested by Prasanth.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::finish):

2009-07-10  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Holger Freyther.

        Enable HTML 5 Messaging to fix message channel Qt DRT failures in
        fast/events.

        * WebCore.pro:

2009-07-09  Roland Steiner  <rolandsteiner@google.com>

        Reviewed by Maciej Stachowiak.

        added InlineBox::isLeaf()
        firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore.
        firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree.   
        Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox()
        Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes

        Currently, these methods are called on RootInlineBox objects only, so above changes should not have
        any observable effect (only the removal of the square performance behavior could apply, 
        but the conditions for that are probably of a rather theoretical nature).

        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::nextLeafChild):
        (WebCore::InlineBox::prevLeafChild):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::isLeaf):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::firstLeafChild):
        (WebCore::InlineFlowBox::lastLeafChild):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::firstChild):
        (WebCore::InlineFlowBox::lastChild):
        (WebCore::InlineFlowBox::isLeaf):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::closestLeafChildForXPos):

2009-07-09  Roland Steiner  <rolandsteiner@google.com>

        Reviewed by Maciej Stachowiak.

        Added InlineBox::baselinePosition() and lineHeight() methods
        (adapted remaining code accordingly to use those methods)

        No change in functionality.

        * rendering/InlineBox.h:
        (WebCore::InlineBox::baselinePosition):
        (WebCore::InlineBox::lineHeight):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
        (WebCore::InlineFlowBox::placeBoxesVertically):

2009-07-09  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        Bug 27142 - canPlayType() should return empty string for unsupported content
        <https://bugs.webkit.org/show_bug.cgi?id=27142>

        Return "" instead of "no" for unsupport media types. 

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::canPlayType):

2009-07-09  Roland Steiner  <rolandsteiner@google.com>

        Reviewed by Maciej Stachowiak.

        Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags
        in that their end tags are optional if followed by <rp>/<rt>.

        Also specify a new accessibility role "annotation" for <rp> and <rt>.

        Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing
        is not affected by whether ruby is rendered properly or not (in fact, it may 
        be more profound without ruby layouting, since the contents of <rp> are not hidden).

        Test: fast/ruby/parse-rp.html

        * accessibility/AccessibilityObject.h:
        (WebCore::):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::roleValue):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::endTagRequirement):
        (WebCore::HTMLElement::tagPriority):
        (WebCore::inlineTagList):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::rpCreateErrorCheck):
        (WebCore::HTMLParser::rtCreateErrorCheck):
        (WebCore::HTMLParser::getNode):
        * html/HTMLParser.h:
        * html/HTMLTagNames.in:

2009-07-09  Dmitry Titov  <dimich@chromium.org>

        Not reviewed, fix for previous commit.

        The change http://trac.webkit.org/changeset/45695 did not correctly
        enabled GTL and QT build flags. This caused layout tests failure.
        This is speculative fix for those failures.

        * GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag.
        * WebCore.pro: ditto.
        * page/DOMWindow.idl: touched to cause recompile.
        * workers/WorkerContext.idl: ditto.

2009-07-09  Drew Wilson  <atwilson@google.com>

        Reviewed by Alexey Proskuryakov.

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

        Turned on CHANNEL_MESSAGING by default because the MessageChannel API
        is now implemented for Web Workers and is reasonably stable.

        Tests: fast/events/message-channel-gc-2.html
               fast/events/message-channel-gc-3.html
               fast/events/message-channel-gc-4.html
               fast/events/message-channel-gc.html
               fast/events/message-channel-listener-circular-ownership.html
               fast/events/message-port-clone.html
               fast/events/message-port-constructor-for-deleted-document.html
               fast/events/message-port-deleted-document.html
               fast/events/message-port-deleted-frame.html
               fast/events/message-port-inactive-document.html
               fast/events/message-port-no-wrapper.html
               fast/events/message-port.html
               fast/workers/worker-cloneport.html
               fast/workers/worker-messageport-gc.html
               fast/workers/worker-messageport.html

        * Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING.
        * WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto.
        * WebCore/WebCore.vcproj/build-generated-files.sh: ditto.
        * WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers.
        * WebCore/workers/WorkerContext.idl: ditto.


2009-07-09  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

        Full page zoom breaks remaining and elapsed time display in the <video> controller.
        https://bugs.webkit.org/show_bug.cgi?id=27123

        We are changing the size of the time remaining and time elapsed field, to
        automatically hide them, when the controller is too short.

        Because we toggle the size between 0 and the previous value of the
        controller, we miss any width change that may occur during full page zoom,
        and we fail to restore a correct width.

        This change fixes that problem by using a cloned style on which we
        set the width to 0, and restoring the previous style when going back to
        the normal width.

        We take care about properly using the cloned style or the pseudo style,
        by overriding styleForElement().

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlElement::styleForElement):
        (WebCore::MediaControlElement::attach):
        (WebCore::MediaControlElement::updateStyle):
        (WebCore::MediaControlInputElement::styleForElement):
        (WebCore::MediaControlInputElement::attach):
        (WebCore::MediaControlInputElement::updateStyle):
        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
        (WebCore::MediaControlTimeDisplayElement::styleForElement):
        (WebCore::MediaControlTimeDisplayElement::setVisible):
        * rendering/MediaControlElements.h:
        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure
        we take in account the zoom level when deciding if we should hide the 
        ellapsed and remaining time.

2009-07-09  Michael Nordman  <michaeln@google.com>

        Reviewed by Darin Adler.

        Fix chromium build bustage due to Widget being a RefCounted class.
        https://bugs.webkit.org/show_bug.cgi?id=27139

        * platform/chromium/PopupMenuChromium.cpp:
        * platform/chromium/PopupMenuChromium.h:

2009-07-09  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 27130 - Need to implement ARIA role="toolbar"
        https://bugs.webkit.org/show_bug.cgi?id=27130

        Test: platform/mac/accessibility/aria-toolbar.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::RoleEntry::):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper roleDescription]):

2009-07-09  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Upstream WebCore.gypi, the project file for Chromium build.
        https://bugs.webkit.org/show_bug.cgi?id=27135

        * WebCore.gypi: Added.

2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>

        A more robust fix for <rdar://problem/6930280> Reproducible crash at
        USA Today photo gallery

        Reviewed by Steve Falkenburg.

        * plugins/win/PluginMessageThrottlerWin.cpp:
        (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
        Protect the PluginView from destruction before calling its window proc.

2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>

        <rdar://problem/6978804> WER #16: Repro Access Violation in
        WebCore::PluginView::bindingInstance (1310178023)

        Reviewed by Darin Adler.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::bindingInstance):
        Protect the PluginView from destruction before calling NPN_GetValue. If
        the renderer for the PluginView was destroyed during the call, and the
        PluginView's ref count is now 1, return null.

2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>

        Speculative fix for <rdar://problem/6991251> WER #13: Crash in
        WebKit!WebCore::PluginView::performRequest+203 (1311461169)

        Reviewed by Darin Adler.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::performRequest):
        Protect the PluginView from destruction before performing a load.
        Removed some trailing whitespace.

2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>

        Build fix.

        * inspector/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::setJavaScriptPaused):

2009-07-09  Beth Dakin and Jon Honeycutt <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        Make Widget RefCounted to fix or make fixable:

        <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs 
        at WebCore::Widget::afterMouseDown() after clicking To Do's close 
        box
        <rdar://problem/6978804> WER #16: Repro Access Violation in 
        WebCore::PluginView::bindingInstance (1310178023)
        -and-
        <rdar://problem/6991251> WER #13: Crash in WebKit!
        WebCore::PluginView::performRequest+203 (1311461169) 

        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::createPlugin):
        Changed to return PassRefPtr
        (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
        Ditto.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadSubframe):
        (WebCore::FrameLoader::loadPlugin):
        Make the widget variable a RefPtr. Use .get() when passing it to
        RenderPart::setWidget().
        (WebCore::FrameLoader::createJavaAppletWidget):
        Make the widget variable a RefPtr.

        * loader/FrameLoader.h:
        Changed the return type of createJavaAppletWidget().

        * loader/FrameLoaderClient.h:
        Change the return types of createPlugin() and 
        createJavaAppletWidget().

        * page/Frame.cpp:
        (WebCore::Frame::createView):
        No need to call .get() since setWidget() takes a RefPtr.

        * page/FrameView.cpp:
        (WebCore::FrameView::layoutIfNeededRecursive):
        children() now returns a HashSet of RefPtrs.

        * page/FrameView.h:
        Remove inheritance from RefCounted; we pick this up from ScrollView
        through Widget.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::addChild):
        addChild() now takes a PassRefPtr and m_children now keeps a 
        HashSet of RefPtrs.

        * platform/ScrollView.h:
        ScrollView constructor is now protected.
        (WebCore::ScrollView::children):
        m_children is now a HashSet of RefPtrs.

        * platform/Scrollbar.h:
        Remove inheritance from RefCounted; we pick this up from ScrollView
        through Widget.

        * platform/Widget.h:
        Inherit from RefCounted. Cleaned up some whitespace. Make m_widget 
        a RefPtr.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::create):
        Adopt the PluginView when returning it.

        * plugins/PluginView.h:
        Changed create() to return a PassRefPtr.

        * rendering/RenderApplet.cpp:
        Receive result in a RefPtr when calling createJavaAppletWidget().

        * rendering/RenderPart.cpp:
        (WebCore::RenderPart::setWidget): 
        setWidget() now takes a PassRefPtr. Also removed the manual ref of 
        FrameViews. This is handled by having m_widget be a RefPtr. Removed 
        deleteWidget().

        * rendering/RenderPart.h:
        Removed override of deleteWidget().

        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::destroy):
        (WebCore::RenderWidget::setWidget):
        (WebCore::RenderWidget::paint):
        (WebCore::RenderWidget::setOverlapTestResult):
        (WebCore::RenderWidget::updateWidgetPosition):
        Use .get().
        (WebCore::RenderWidget::clearWidget):
        Don't call deleteWidget(). It was removed. 

        * rendering/RenderWidget.h:
        Removed deleteWidget(). Made m_widget a RefPtr.
        (WebCore::RenderWidget::widget):
        Use .get().

2009-07-09  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 27129 - AX: possible assertion for a non-native image in accessibility
        https://bugs.webkit.org/show_bug.cgi?id=27129 

        It's possible for an image that is not really an image to assert, because its renderer
        is turned into a RenderImage.

        Test: accessibility/non-native-image-crash.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        (WebCore::RoleEntry::):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper roleDescription]):

2009-07-09  Simon Fraser  <simon.fraser@apple.com>

        Build fix for SnowLeopard.
        
        Avoid using the contentsTransform methods if not on Leopard, because
        we don't need to call them.

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

2009-07-09  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        Improve the appearance of text in compositing layers when -[CALayer geometryFlipped]
        is not available.
        <rdar://problem/6120614>

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::setContentsOrientation):
        (WebCore::GraphicsLayer::contentsOrientation):
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::GraphicsLayer):
        Add a m_contentsOrientation member and getter/setter to control whether
        the contents of this layer have a transform applied to them before display.

        * platform/graphics/mac/GraphicsLayerCA.h:
        New method to return the default contents orientation.

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::flipTransform):
        Convenience method to return a transform with a Y flip.

        (WebCore::GraphicsLayerCA::GraphicsLayerCA):
        (WebCore::GraphicsLayerCA::setSize):
        After the size changes we have to update the contentsTransform.

        (WebCore::GraphicsLayerCA::setGeometryOrientation):
        (WebCore::GraphicsLayerCA::geometryOrientation):
        If -setGeometryFlipped: is not available, use a children transform.
        
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
        Tiled layers have issues with flipped contentsTransform, so just use
        top-down drawing for them. Call updateContentsTransform() to set the
        new contents transform after swapping layers.
        
        (WebCore::GraphicsLayerCA::defaultContentsOrientation):
        Use bottom-up when -geometryFlipped is not available, otherwise top-down.
        
        (WebCore::GraphicsLayerCA::updateContentsTransform):
        Set the layer contents transform based on contentsOrientation().

        (WebCore::GraphicsLayerCA::setContentsLayer):
        We have to manually flip contents layers if we're not using -geometryFlipped.
        
        * platform/graphics/mac/WebLayer.h:
        * platform/graphics/mac/WebLayer.mm:
        Do early return if layerContents is nil. Flip the CTM if the layer has
        bottom-up coordinates, so that CG sees a CTM with no flip.
        Do the CGContextRestoreGState() after drawing the debug indicator.
        
        (-[WebLayer setNeedsDisplayInRect:]):
        * platform/graphics/mac/WebTiledLayer.mm:
        (-[WebTiledLayer setNeedsDisplayInRect:]):
        Need to map the dirty rect through the contentsTransform.

2009-07-09  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Geoff Garen.

        <rdar://problem/6921671> Visit counter shouldn't be incremented by redirects.

        Can't test this functionality with layout tests.

        * WebCore.base.exp:
        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::recordVisitAtTime):
        (WebCore::HistoryItem::visited):
        * history/HistoryItem.h:
        Only increase visit count if explicitly told to. Now, some visits change last access time,
        but do not increase visit count.

2009-07-09  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3

        Require QuickTime 7.6.3 or higher to enable the new media controller UI.

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

2009-07-09  Sam Weinig  <sam@webkit.org>

        Reviewed by Beth Dakin.

        Remove incorrect comment.

        * page/MouseEventWithHitTestResults.h:

2009-07-09  Mads Ager  <ager@chromium.org>

        Reviewed by Dimitri Glazkov.

        Update the V8 bindings codegenerator to use the RGBColor::create
        method to handle refcounts for RGBColor objects correctly.
        
       * bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects.

2009-07-09  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adele Peterson.

        Crash in RenderMedia::styleDidChange.
        <rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with 
        media element (RenderMedia::styleDidChange + 115)

        Speculative fix for crash in styleDidChange. Null check controller elements before tell
        them to update style.

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

2009-07-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        [V8] Move V8DOMWrapper to its own file
        https://bugs.webkit.org/show_bug.cgi?id=27121

        * bindings/v8/V8DOMWrapper.cpp: Added.
        (WebCore::GetToStringName):
        (WebCore::ConstructorToString):
        (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
        (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
        (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
        (WebCore::V8DOMWrapper::getTemplate):
        (WebCore::V8DOMWrapper::convertToV8Object):
        (WebCore::V8DOMWrapper::setHiddenWindowReference):
        (WebCore::V8DOMWrapper::domWrapperType):
        (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
        (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
        (WebCore::V8DOMWrapper::lookupDOMWrapper):
        (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
        (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
        (WebCore::V8DOMWrapper::instantiateV8Object):
        (WebCore::V8DOMWrapper::setDOMWrapper):
        (WebCore::V8DOMWrapper::maybeDOMWrapper):
        (WebCore::V8DOMWrapper::isDOMEventWrapper):
        (WebCore::V8DOMWrapper::isWrapperOfType):
        (WebCore::V8DOMWrapper::htmlElementType):
        (WebCore::V8DOMWrapper::svgElementType):
        (WebCore::V8DOMWrapper::convertEventToV8Object):
        (WebCore::):
        (WebCore::V8DOMWrapper::convertNodeToV8Object):
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
        (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
        (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
        (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
        (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
        (WebCore::V8DOMWrapper::convertWindowToV8Object):
        * bindings/v8/V8DOMWrapper.h: Added.
        (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
        (WebCore::V8DOMWrapper::wrapCPointer):
        (WebCore::V8DOMWrapper::extractCPointer):
        (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
        (WebCore::V8DOMWrapper::convertToV8Object):
        (WebCore::V8DOMWrapper::convertToNativeObject):
        (WebCore::V8DOMWrapper::convertToNativeEvent):
        (WebCore::V8DOMWrapper::extractCPointerImpl):
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/V8Proxy.cpp:
        * bindings/v8/V8Proxy.h:

2009-07-09  David Hyatt  <hyatt@apple.com>

        Reviewed by Adele Peterson.

        Crash in setFocusedFrame.
        <rdar://7032869> Crashing in setFocusedFrame on blogger.com.

        Speculative fix for crasher in setFocusedFrame.  Make sure to ref both frames and fire
        the events only after the local member has been updated.

        * page/FocusController.cpp:
        (WebCore::FocusController::setFocusedFrame):

2009-07-09  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adele Peterson.

        Possible crashes when mouse clicks not dispatched because range input destroyed while 
        thumb is being dragged (e.g. scrub to end of movie)
        <rdar://problem/7037494> 
        https://bugs.webkit.org/show_bug.cgi?id=27101

        Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to 
        get mouse events even when the mouse is moved outside of the node. This is done by putting
        EventHandler into a mode where it sends all mouse events to the node regardless of the
        actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the
        node is deleted while in this mode, the mouseUp is never sent and EventHandler continues
        to try to send events to the deleted node. This sometimes results in a crash, and sometimes
        in a page that doesn't respond to click events.

        Tests: fast/forms/search-delete-while-cancel-button-clicked.html
               fast/forms/slider-delete-while-dragging-thumb.html
               media/audio-delete-while-slider-thumb-clicked.html
               media/audio-delete-while-step-button-clicked.html

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlSeekButtonElement::detach):
            New, call setCapturingMouseEventsNode if capturing mouse events.
        * rendering/MediaControlElements.h:
            Declare detach().

        * rendering/RenderSlider.cpp:
        (WebCore::SliderThumbElement::detach):
            New, call setCapturingMouseEventsNode if capturing mouse events.

        * rendering/TextControlInnerElements.cpp:
        (WebCore::SearchFieldCancelButtonElement::detach):
            New, call setCapturingMouseEventsNode if capturing mouse events.
        * rendering/TextControlInnerElements.h:
            Declare detach().

2009-07-09  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Dimitri Glazkov.

        Enter the Frame's context before creating new objects in setContextDebugId.

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

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setContextDebugId):

2009-07-09  Simon Hausmann  <hausmann@webkit.org>

        Fix the Qt build.

        * WebCore.pro: Add new storage impl files to the build.

2009-07-08  Adam Barth  <abarth@webkit.org>

        Rubber stamped by Eric Seidel.

        [V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper
        https://bugs.webkit.org/show_bug.cgi?id=27107

        This patch is just renaming.  Code motion will occur next.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGesture):
        (WebCore::createScriptObject):
        (WebCore::ScriptController::createScriptObjectForPluginElement):
        * bindings/v8/ScriptObject.cpp:
        (WebCore::ScriptGlobalObject::set):
        * bindings/v8/ScriptObjectQuarantine.cpp:
        (WebCore::getQuarantinedScriptObject):
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::handleEvent):
        (WebCore::V8AbstractEventListener::getReceiverObject):
        * bindings/v8/V8Collection.cpp:
        (WebCore::toOptionsCollectionSetter):
        * bindings/v8/V8Collection.h:
        (WebCore::getV8Object):
        (WebCore::getNamedPropertyOfCollection):
        (WebCore::nodeCollectionNamedPropertyGetter):
        (WebCore::getIndexedPropertyOfCollection):
        (WebCore::nodeCollectionIndexedPropertyGetter):
        (WebCore::nodeCollectionIndexedPropertyEnumerator):
        (WebCore::collectionIndexedPropertyEnumerator):
        (WebCore::collectionStringOrNullIndexedPropertyGetter):
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::DOMData::handleWeakObject):
        (WebCore::DOMData::removeObjectsFromWrapperMap):
        * bindings/v8/V8GCController.cpp:
        (WebCore::enumerateDOMObjectMap):
        (WebCore::DOMObjectVisitor::visitDOMWrapper):
        (WebCore::GCPrologueVisitor::visitDOMWrapper):
        (WebCore::GCEpilogueVisitor::visitDOMWrapper):
        * bindings/v8/V8Helpers.cpp:
        (WebCore::wrapNPObject):
        * bindings/v8/V8NodeFilterCondition.cpp:
        (WebCore::V8NodeFilterCondition::acceptNode):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
        (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
        (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
        (WebCore::V8Proxy::evaluateInNewContext):
        (WebCore::V8Proxy::getConstructor):
        (WebCore::V8DOMWrapper::getTemplate):
        (WebCore::V8Proxy::retrieveWindow):
        (WebCore::V8Proxy::updateDocumentWrapperCache):
        (WebCore::V8Proxy::clearForNavigation):
        (WebCore::V8Proxy::installDOMWindow):
        (WebCore::setDOMExceptionHelper):
        (WebCore::V8DOMWrapper::convertToV8Object):
        (WebCore::V8DOMWrapper::setHiddenWindowReference):
        (WebCore::V8DOMWrapper::domWrapperType):
        (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
        (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
        (WebCore::V8DOMWrapper::lookupDOMWrapper):
        (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
        (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
        (WebCore::V8DOMWrapper::instantiateV8Object):
        (WebCore::V8DOMWrapper::setDOMWrapper):
        (WebCore::V8DOMWrapper::maybeDOMWrapper):
        (WebCore::V8DOMWrapper::isDOMEventWrapper):
        (WebCore::V8DOMWrapper::isWrapperOfType):
        (WebCore::V8DOMWrapper::htmlElementType):
        (WebCore::V8DOMWrapper::svgElementType):
        (WebCore::V8DOMWrapper::convertEventToV8Object):
        (WebCore::V8DOMWrapper::convertNodeToV8Object):
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
        (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
        (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
        (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
        (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
        (WebCore::V8DOMWrapper::convertWindowToV8Object):
        (WebCore::V8Proxy::bindJsObjectToWindow):
        * bindings/v8/V8Proxy.h:
        (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
        (WebCore::V8DOMWrapper::wrapCPointer):
        (WebCore::V8DOMWrapper::extractCPointer):
        (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
        (WebCore::V8DOMWrapper::convertToV8Object):
        (WebCore::V8DOMWrapper::convertToNativeObject):
        (WebCore::V8DOMWrapper::convertToNativeEvent):
        (WebCore::V8DOMWrapper::extractCPointerImpl):
        (WebCore::V8DOMWrapper::instantiateV8Object):
        (WebCore::V8Proxy::constructDOMObject):
        (WebCore::toV8):
        * bindings/v8/V8SVGPODTypeWrapper.h:
        (WebCore::V8SVGPODTypeUtil::toSVGPODType):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::retrieve):
        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
        (WebCore::WorkerContextExecutionProxy::GetConstructor):
        (WebCore::WorkerContextExecutionProxy::ToV8Object):
        (WebCore::WorkerContextExecutionProxy::EventToV8Object):
        (WebCore::WorkerContextExecutionProxy::toV8):
        * bindings/v8/custom/V8AttrCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_SETTER):
        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::INDEXED_PROPERTY_SETTER):
        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
        (WebCore::toV8):
        (WebCore::toCanvasStyle):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8ClientRectListCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        * bindings/v8/custom/V8ClipboardCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8CustomBinding.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::INDEXED_ACCESS_CHECK):
        (WebCore::NAMED_ACCESS_CHECK):
        (WebCore::V8Custom::GetTargetFrame):
        * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
        (WebCore::V8CustomSQLStatementCallback::handleEvent):
        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
        (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
        * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
        (WebCore::V8CustomSQLTransactionCallback::handleEvent):
        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
        (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8Custom::WindowSetTimeoutImpl):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::V8Custom::ClearTimeoutImpl):
        (WebCore::NAMED_ACCESS_CHECK):
        (WebCore::INDEXED_ACCESS_CHECK):
        * bindings/v8/custom/V8DatabaseCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8ElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::ACCESSOR_GETTER):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        (WebCore::ACCESSOR_GETTER):
        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        (WebCore::getItem):
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_GETTER):
        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::INDEXED_PROPERTY_SETTER):
        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_SETTER):
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::INDEXED_PROPERTY_SETTER):
        * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::INDEXED_PROPERTY_SETTER):
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::removeElement):
        * bindings/v8/custom/V8InspectorControllerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::INDEXED_ACCESS_CHECK):
        (WebCore::NAMED_ACCESS_CHECK):
        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8NavigatorCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
        (WebCore::toV8):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8NodeListCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8SVGLengthCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8StorageCustom.cpp:
        (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
        (WebCore::storageGetter):
        (WebCore::storageSetter):
        (WebCore::storageDeleter):
        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
        (WebCore::toV8):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::SetTimeoutOrInterval):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):

2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

        Make sure we can click outside the slider thumb and start dragging.
        https://bugs.webkit.org/show_bug.cgi?id=26229

        Previously we were assuming that if the thumb hasn't been clicked, we
        wouldn't issue any value change upon dragging.

        We need to handle the two different cases:
        - Clicked in the thumb, we need to make sure the cursor is always pointing
        the same slider thumb point.
        - Clicked outside, the cursor should always be pointing to the center of
        the thumb.

        For simplicity, we don't remember the original point of the mouse down,
        but a vector between that point and the thumb.

        * rendering/RenderSlider.cpp:
        (WebCore::SliderThumbElement::SliderThumbElement):
        (WebCore::SliderThumbElement::defaultEventHandler):
        (WebCore::RenderSlider::mouseEventVectorToThumb): Utility function.
        * rendering/RenderSlider.h:

2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

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

        Don't display "loading" in the <video> controller when
        there is no src specified.

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlStatusDisplayElement::update): The only
        way to find out if we have an element is currentSrc(). networkState()
        will always report LOADING according to the spec.

2009-07-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        [V8] Move V8GCController functions to their own file
        https://bugs.webkit.org/show_bug.cgi?id=27102

        * bindings/v8/V8GCController.cpp: Added.
        * bindings/v8/V8GCController.h: Added.
        * bindings/v8/V8Proxy.cpp:
        * bindings/v8/V8Proxy.h:

2009-07-08  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        Split StorageArea and StorageNamespace into an interface and implementation.
        https://bugs.webkit.org/show_bug.cgi?id=27072

        I need to split StorageNamespace and StorageArea into an interface and
        implementation.  In a later patch, I'll implement a proxy interface
        that'll run inside the Chromium renderer process.

        Additionally, fix the alphabetical ordering of files I recently added
        in the project files.

        This is a continuation of other refactoring work:
        https://bugs.webkit.org/show_bug.cgi?id=25376

        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * storage/StorageArea.cpp:
        (WebCore::StorageArea::create):
        * storage/StorageArea.h:
        (WebCore::StorageArea::~StorageArea):
        * storage/StorageAreaImpl.cpp: Copied from WebCore/storage/StorageArea.cpp.
        (WebCore::StorageAreaImpl::create):
        (WebCore::StorageAreaImpl::~StorageAreaImpl):
        (WebCore::StorageAreaImpl::StorageAreaImpl):
        (WebCore::StorageAreaImpl::copy):
        (WebCore::StorageAreaImpl::length):
        (WebCore::StorageAreaImpl::key):
        (WebCore::StorageAreaImpl::getItem):
        (WebCore::StorageAreaImpl::setItem):
        (WebCore::StorageAreaImpl::removeItem):
        (WebCore::StorageAreaImpl::clear):
        (WebCore::StorageAreaImpl::contains):
        (WebCore::StorageAreaImpl::importItem):
        (WebCore::StorageAreaImpl::securityOrigin):
        (WebCore::StorageAreaImpl::close):
        (WebCore::StorageAreaImpl::blockUntilImportComplete):
        (WebCore::StorageAreaImpl::dispatchStorageEvent):
        * storage/StorageAreaImpl.h: Copied from WebCore/storage/StorageArea.h.
        * storage/StorageAreaSync.h:
        * storage/StorageNamespace.cpp:
        (WebCore::StorageNamespace::localStorageNamespace):
        (WebCore::StorageNamespace::sessionStorageNamespace):
        * storage/StorageNamespace.h:
        (WebCore::StorageNamespace::~StorageNamespace):
        * storage/StorageNamespaceImpl.cpp: Copied from WebCore/storage/StorageNamespace.cpp.
        (WebCore::StorageNamespaceImpl::localStorageNamespace):
        (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
        (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
        (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
        (WebCore::StorageNamespaceImpl::copy):
        (WebCore::StorageNamespaceImpl::storageArea):
        (WebCore::StorageNamespaceImpl::close):
        * storage/StorageNamespaceImpl.h: Copied from WebCore/storage/StorageNamespace.h.

2009-07-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        [V8] Move garbage collector related functions from V8Proxy to V8GCController
        https://bugs.webkit.org/show_bug.cgi?id=26967

        This patch just moves the functions around in V8Proxy.  We'll actually
        move them to a separate file in another patch.

        * bindings/v8/NPV8Object.cpp:
        (freeV8NPObject):
        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::~ScheduledAction):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::gcProtectJSWrapper):
        (WebCore::ScriptController::gcUnprotectJSWrapper):
        * bindings/v8/ScriptInstance.cpp:
        (WebCore::V8ScriptInstance::clear):
        (WebCore::V8ScriptInstance::set):
        * bindings/v8/ScriptValue.h:
        (WebCore::ScriptValue::ScriptValue):
        (WebCore::ScriptValue::operator=):
        (WebCore::ScriptValue::clear):
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::disposeListenerObject):
        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::~V8LazyEventListener):
        (WebCore::V8LazyEventListener::getListenerFunction):
        (WebCore::V8LazyEventListener::getWrappedListenerFunction):
        * bindings/v8/V8NodeFilterCondition.cpp:
        (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
        (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8GCController::registerGlobalHandle):
        (WebCore::V8GCController::unregisterGlobalHandle):
        (WebCore::V8GCController::gcProtect):
        (WebCore::V8GCController::gcUnprotect):
        (WebCore::V8Proxy::destroyGlobal):
        (WebCore::V8Proxy::updateDocumentWrapper):
        (WebCore::V8Proxy::clearDocumentWrapper):
        (WebCore::V8Proxy::disposeContextHandles):
        (WebCore::V8Proxy::initContextIfNeeded):
        * bindings/v8/V8Proxy.h:
        (WebCore::):
        (WebCore::GlobalHandleInfo::GlobalHandleInfo):
        * bindings/v8/custom/V8CustomEventListener.cpp:
        (WebCore::V8EventListener::V8EventListener):

2009-07-08  Daniel Bates  <dbates@intudata.com>

        Reviewed by Adam Barth.
        
        https://bugs.webkit.org/show_bug.cgi?id=26918
        
        Prevents injection of HTML Base tag.

        Tests: http/tests/security/xssAuditor/base-href-control-char.html
               http/tests/security/xssAuditor/base-href-null-char.html
               http/tests/security/xssAuditor/base-href-safe.html
               http/tests/security/xssAuditor/base-href-safe2.html
               http/tests/security/xssAuditor/base-href-scheme-relative.html
               http/tests/security/xssAuditor/base-href.html

        * html/HTMLBaseElement.cpp:
        (WebCore::HTMLBaseElement::parseMappedAttribute):
        (WebCore::HTMLBaseElement::process): Modified to call XSSAuditor::canSetBaseElementURL
        to determine if it is safe to use base element URL.
        * html/HTMLBaseElement.h: Added field m_hrefAttrValue to store unparsed base element URL.
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::canSetBaseElementURL):
        * page/XSSAuditor.h:

2009-07-08  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Upstream V8 npruntime bindings.

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

        * bindings/v8/npruntime.cpp: Upstreamed from src.chromium.org.
        (StringKey::operator==):
        (StringKey::StringKeyHash::hash):
        (StringKey::StringKeyHash::equal):
        (StringKeyHashTraits::constructDeletedValue):
        (StringKeyHashTraits::isDeletedValue):
        (getStringIdentifierMap):
        (getIntIdentifierMap):
        * bindings/v8/npruntime_impl.h: Upstreamed from src.chromium.org.
        * bindings/v8/npruntime_internal.h: Upstreamed from src.chromium.org.
        * bindings/v8/npruntime_priv.h: Upstreamed from src.chromium.org.

2009-07-08  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Darin Fisher.

        Extending the PlatformFileHandle definition from PLATFORM(WIN) to
        PLATFORM(WIN_OS)

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

        * platform/FileSystem.h:

2009-07-08  Daniel Bates  <dbates@intudata.com>

        Reviewed by Adam Barth.
        
        https://bugs.webkit.org/show_bug.cgi?id=27071
        
        Resolves issue when HTTP parameters contain null- and  non-null-control- characters.

        Tests: http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html
               http/tests/security/xssAuditor/embed-tag-control-char.html
               http/tests/security/xssAuditor/embed-tag-null-char.html
               http/tests/security/xssAuditor/embed-tag.html
               http/tests/security/xssAuditor/link-onclick-control-char.html
               http/tests/security/xssAuditor/link-onclick-null-char.html
               http/tests/security/xssAuditor/object-embed-tag-control-char.html
               http/tests/security/xssAuditor/object-embed-tag-null-char.html
               http/tests/security/xssAuditor/object-embed-tag.html
               http/tests/security/xssAuditor/object-tag.html
               http/tests/security/xssAuditor/script-tag-post-control-char.html
               http/tests/security/xssAuditor/script-tag-post-null-char.html
               http/tests/security/xssAuditor/script-tag-with-source-control-char.html
               http/tests/security/xssAuditor/script-tag-with-source-null-char.html

        * page/XSSAuditor.cpp:
        (WebCore::isNonNullControlCharacter): Called by XSSAuditor::decodeURL.
        (WebCore::XSSAuditor::canEvaluate):
        (WebCore::XSSAuditor::canCreateInlineEventListener):
        (WebCore::XSSAuditor::canLoadObject):
        (WebCore::XSSAuditor::decodeURL): Added parameters matchNullCharacters,
        and matchNonNullControlCharacters.
        (WebCore::XSSAuditor::findInRequest): Added parameters matchNullCharacters,
        and matchNonNullControlCharacters.
        * page/XSSAuditor.h:

2009-07-08  Marc-Antoine Ruel  <maruel@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add DerivesSourcesAllInOne.cpp to help with release windows compilation.
        https://bugs.webkit.org/show_bug.cgi?id=27093

        This is specific for v8, no change in behavior.

        * bindings/v8/DerivedSourcesAllInOne.cpp: Added.

2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

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

        Make sure the Media controller doesn't fade in for no reason.
        This is happening because a update() call to the controller
        panel may reset the opacity to 1.0, given that it reloads the
        style.

        We also add a different fade in and fade out time to soften
        the fade out effect.

        No test case because this depends on how the movie is loaded.

        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::RenderMedia):
        (WebCore::RenderMedia::updateControls):
        (WebCore::RenderMedia::updateControlVisibility): Simplify
        , and make sure we stop the timer if there is no animation
        to do.
        (WebCore::RenderMedia::opacityAnimationTimerFired): 
        * rendering/RenderMedia.h:

2009-07-08  David Kilzer  <ddkilzer@apple.com>

        Bug 27081: Wrap RunLoopTimerCF.cpp in PLATFORM(MAC) && HAVE(RUNLOOP_TIMER)

        <https://bugs.webkit.org/show_bug.cgi?id=27081>

        Reviewed by Timothy Hatcher.

        * platform/cf/RunLoopTimerCF.cpp: This code is only used on
        Mac OS X when HAVE(RUNLOOP_TIMER) is enabled, so wrap the code
        in that macro as well.

2009-07-08  Greg Bolsinga  <bolsinga@apple.com>

        Reviewed by Darin Adler.

        Add -[WebView _isProcessingUserGesture]
        https://bugs.webkit.org/show_bug.cgi?id=27084

        Rename FrameLoader::userGestureHint() to FrameLoader::isProcessingUserGesture()
        for clarity.

        * WebCore.base.exp: Add WebCore::FrameLoader::isProcessingUserGesture()
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::processingUserGesture):
        * loader/FrameLoader.cpp: 
        (WebCore::FrameLoader::requestFrame):
        (WebCore::FrameLoader::isProcessingUserGesture):
        * loader/FrameLoader.h:

2009-07-08  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed (an earlier version) by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=27090
        Remove lockBackForwardList argument from HTMLFormElement::submit()

        No change in behavior, so no tests.

        * bindings/js/JSHTMLFormElementCustom.cpp:
        (WebCore::JSHTMLFormElement::submit):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::submit):
        * html/HTMLFormElement.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::submitForm):
        (WebCore::FrameLoader::scheduleFormSubmission):
        * loader/FrameLoader.h:
        Don't pass lockBackForwardList around when it's known to be false.

2009-07-08  Marc-Antoine Ruel  <maruel@chromium.org>

        Reviewed by Adam Barth.

        Fix V8 idl codegen to use unique constant names
        <https://bugs.webkit.org/show_bug.cgi?id=27089>

        Embed the interface name in the global constant names so coagulating all
        the .cc files into one compile unit works with V8 bindings.

        Nothing added; Still compiles and pass tests.

        * bindings/scripts/CodeGeneratorV8.pm:

2009-07-08  Brent Fulgham  <bfulgham@webkit.org>

        Build fix: Add missing #includes for Windows (cURL) build.
        The <winsock2.h> and <windows.h> headers were not being
        included in Windows cURL builds.

        * platform/network/ResourceHandleInternal.h:
        * platform/network/curl/ResourceHandleManager.h:

2009-07-08  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by David Kilzer.

        WebKit needs a style linting tool
        https://bugs.webkit.org/show_bug.cgi?id=25884

        Fix bunch of style issues in WebCore/rendering.
        This patch is created to demonstrate cpplint.py.

        No testcase because it's just a style fixes.

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        (WebCore::AutoTableLayout::layout):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeEllipsisBox):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintTextMatchMarker):
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlTimelineElement::defaultEventHandler):
        * rendering/MediaControlElements.h:
        * rendering/RenderArena.cpp:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::startDelayUpdateScrollInfo):
        (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
        (WebCore::RenderBlock::updateScrollInfoAfterLayout):
        (WebCore::RenderBlock::positionNewFloats):
        (WebCore::RenderBlock::newLine):
        (WebCore::RenderBlock::floatBottom):
        (WebCore::RenderBlock::leftBottom):
        (WebCore::RenderBlock::rightBottom):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcReplacedWidthUsing):
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::layoutLegend):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::FlexBoxIterator::FlexBoxIterator):
        (WebCore::FlexBoxIterator::reset):
        (WebCore::FlexBoxIterator::first):
        (WebCore::FlexBoxIterator::next):
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        * rendering/RenderFrameSet.cpp:
        (WebCore::borderStartEdgeColor):
        * rendering/RenderFrameSet.h:
        * rendering/RenderImage.cpp:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateVisibilityStatus):
        (WebCore::RenderLayer::calculateClipRects):
        (WebCore::RenderLayer::calculateRects):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::panScroll):
        * rendering/RenderMarquee.cpp:
        (WebCore::RenderMarquee::updateMarqueeStyle):
        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::updateControls):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawLineForBoxSide):
        (WebCore::RenderObject::localCaretRect):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
        * rendering/RenderSlider.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::outerBorderBottom):
        * rendering/RenderTableCol.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::itemIsSeparator):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::supportsHover):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::supportsFocusRing):
        * rendering/SVGCharacterLayoutInfo.cpp:
        (WebCore::SVGCharacterLayoutInfo::addStackContent):
        * rendering/SVGCharacterLayoutInfo.h:
        * rendering/TextControlInnerElements.h:
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::computeHorizontalPositionsForLine):

2009-07-07  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        Reduce complexity of lifetime management in DynamicNodeList caches
        <https://bugs.webkit.org/show_bug.cgi?id=27068>

        Switch the Cache object used by DynamicNodeList into a normal
        refcounted object rather than having a weird flag controlled
        refcounting system, where positive refcount did not automatically
        imply the cache object would actually still be live.

        * dom/DynamicNodeList.cpp:
        (WebCore::DynamicNodeList::DynamicNodeList):
        (WebCore::DynamicNodeList::~DynamicNodeList):
        (WebCore::DynamicNodeList::Caches::Caches):
        (WebCore::DynamicNodeList::Caches::create):
        * dom/DynamicNodeList.h:
        * dom/Node.cpp:
        (WebCore::Node::childNodes):
        (WebCore::Node::getElementsByTagNameNS):
        (WebCore::Node::getElementsByName):
        (WebCore::Node::getElementsByClassName):
        (WebCore::NodeListsNodeData::invalidateCaches):
        (WebCore::NodeListsNodeData::isEmpty):
        * dom/NodeRareData.h:
        (WebCore::NodeListsNodeData::NodeListsNodeData):

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

        Reviewed by Dan Bernstein.
        
        -webkit-perspective should be a Length
        https://bugs.webkit.org/show_bug.cgi?id=27066
        
        -webkit-perspective should not take a magic valueless number, but should
        be a normal Length value which responds to zooming. Treat valueless numbers
        as pixels for backward compatibility.
        
        Test: transforms/3d/general/perspective-units.html

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

2009-07-07  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

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

        We need to make sure that when we reattach, we also reattach
        the children in every MediaControlElement. Else we may end up
        having no remaining or elapsed time.

        We have to handle that, because we are using a special shadow
        tree in the DOM, and that we are ourselves handling
        attaching/detaching the renderer.

        The strategy here is to try to implement ::attach(), and try
        to reuse as much code as we can from the super class, including
        children attachement.

        Test: media/controls-after-reload.html

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlElement::styleForElement): Code factoring.
        (WebCore::MediaControlElement::rendererIsNeeded): Code factoring.
        (WebCore::MediaControlElement::attach): Implement attach
        and call super class so that children are also attached.
        (WebCore::MediaControlElement::updateStyle): Use attach()
        (WebCore::MediaControlInputElement::styleForElement): Code factoring.
        (WebCore::MediaControlInputElement::rendererIsNeeded): Code factoring.
        (WebCore::MediaControlInputElement::attach): See above.
        (WebCore::MediaControlInputElement::updateStyle): Use attach()
        * rendering/MediaControlElements.h:
        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::updateControls): Directly run attach() on
        the m_panel, which is a root node for our shadow tree.

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

        Reviewed by Dan Bernstein.

        Repaint issue after layer drops out of composited mode.
        <https://bugs.webkit.org/show_bug.cgi?id=27022>

        RenderLayers cache repaint rects in the form of m_repaintRect and m_outlineBox,
        and expect these to stay valid from one style change to the next. These rects
        are relative to the repaint container, so if a layer stops being composited,
        we need to recompute them.
        
        Test: compositing/repaint/layer-repaint-rects.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::computeRepaintRects):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateBacking):

2009-07-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt and Darin Adler.

        - fix https://bugs.webkit.org/show_bug.cgi?id=26963
          <rdar://problem/7030998> Reproducible crash at
          FontCache::getFontData() when a custom font is used in a pseudo-style

        Test: fast/css/pseudo-cache-stale.html

        * dom/Element.cpp:
        (WebCore::Element::pseudoStyleCacheIsInvalid): Added. Given the old
        style and the new style, goes over cached pseudo-styles in the old
        style and re-resolves the same style types off the new style. If any of
        the new pseudo-styles is different from the currently cached
        corresponding style, returns true. Otherwise, returns false.
        (WebCore::Element::recalcStyle): Validate the pseudo-style cache before
        deciding to keep the existing style.
        * dom/Element.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::uncachedFirstLineStyle): Added this version that
        returns an uncached first-line style based off the given style.
        (WebCore::RenderObject::getUncachedPseudoStyle): Added the 'ownStyle'
        parameter.
        * rendering/RenderObject.h:
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::getPseudoStyleCache): Added. Returns the cached
        pseudo-styles in the passed-in vector.
        * rendering/style/RenderStyle.h:

2009-07-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        - fix https://bugs.webkit.org/show_bug.cgi?id=27042
          <rdar://problem/7010981> Incomplete painting of newly created floats

        Tests: fast/repaint/float-in-new-block-with-layout-delta.html
               fast/repaint/float-new-in-block.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChildren): If the child has never been
        laid out before, paint its overhanging floats in addition to itself.
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added and
        initialized a boolean everHadLayout member.
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::layoutInlineChildren): Paint floats that have
        never been laid out before and did not move from (0, 0).

2009-07-07  Brady Eidson  <beidson@apple.com>

        Contributions from both Darin Adler and Brady Eidson.
        Reviewed by Darin Adler.

        <rdar://problem/7024039> REGRESSION (r42158): Back-forward navigation does not work correctly on nytimes.com

        In r42158 we lost some exclusions to making back/forward items for subframe navigations when a main frame
        navigation was still in progress.

        This patch makes things even better than it used to be by:
        - Locking back/forward history at the time the navigation is scheduled, not after the load has committed.
        - Locking back/forward history if *any* ancestor frame is still loading instead of just the main frame.

        Test: fast/loader/subframe-navigate-during-main-frame-load.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::submitForm): Move out the history locking logic into a standalone function so it can be
          used from multiple sites.
        (WebCore::mustLockBackForwardList): Returns true if any ancestor frame is still loading.
        (WebCore::FrameLoader::scheduleLocationChange): Respect mustLockBackForwardList() in addition to the passed in
          lockBackForwardList flag.
        (WebCore::FrameLoader::scheduleFormSubmission): Ditto.

2009-07-07  Nate Chapin  <japhet@chromium.org>

        Reviewed by Darin Fisher.

        Upstream DOMObjectsInclude.h from src.chromium.org.

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

        * bindings/v8/DOMObjectsInclude.h: Added.

2009-07-07  Nate Chapin  <japhet@chromium.org>

        Reviewed by David Levin.

        Relanding r45559, which was rolled back at r45574.

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

        * bindings/scripts/CodeGeneratorV8.pm: Updated a function name in auto-generated bindings.
        * bindings/v8/V8Binding.cpp: Moved from src.chromium.org.
        * bindings/v8/V8Binding.h: Contents moved from src.chromium.org.
        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::getListenerFunction):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::handleConsoleMessage):
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::sourceName):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::handleConsoleMessage):
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::NAMED_PROPERTY_SETTER):
        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        (WebCore::removeElement):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):

2009-07-07  Gregory Hughes  <gfhughesVO+webkit@gmail.com>

        Reviewed by Darin Adler.

        AX: Some webpages do not send AXLoadComplete
        https://bugs.webkit.org/show_bug.cgi?id=26995

        When sending the AXLayoutComplete notification it is possible
        that the AXObjectCache was cleared, resulting in no valid
        object to send the notification to. This fix ensures that an
        AX object is created and cached if one does not already exist.

        Not able to add a test because notifications get sent after the layout test is completed.

        * dom/Document.cpp:
        (WebCore::Document::implicitClose):

2009-07-06  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

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

        Make sure that the CSS properties letter-spacing, word-spacing,
        line-height, text-transform, text-indent, text-shadow,
        text-decoration and color do not affect the media element controls,
        that display text.

        Controls that display text are only present in when the theme
        MediaControllerThemeQT is being used.

        Test: media/controls-styling.html

        * css/mediaControlsQT.css:
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlElement::updateStyle): Special case for
        text-decoration. text-decoration can't be overriden from CSS, because
        text-decoration is additive for historical reasons.

2009-07-07  Albert Wong  <ajwong@chromium.org>

        Not reviewed, Chromium build fix.

        Add in missing header + fix syntax issue that crept into last patch.
        https://bugs.webkit.org/show_bug.cgi?id=27027

        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):

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

        Reviewed by Dave Hyatt.

        Make use of geometry information to decide which layers become composited.

        <rdar://problem/7011947>
        <https://bugs.webkit.org/show_bug.cgi?id=27021>
        
        In addition to looking at painting order, also, optionally, take layer
        overlap into account when deciding which RenderLayers need to be composited.

        No testcase because DRT doesn't dump which layers are composited.
        
        * page/FrameView.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::updateCompositingLayers):
        Removed the unused CompositingUpdate parameter, and just do an early return
        when there is no view.
        
        * rendering/RenderLayer.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::rendererContentChanged):
        (WebCore::RenderLayer::dirtyZOrderLists):
        (WebCore::RenderLayer::dirtyNormalFlowList):
        (WebCore::RenderLayer::styleChanged):
        (WebCore::RenderLayer::mustOverlapCompositedLayers):
        (WebCore::RenderLayer::setMustOverlapCompositedLayers):
        Change "overlay" to "overlap" for consistency with the use of "overlap"
        elsewhere.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateAfterLayout):
        compositingLayersNeedUpdate() renamed to compositingLayersNeedRebuild().
        
        (WebCore::RenderLayerBacking::startAnimation):
        (WebCore::RenderLayerBacking::startTransition):
        Tell the compositor that we started an accelerated animation or transition.
        
        * rendering/RenderLayerCompositor.h:
        (WebCore::RenderLayerCompositor::compositingLayersNeedRebuild):
        Renamed, since it's explicitly about changes in hierarchy now.
        
        (WebCore::RenderLayerCompositor::setCompositingConsultsOverlap):
        (WebCore::RenderLayerCompositor::compositingConsultsOverlap):
        New getter and setter for whether compositing should take overlap into account.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
        Add m_compositingConsultsOverlap, re-order some member variables.
        
        (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
        Whitespace cleanup and method rename.
        
        (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
        Method and variable renaming.
        
        (WebCore::RenderLayerCompositor::updateCompositingLayers):
        Now we have to run through the layer hierarchy every time if looking
        at overlap, because changes in layout can now alter compositing behavior.
        We minimize work by tracking whether we actually need to change the layer
        hierarchy via needLayerRebuild.
        
        (WebCore::RenderLayerCompositor::updateBacking):
        3D transforms turn off overlap mode.
        
        (WebCore::RenderLayerCompositor::layerWasAdded):
        (WebCore::RenderLayerCompositor::layerWillBeRemoved):
        Method rename.
        
        (WebCore::RenderLayerCompositor::addToOverlapMap):
        (WebCore::RenderLayerCompositor::overlapsCompositedLayers):
        Utility methods to add a layer to the overlapMap (computing the absolute
        bounding box only if we haven't already done so), and testing the map
        entries.
        
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
        If a layer would composite only because it comes after other compositing
        layers in the painting order, then consult the overlap map to determine whether
        it overlaps, and thus actually needs to composite.
        
        Add layers to the map when they must be composited.
        
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
        Only do re-parenting work if the updateHierarchy flag is set.
        
        (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation):
        When we start an accelerated transition or animation, we stop looking at
        overlap because we can no longer guarantee correct front-to-back ordering while the
        accelerated animation is running.

        (WebCore::RenderLayerCompositor::needsToBeComposited):
        Method renames.
        
        * rendering/RenderView.cpp:
        (WebCore::RenderView::setMaximalOutlineSize):
        Add comment indicating that this could be optimized.

2009-07-14  Anton Muhin  <antonm@chromium.org>

        Reviewed by Darin Fisher.

        Speed up creation of V8 wrappers for DOM nodes.

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

        This patch doesn't require new tests as it a set of refactorings
        to speed up wrapper creation.  

        * bindings/v8/V8Proxy.cpp:
        * bindings/v8/V8Proxy.h:

2009-07-07  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Gustavo Noronha.

        [GTK] textarea height property works only if other property are defined
        https://bugs.webkit.org/show_bug.cgi?id=18984

        Let WebCore handle textarea's metrics instead of readjusting it RenderthemeGtk.

        Test: fast/forms/textarea-metrics.html

        * platform/gtk/RenderThemeGtk.cpp:
        * platform/gtk/RenderThemeGtk.h:

2009-07-07  Ben Murdoch  <benm@google.com>

        Reviewed by Antti Koivisto.

        HTML5 Database becomes locked if a transaction is in progress when the page is refreshed.
        https://bugs.webkit.org/show_bug.cgi?id=25711

        Fix for https://bugs.webkit.org/show_bug.cgi?id=25711 where web
        storage databases could become locked until the browser is shut
        down if the page is refreshed whilst a transaction is in progress.

        Test: storage/database-lock-after-reload.html

        * storage/Database.cpp:
        (WebCore::Database::Database):
        (WebCore::Database::close): add code to inform the database thread we've closed the database.
        (WebCore::Database::performOpenAndVerify): add code to inform the database thread we've opened a database.
        * storage/Database.h:
        (WebCore::Database::opened): return true iff the underlying sqlite database has been opened but not closed.
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::databaseThread): Before the database thread terminates, close any databases that ran transactions in this thread.
        (WebCore::DatabaseThread::recordDatabaseOpen): Records a database that executed a transaction in this thread.
        (WebCore::DatabaseThread::recordDatabaseClosed): Removes a database from the set of open databases.
        * storage/DatabaseThread.h:
        (WebCore::DatabaseThread::getThreadID): return the thread id for the database thread.

2009-07-07  Jiahua Huang  <jhuangjiahua@gmail.com>

        Reviewed by Jan Alonzo.

        [Gtk] Paste of rich text from firefox results garbled markup
        https://bugs.webkit.org/show_bug.cgi?id=26791

        Fix problem with UTF-16 clipboard pasted.

        * manual-tests/gtk/paste-richtext-from-firefox.html: Added.
        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::documentFragment):

2009-07-07  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Timothy Hatcher.

        Change 'Continue debug' shortcut from F5 to F8 for consistency with Firebug.

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

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

2009-07-06  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Maciej Stachowiak.

        Update RenderThemeChromiumMac for wkDrawMediaUIPart and wkDrawMediaSlider API
        change.

        Fix compile RenderThemeChromiumMac.mm due to API changes from r45572
        https://bugs.webkit.org/show_bug.cgi?id=27018

        This is mainly an API change update to fix the chromium compile.  It
        also has a small fix of a typo in RenderThemeMac.mm.

        Compilation against the head of chromium trunk passed.  Since this is
        a compile fix, that should be sufficient.

        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::):
        (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
        (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
        (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
        (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
        (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
        (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
        * rendering/RenderThemeMac.mm:
        (WebCore::):

2009-07-06  David Kilzer  <ddkilzer@apple.com>

        Bug 27002: Build fix when DASHBOARD_SUPPORT is disabled with -Wunused-parameter

        <https://bugs.webkit.org/show_bug.cgi?id=27002>

        Reviewed by Geoff Garen.

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
        Mark gradient as an unused parameter when DASHBOARD_SUPPORT is
        disabled.

2009-07-06  David Kilzer  <ddkilzer@apple.com>

        Bug 27001: Fix improper use of PassRefPtr<Node> to RefPtr<Node>

        <https://bugs.webkit.org/show_bug.cgi?id=27001>

        Reviewed by Geoff Garen.

        PassRefPtr<> should only be used for arguments to functions that
        take ownership of the object, or as return values from functions
        that relinquish ownership of the object.

        * editing/Editor.cpp:
        (WebCore::Editor::increaseSelectionListLevelOrdered): Changed
        stack-allocated PassRefPtr<Node> to RefPtr<Node> and call
        release() on returned object.
        (WebCore::Editor::increaseSelectionListLevelUnordered): Ditto.

2009-07-06  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7035474> Make new media controller UI default on SnowLeopard

        * rendering/RenderThemeMac.mm:
        (WebCore::mediaControllerTheme):
            New media controller UI is enabled by default on SnowLeopard.

2009-07-06  Nate Chapin  <japhet@chromium.org>

        Unreviewed, build fix.

        Roll out r45559 to fix Chromium canary.

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

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8Binding.cpp: Removed.
        * bindings/v8/V8Binding.h:
        (WebCore::toInt32):
        (WebCore::toWebCoreString):
        (WebCore::fromWebCoreString):
        (WebCore::toWebCoreStringWithNullCheck):
        (WebCore::isUndefinedOrNull):
        (WebCore::v8Boolean):
        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::getListenerFunction):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::handleConsoleMessage):
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::sourceName):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::handleConsoleMessage):
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::NAMED_PROPERTY_SETTER):
        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        (WebCore::removeElement):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):

2009-07-06  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/7008093> Media controller can’t be used to scrub when movie is 
        narrow — track is too narrow

        Do not show media controller time display elements when the a movie is too narrow.

        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
            The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
            Give current time and time remaining controls a common base class.
        (WebCore::MediaControlTimeDisplayElement::setVisible):
            New method, hide and show the element.
        * rendering/MediaControlElements.h:

        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::RenderMedia):
            Initialize m_previousVisible.
        (WebCore::RenderMedia::layout):
            Show/hide the time display elements as the movie width changes.
        (WebCore::RenderMedia::createCurrentTimeDisplay):
        (WebCore::RenderMedia::createTimeRemainingDisplay):
            Base class is now MediaControlTimeDisplayElement, not MediaControlElement.
        (WebCore::RenderMedia::shouldShowTimeDisplayControls):
            New, decide if time display elements should be visible or not.
        * rendering/RenderMedia.h:

        * rendering/RenderThemeMac.mm:
        (WebCore::):
        (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::paintMediaControlsBackground):
        (WebCore::RenderThemeMac::paintMediaCurrentTime):
        (WebCore::RenderThemeMac::paintMediaTimeRemaining):
            The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.

2009-07-06  David Kilzer  <ddkilzer@apple.com>

        Bug 27000: Minor clean up to runtime_root.{cpp|h}

        <https://bugs.webkit.org/show_bug.cgi?id=27000>

        Reviewed by Geoff Garen.

        * bridge/runtime_root.cpp: Added blank line between license and
        the first #include statement.
        * bridge/runtime_root.h: Added comment to #endif.

2009-07-06  Roland Steiner  <rolandsteiner@google.com>

        Reviewed by Maciej Stachowiak.

        generalize the special height treatment for SVG (to be re-used for ruby):
            renamed InlineBox::m_isSVG to m_hasVirtualHeight
            renamed InlineBox::isSVG() to hasVirtualHeight()
            renamed InlineBox::setIsSVG() to setHasVirtualHeight()

        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::height):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::InlineBox):
        (WebCore::InlineBox::isText):
        (WebCore::InlineBox::setIsText):
        (WebCore::InlineBox::isSVGRootInlineBox):
        (WebCore::InlineBox::hasVirtualHeight):
        (WebCore::InlineBox::setHasVirtualHeight):
        (WebCore::InlineBox::virtualHeight):
        * rendering/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::createFlowBox):
        * rendering/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::createTextBox):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::createRootBox):
        * rendering/SVGInlineFlowBox.h:
        (WebCore::SVGInlineFlowBox::virtualHeight):
        * rendering/SVGInlineTextBox.h:
        (WebCore::SVGInlineTextBox::virtualHeight):
        * rendering/SVGRootInlineBox.h:
        (WebCore::SVGRootInlineBox::virtualHeight):

2009-07-06  Alice Liu  <alice.liu@apple.com>

        Reviewed by Darin Adler.

        REGRESSION(r45285): focus rings are black on windows safari
        https://bugs.webkit.org/show_bug.cgi?id=26821
        <rdar://problem/7018252>

        Add a mechanism for setting a custom focus ring color, and relocate the 
        determination of focus ring color to base class RenderTheme.

        No new tests.  Already-existing tests run in pixel mode would have caught this regression

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Move the responsibility
        of determining focus color to base class RenderTheme.
        * rendering/RenderTheme.cpp:
        (WebCore::customFocusRingColor): Added static local.
        (WebCore::RenderTheme::setCustomFocusRingColor): Added
        (WebCore::RenderTheme::focusRingColor): Use custom color over platform color.
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::platformFocusRingColor): default implementation, black color
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderTheme::themeForPage): Circumstances that lead to returning the RenderThemeWin
        are the same under which we want to use the focus ring color from SafariTheme.
        (WebCore::RenderThemeSafari::platformFocusRingColor): Renamed from focusRingColor
        * rendering/RenderThemeSafari.h:

        Renaming focusRingColor to platformFocusRingColor in these files:
        * rendering/RenderThemeChromiumMac.h:
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::platformFocusRingColor):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::platformFocusRingColor):
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::platformFocusRingColor):

        Cleanup leftover from removal of WebCore::Color in r45285 in these files:
        * WebCore.order:
        * platform/graphics/Color.h:

2009-07-06  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by David Hyatt.

        Bug 15135: REGRESSION (r19843-r19850): Changing a flexbox's
        contents makes its container scroll to the top
        https://bugs.webkit.org/show_bug.cgi?id=15135

        Delay updateing scroll bar of descendants of flexbox until their
        positions are determined.  In this way we can prevent descendants
        of flexible boxes from changing positions of their scrollbars
        using tentative positions.

        Test: fast/flexbox/repaint-scrollbar.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::startDelayUpdateScrollInfo):
        (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
        (WebCore::RenderBlock::updateScrollInfoAfterLayout):
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
        * rendering/RenderBlock.h:
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderFlexibleBox::layoutVerticalBox):

2009-07-06  Hironori Bono  <hbono@chromium.org>

        Reviewed by Maciej Stachowiak.

        Make unconfirmed IME text affect textarea's value.
        This matches input and contentEditable elements as well
        IE and Firefox.

        This fixes https://bugs.webkit.org/show_bug.cgi?id=25061.

        Input elements would go down this code path because it
        would always get a null compositionNode from frame->editor().
        Special casing compositionNodes is wrong because we explicitly
        want unconfirmed IME input in the textarea's value (assuming we
        want to match IE and Firefox here).

        This change is originally created by Ojan Vafai <ojan@chromium.org> and
        I just changed its manual tests with an automated test on his behalf.

        Test: platform/mac/editing/input/text-control-ime-input.html

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::text):
        (WebCore::RenderTextControl::textWithHardLineBreaks):

2009-07-06  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adele Peterson.

        Add the ability for wheel events to latch to a node.
        
        * WebCore.base.exp:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler):
        (WebCore::EventHandler::clear):
        (WebCore::EventHandler::handleWheelEvent):
        * page/EventHandler.h:
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::wheelEvent):
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2009-07-06  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Fix a bunch of layout test crahses in Chromium caused by a bad usage of DEFINE_STATIC_LOCAL.

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

        * bindings/v8/V8Binding.cpp:
        (WebCore::v8ValueToWebCoreString): Use a regular static declaration instead of DEFINE_STATIC_LOCAL.

2009-07-06  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: suggest global properties based on async evaluation.

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

        Before this change, empty string was evaluated to the global object
        (or scope chain object) synchronously. This is now fixed and global
        object is evaluated using the same control flow.

        * inspector/front-end/Console.js:
        (WebInspector.Console.prototype.completions):
        (WebInspector.Console.prototype._evalInInspectedWindow):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._variablesInScope):

2009-07-06  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.

        Fix crash when indenting in an empty table cell.
        https://bugs.webkit.org/show_bug.cgi?id=26872

        The crash is that we would call splitTreeToNode where the node
        and the nodeToSplitTo were the same node.

        Test: editing/execCommand/indent-empty-table-cell.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::splitTreeToNode):
        Added an assert in that node and nodeToSplitTo
        are different nodes to make this assumption explicit.

        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::isAtUnsplittableElement):
        (WebCore::IndentOutdentCommand::indentRegion):
        * editing/IndentOutdentCommand.h:

2009-07-06  Nate Chapin  <japhet@chromium.org>

        Reviewed by David Levin.

        Upstream V8Binding and update some function names.

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

        * bindings/scripts/CodeGeneratorV8.pm: Update function names in auto-generated files.
        * bindings/v8/V8Binding.cpp: Upstreamed from src.chromium.org.
        * bindings/v8/V8Binding.h: Upstreamed from src.chromium.org.
        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::getListenerFunction):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::handleConsoleMessage):
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::sourceName):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::handleConsoleMessage):
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::NAMED_PROPERTY_SETTER):
        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        (WebCore::removeElement):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):

2009-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Jan Alonzo.

        Use soup's content sniffing
        https://bugs.webkit.org/show_bug.cgi?id=26982

        Drop our hackish content sniffing code, and use the new libsoup
        feature to do that job for us.

        Testing this is in a cross-platform way is not obvious or possible
        while we are using platform-specific code for sniffing.

        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::gotHeadersCallback):
        (WebCore::contentSniffedCallback):
        (WebCore::gotChunkCallback):
        (WebCore::ResourceHandle::startHttp):

2009-07-05  Antonio Gomes  <antonio.gomes@openbossa.org>

        Reviewed by Darin Adler.

        REGRESSION (r40499): fast/dom/cssTarget-crash.html fails
        https://bugs.webkit.org/show_bug.cgi?id=20342

        Re-added code removed by commit r40499.
        Without this, both Qt and Mac were crashing while running the test.

        Note that this does not entirely fix the bug. It fixes the WebCore
        crash, but the test no longer seems to work due to loader changes.
        So this patch does not reenable the test. The test probably has to
        be rewritten.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removedFromDocument): Re-added code to
        set the CSS target of the document to 0.

2009-07-05  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

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

        When one transition finishes slightly before another the longer
        one will fire a second time. This is because the second
        ImplicitAnmation object is culled too early, before its final
        RenderStyle is in place. This is done by cleanupFinishedAnimations()
        so I got rid of that method completely and now cleanup each
        transition or animation at the point where I am setting the final
        style, or when I detect that the transition or animation has been
        terminated early (which happens when you remove it from the style).

        Test: transitions/extra-transition.html

        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::updateTransitions):
        (WebCore::CompositeAnimation::updateKeyframeAnimations):
        (WebCore::CompositeAnimation::animate):
        * page/animation/CompositeAnimation.h:

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::getTimeToNextEvent):
        Avoid a divide by zero if m_animation->duration() is zero, which can happen
        if the duration is changed to zero while the animation is running.

2009-07-05  Simon Fraser  <simon.fraser@apple.com>

        Revert the previous commit because it broke the
        animations/transition-and-animation-1.html
        testcase.

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::getTimeToNextEvent):
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::updateTransitions):
        (WebCore::CompositeAnimation::updateKeyframeAnimations):
        (WebCore::CompositeAnimation::animate):
        (WebCore::CompositeAnimation::cleanupFinishedAnimations):
        * page/animation/CompositeAnimation.h:

2009-07-05  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

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

        When one transition finishes slightly before another the longer
        one will fire a second time. This is because the second 
        ImplicitAnmation object is culled too early, before its final
        RenderStyle is in place. This is done by cleanupFinishedAnimations()
        so I got rid of that method completely and now cleanup each 
        transition or animation at the point where I am setting the final
        style, or when I detect that the transition or animation has been
        terminated early (which happens when you remove it from the style).

        Test: transitions/extra-transition.html

        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::updateTransitions):
        (WebCore::CompositeAnimation::updateKeyframeAnimations):
        (WebCore::CompositeAnimation::animate):
        * page/animation/CompositeAnimation.h:

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::getTimeToNextEvent):
        Avoid a divide by zero if m_animation->duration() is zero, which can happen
        if the duration is changed to zero while the animation is running.

2009-07-05  Lars Knoll  <lars.knoll@nokia.com>

        Reviewed by Maciej Stachowiak.

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

        Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian.

        The Metrowerks compiler on the Symbian platform moves the globally
        defined Hashtables into read-only memory, despite one of the members
        being mutable. This causes crashes at run-time due to write access to
        read-only memory.

        Avoid the use of const with this compiler by introducing the
        JSC_CONST_HASHTABLE macro.

        Based on idea by Norbert Leser.

        * bindings/scripts/CodeGeneratorJS.pm: Use JSC_CONST_HASHTABLE for hash tables
        define in the bindings.

2009-07-05  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Maciej Stachowiak.

        Bug 26897 - Dynamic SVG images do not display correctly
        https://bugs.webkit.org/show_bug.cgi?id=26897

        Use repaint() to fix a rendering problem with a SVG image embedded in xhtml.

        Test: svg/custom/createImageElement2.xhtml

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

2009-07-05  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        https://bugs.webkit.org/show_bug.cgi?id=26960
        [Gtk] caret offset not updated when selecting text

        Report the caret offset from the end of the selection so it works
        correctly for multi-char selections too (ie, anything that is not
        the zero width caret).

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_text_get_caret_offset):

2009-07-05  Holger Hans Peter Freyther  <zecke@selfish.org>

        Unreviewed link fix for Qt.

        Fix Qt link error by adding two new localized strings

        In r45474 two new strings got added to LocalizedStrings.h add
        the definition of them to Qt.

        * platform/qt/Localizations.cpp:
        (WebCore::mediaElementLoadingStateText):
        (WebCore::mediaElementLiveBroadcastStateText):

2009-07-03  Darin Adler  <darin@apple.com>

        Reviewed by Adele Peterson.

        REGRESSION (r44670-r44680): Typing is suprisingly slow in password field on reddit.com
        https://bugs.webkit.org/show_bug.cgi?id=26959
        rdar://problem/7029882

        The code to handle iteration boundaries was malfunctioning when the boundary was
        at the edge of a shadow tree. This happens all the time with <input> elements.

        It's not immediately obvious how to make a regression test for this since the
        symptom was a performance problem, not incorrect behavior. I'll add a test if I
        figure out a way to make one.

        * editing/TextIterator.cpp:
        (WebCore::parentCrossingShadowBoundaries): Renamed from parentOrShadowParent.
        (WebCore::depthCrossingShadowBoundaries): Updated for name change.
        (WebCore::nextInPreOrderCrossingShadowBoundaries): Added.
        (WebCore::previousInPostOrderCrossingShadowBoundaries): Added.
        (WebCore::setUpFullyClippedStack): Updated for name change.
        (WebCore::TextIterator::TextIterator): Updated for name change. Use
        nextInPreOrderCrossingShadowBoundaries instead of Range::pastLastNode to fix the bug.
        (WebCore::TextIterator::advance): Updated for name change.
        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
        Tweaked formatting.
        (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. Changed code that
        initializes m_pastStartNode to use previousInPostOrderCrossingShadowBoundaries.
        (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Tweaked formatting.
        (WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto.

2009-07-03  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        Background audio stops playing when JS GC runs
        https://bugs.webkit.org/show_bug.cgi?id=26956
        
        Ensure we keep the Audio object around while it is playing, so that it
        doesn't get collected.
        
        Not testable because there's no way to know whether the audio keeps
        playing without holding a reference to it.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::isObservableThroughDOM):

2009-07-02  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        https://bugs.webkit.org/show_bug.cgi?id=26814
        [Gtk] Caret-moved events are not issued for the correct offset
        when text is selected forward

        Report the caret offset from the end of the selection, otherwise
        we'll report the same offset when moving the caret while
        modififying the selection (eg, with Shift + Right).

        * editing/gtk/SelectionControllerGtk.cpp:
        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):

2009-07-02  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        https://bugs.webkit.org/show_bug.cgi?id=26815
        [Gtk] text-selection-changed events are not issued for the correct
        object when the selection spans multiple objects

        Get the focused node from the end of the selection, not the start,
        so we can detect when we cross object boundaries.

        * editing/gtk/SelectionControllerGtk.cpp:
        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):

2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

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

        Fix the media controls hit tests. They may lose click events.

        Test cases already covered in the video-controls-zoomed tests.

        Don't trust wkHitTestMediaUIPart for the tests. We are accurate enough.

        * rendering/RenderThemeMac.h: Remove hitTestMediaControlPart.
        * rendering/RenderThemeMac.mm: Remove hitTestMediaControlPart.

2009-07-02  Roland Steiner  <rolandsteiner@google.com>

        Reviewed by Eric Seidel.

        RenderBlock and RenderInline have confusingly named object creation methods:
        RenderBlock::createRootBox/createRootInlineBox
        RenderInline::createFlowBox/createInlineFlowBox
        where the 2nd method in both cases just calls the first and then appends the created object.
        I therefore renamed those methods to something IMHO more informative:
        
        createRootBox()         -> createRootInlineBox()
        createRootInlineBox()   -> createAndAppendRootInlineBox();
        createFlowBox()         -> createInlineFlowBox();
        createInlineFlowBox()   -> createAndAppendInlineFlowBox();

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

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::createRootInlineBox):
        (WebCore::RenderBlock::createAndAppendRootInlineBox):
        * rendering/RenderBlock.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::createInlineFlowBox):
        (WebCore::RenderInline::createAndAppendInlineFlowBox):
        * rendering/RenderInline.h:
        * rendering/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::createInlineFlowBox):
        * rendering/RenderSVGInline.h:
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::createRootInlineBox):
        * rendering/RenderSVGText.h:
        * rendering/bidi.cpp:
        (WebCore::createInlineBoxForRenderer):

2009-07-02  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Fix typo in the resource panel enabler caption.

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

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):

2009-07-02  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Adam Roben.

        [Win] HTML5 Drag and drop, dragend is not fired when pressing Esc
        https://bugs.webkit.org/show_bug.cgi?id=26699

        * manual-tests/drag-escape.html: Added.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::dragSourceEndedAt):

2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser. 
        
        https://bugs.webkit.org/show_bug.cgi?id=26944

        Make sure we support full page zoom in video controls.

        This is tracked by a the video-controls-zoom test case.

        * css/mediaControlsQT.css: Make sure we don't have any inherited margin.
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlElement::updateStyle): Propagate the style to the innertext.
        * rendering/RenderThemeMac.mm: Adjust the painting rect.
        (WebCore::getUnzoomedRectAndAdjustCurrentContext):
        (WebCore::RenderThemeMac::paintMediaSliderTrack):
        (WebCore::RenderThemeMac::paintMediaCurrentTime):
        (WebCore::RenderThemeMac::paintMediaTimeRemaining):

2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>

        Fix the Gtk build after r45474. The localized strings should
        have been added there.

        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::mediaElementLoadingStateText):
        (WebCore::mediaElementLiveBroadcastStateText):

2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

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

        Media controller is rendered badly at http://www.mozilla.com/en-US/firefox/video/firefox-3.5.html

        We fix two things:
        - We use px instead of em, because px is used everywhere else
        and because 0.09em hit the font size limit.
        - We use -webkit-box instead of inline-block because in strict mode
        inline-block has a different behavior.

        Test: media/controls-strict.html

        * css/mediaControlsQT.css:

2009-07-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        TextIterator should use hasOverflowClip when checking for overflow instead of looking at the style.
        https://bugs.webkit.org/show_bug.cgi?id=26942

        * editing/TextIterator.cpp:
        (WebCore::fullyClipsContents):

2009-07-02  Sam Weinig  <sam@webkit.org>

        Reviewed by Dave Hyatt.

        Fix for <rdar://problem/5230700>
        Remove local .xhtml file workaround

        * platform/network/mac/ResourceResponseMac.mm:
        (WebCore::ResourceResponse::platformLazyInit): Work around is no longer necessary.

2009-07-02  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Sort, add functions used by WebKit.
        
        * WebCore.base.exp:

2009-07-02  Brady Eidson  <beidson@apple.com>

        Rubberstamped by Sam Weinig.

        More of <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.

        * platform/network/mac/WebCoreURLResponse.mm:
        (webNSURLResponseMIMEType): Give Tiger a chance to query the UTI machinery.

2009-07-02  Adam Langley  <agl@google.com>

        Reviewed by Eric Seidel.

        Chromium Linux: fix complex text rendering with line break characters.

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

        If the CSS white-space property is inhibiting line breaking, we might
        find end-of-line characters rendered via the complex text path. Fonts
        don't provide glyphs for these code points so, if we find one, we
        simulate the space glyph being interposed in this case.  Because the
        input is variable-length per code point, we walk the input in step
        with the output.

        Covered by:
            LayoutTests/fast/text/international/bidi-linebreak-002.html
            LayoutTests/fast/text/international/bidi-linebreak-003.html
            LayoutTests/fast/text/international/hindi-whitespace.html

        * platform/graphics/chromium/HarfbuzzSkia.cpp:
        (WebCore::stringToGlyphs):

2009-07-02  Victor Wang  <victorw@chromium.org>

        Reviewed by Darin Fisher.

        https://bugs.webkit.org/show_bug.cgi?id=26521
        Expose file size to chromium.

        Implement getFileSize() for Chromium.

        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/FileSystemChromium.cpp:
        (WebCore::getFileSize):

2009-07-02  Nate Chapin  <japhet@chromium.org>

        Unreviewed, build fix.

        * bindings/v8/V8SVGPODTypeWrapper.h: Lost a space in nested template argument list.

2009-07-02  Simon Fraser  <simon.fraser@apple.com>

        Build fix: add missing #include.

        * platform/mac/ThemeMac.mm:

2009-07-02  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        <rdar://problem/7028682> ThemeMac::paintRadio() throws Obj-C exceptions when zoomed

        Add BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS guards around code
        that can possibly throw Objective-C exceptions when drawing Mac form controls.

        * platform/mac/ThemeMac.mm:
        (WebCore::paintCheckbox):
        (WebCore::paintRadio):
        (WebCore::paintButton):
        (WebCore::ThemeMac::inflateControlPaintRect):

2009-07-02  Nate Chapin  <japhet@chromium.org>

        Reviewed by David Levin.

        Upstream V8SVGPODTypeWrapper.

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

        * bindings/scripts/CodeGeneratorV8.pm: Update function being renamed in V8SVGPODTypeWrapper.h.
        * bindings/v8/V8SVGPODTypeWrapper.h: Upstreamed from src.chromium.org.

2009-07-02  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Adds an abstraction layer between the DB classes and the file
        system, which allows us to add our own logic for storing, opening,
        deleting, etc. databases.

        The patch was tested using the tests in WebCore/storage.

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

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/sql/SQLiteDatabase.cpp:
        (WebCore::SQLiteDatabase::open): Delegating the job of opening DB files to SQLiteFileSystem to allow use of custom VFSs.
        * platform/sql/SQLiteFileSystem.cpp: Added.
        * platform/sql/SQLiteFileSystem.h: Added.
        * platform/win/FileSystemWin.cpp:
        (WebCore::directoryName): Implemented.
        * storage/Database.cpp:
        (WebCore::Database::databaseSize): The code that returns the size of a DB file moved to SQLiteFileSystem.
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::DatabaseTracker): Added the ability to register a custom SQLite VFS.
        (WebCore::DatabaseTracker::trackerDatabasePath): DB file-related operations moved to SQLiteFileSystem.
        (WebCore::DatabaseTracker::openTrackerDatabase): DB file-related operations moved to SQLiteFileSystem.
        (WebCore::DatabaseTracker::originPath): DB file-related operations moved to SQLiteFileSystem.
        (WebCore::DatabaseTracker::fullPathForDatabase): DB file-related operations moved to SQLiteFileSystem.
        (WebCore::DatabaseTracker::usageForDatabase): DB file-related operations moved to SQLiteFileSystem.
        (WebCore::DatabaseTracker::deleteOrigin): DB file-related operations moved to SQLiteFileSystem.
        (WebCore::DatabaseTracker::deleteDatabaseFile): DB file-related operations moved to SQLiteFileSystem.
        * storage/OriginUsageRecord.cpp:
        (WebCore::OriginUsageRecord::diskUsage): DB file-related operations moved to SQLiteFileSystem.

2009-07-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        Always clip replaced elements to border radii.
        https://bugs.webkit.org/show_bug.cgi?id=26933

        Make sure to always clip replaced elements to border radii, even when overflow is visible.
        Stop defaulting those elements to overflow:hidden in the UA sheet, since it is now no longer
        necessary.

        Covered by existing tests (since the UA default changing keeps the behavior exactly the same).

        * css/html.css:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):

2009-07-02  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Simon Fraser.

        convertFromScrollbarToContainingView and friends should be in ScrollView
        https://bugs.webkit.org/show_bug.cgi?id=26929

        This is breaking Chromium's build because PopupMenuChromium inherits
        from ScrollView, but these functions are pure virtual in it.  I could
        put it directly in PopupMenuChromium, but that seems a bit silly since
        the functions are fairly generic.

        Passes existing layout tests.

        * page/FrameView.cpp:  Remove the 4 functions Hyatt just added
        (IntRect WebCore::FrameView::convertFromScrollbarToContainingView):
        (IntRect WebCore::FrameView::convertFromContainingViewToScrollBar):
        (IntPoint WebCore::FrameView::convertFromScrollbarToContainingView):
        (IntPoint WebCore::FrameView::convertFromContainingViewToScrollBar):
        * page/FrameView.h: ditto
        * platform/ScrollView.cpp:  Move the 4 functions from FrameView here
        (IntRect WebCore::ScrollView::convertFromScrollbarToContainingView):
        (IntRect WebCore::ScrollView::convertFromContainingViewToScrollBar):
        (IntPoint WebCore::ScrollView::convertFromScrollbarToContainingView):
        (IntPoint WebCore::ScrollView::convertFromContainingViewToScrollBar):
        * platform/ScrollView.h: ditto

2009-07-02  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Darin Fisher.

        Fix https://bugs.webkit.org/show_bug.cgi?id=26088 - TransparencyWin 
        doesn't handle errors well at all; revise it to fail silently 
        (drawing nothing), and bulletproof FontChromiumWin to handle the
        failure accordingly.

        Tests: fast/text/text-large-negative-letter-spacing-with-opacity.html
               fast/text/text-letter-spacing.html

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        (WebCore::Font::drawGlyphs):
        (WebCore::Font::drawComplexText):
        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::TransparencyWin):
        (WebCore::TransparencyWin::setupLayerForNoLayer):
        (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
        (WebCore::TransparencyWin::setupLayerForWhiteLayer):
        (WebCore::TransparencyWin::setupTransformForKeepTransform):
        (WebCore::TransparencyWin::setupTransformForScaleTransform):
        (WebCore::TransparencyWin::initializeNewContext):
        (WebCore::TransparencyWin::compositeOpaqueComposite):
        (WebCore::TransparencyWin::compositeTextComposite):
        (WebCore::TransparencyWin::makeLayerOpaque):
        * platform/graphics/chromium/TransparencyWin.h:
        (WebCore::TransparencyWin::platformContext):

2009-07-02  Eric Carlson  <eric.carlson@apple.com>

        Change #import to #include to fix non-ObjC builds.

        * rendering/MediaControlElements.cpp:

2009-07-02  Anders Carlsson  <andersca@apple.com>

        Build fix.
        
        * platform/network/mac/WebCoreURLResponse.mm:
        (mimeTypeFromUTITree):

2009-07-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        Fix for bug 22119, clicks in the scrollbars of transformed content don't work.  Add new
        conversion methods for going across parent/child widget boundaries that can be implemented
        by the FrameView and ScrollbarClient to be transform-aware.

        Test cases added in platform/mac/fast/forms and platform/mac/fast/overflow.

        * WebCore.base.exp:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseMoveEvent):
        * page/FrameView.cpp:
        (WebCore::FrameView::convertFromScrollbarToContainingView):
        (WebCore::FrameView::convertFromContainingViewToScrollbar):
        (WebCore::FrameView::convertFromRenderer):
        (WebCore::FrameView::convertToRenderer):
        (WebCore::FrameView::convertToContainingView):
        (WebCore::FrameView::convertFromContainingView):
        * page/FrameView.h:
        * platform/ScrollView.h:
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::convertToContainingView):
        (WebCore::Scrollbar::convertFromContainingView):
        * platform/Scrollbar.h:
        * platform/ScrollbarClient.h:
        (WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
        (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
        * platform/Widget.cpp:
        (WebCore::Widget::convertFromContainingWindow):
        (WebCore::Widget::convertToContainingWindow):
        (WebCore::Widget::convertFromRootToContainingWindow):
        (WebCore::Widget::convertFromContainingWindowToRoot):
        (WebCore::Widget::convertToContainingView):
        (WebCore::Widget::convertFromContainingView):
        * platform/Widget.h:
        * platform/graphics/IntPoint.h:
        (WebCore::IntPoint::move):
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::convertFromRootToContainingWindow):
        (WebCore::Widget::convertFromContainingWindowToRoot):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isPointInOverflowControl):
        * rendering/RenderDataGrid.cpp:
        (WebCore::RenderDataGrid::convertFromScrollbarToContainingView):
        (WebCore::RenderDataGrid::convertFromContainingViewToScrollbar):
        * rendering/RenderDataGrid.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::convertFromScrollbarToContainingView):
        (WebCore::RenderLayer::convertFromContainingViewToScrollbar):
        (WebCore::RenderLayer::scrollbarOffset):
        (WebCore::RenderLayer::hitTestOverflowControls):
        * rendering/RenderLayer.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::isPointInOverflowControl):
        (WebCore::RenderListBox::convertFromScrollbarToContainingView):
        (WebCore::RenderListBox::convertFromContainingViewToScrollbar):
        * rendering/RenderListBox.h:

2009-07-02  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt and Simon Fraser.

        - fix <rdar://problem/6933052> SPOD playing video in a div with a box
          shadow

        Test: fast/box-shadow/transform-fringing.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBoxShadow): Clip out the
        box even if it has an opaque background, but in that case, inset the
        clip path by 1 pixel, to avoid antialiasing artifacts.
        Do not inset the clip rect by 1 pixel if the CTM is purely a
        translation.
        Move the shadow-casting path away in the non-rounded-rect case (it
        was already being done in the rounded-rect case), to avoid a black
        fringe when the CTM is not purely a translation.

2009-07-02  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.

        Walk the CoreTypes UTI tree for extensions with unknown MIME types, using the first MIME type found.

        For many types of text files (such as source code files) this ends up being text/plain.

        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Tweak the logging output.

        * platform/network/mac/WebCoreURLResponse.h:
        * platform/network/mac/WebCoreURLResponse.mm:
        (mimeTypeFromUTITree): 
        (webNSURLResponseMIMEType): Use mimeTypeFromUTITree() to find a UTI-based MIME type for this file's extension.
        (-[NSURLResponse _webcore_reportedMIMEType]): Return the actual MIME type that CFNetwork gave us.

2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/6518119>

        Add a rewind button and hide the timeline for live broadcasts when
        in MediaUI mode.

        * css/CSSPrimitiveValueMappings.h: 
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add the new pseudo element.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::extractPseudoType): Ditto.
        * css/CSSSelector.h: 

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

        * css/CSSValueKeywords.in: Ditto.
        * css/mediaControls.css: Ditto.
        * css/mediaControlsQT.css: Ditto.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::rewind): New.
        (WebCore::HTMLMediaElement::returnToRealTime): New.
        (WebCore::HTMLMediaElement::isStreaming): New.
        * html/HTMLMediaElement.h:

        * page/mac/WebCoreViewFactory.h: Declare mediaElementLoadingStateText and mediaElementLiveBroadcastStateText.

        * platform/LocalizedStrings.h: Add localized media state messages.

        * platform/ThemeTypes.h: Add the new pseudo element.

        * platform/mac/LocalizedStringsMac.mm: 
        (WebCore::mediaElementLoadingStateText): Add localized media state.
        (WebCore::mediaElementLiveBroadcastStateText): Ditto.

        * platform/mac/WebCoreSystemInterface.h: Change BOOL param wkDrawMediaUIPart to an int to support
           multiple states.
        * platform/mac/WebCoreSystemInterface.mm: Ditto.

        * rendering/MediaControlElements.cpp: 
        (WebCore::MediaControlElement::MediaControlElement): Deal with new elements.
        (WebCore::MediaControlElement::attachToParent): Ditto.
        (WebCore::MediaControlElement::update): Ditto.
        (WebCore::MediaControlElement::updateStyle): Ditto.
        (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
        (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): Ditto.
        (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
        (WebCore::MediaControlStatusDisplayElement::update): Ditto.
        (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Ditto.
        (WebCore::MediaControlInputElement::MediaControlInputElement): Ditto.
        (WebCore::MediaControlInputElement::attachToParent): Ditto.
        (WebCore::MediaControlInputElement::updateStyle): Ditto.
        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
        (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
        (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
        (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): Ditto.
        (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
        (WebCore::MediaControlTimelineElement::update): Ditto.
        (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): Ditto.
        * rendering/MediaControlElements.h: Ditto.

        * rendering/RenderMedia.cpp: 
        (WebCore::RenderMedia::styleDidChange): Deal with the new elements.
        (WebCore::RenderMedia::createPanel): Ditto.
        (WebCore::RenderMedia::createRewindButton): Ditto.
        (WebCore::RenderMedia::createReturnToRealtimeButton): Ditto.
        (WebCore::RenderMedia::createStatusDisplay): Ditto.
        (WebCore::RenderMedia::createTimelineContainer): Ditto.
        (WebCore::RenderMedia::createCurrentTimeDisplay): Ditto.
        (WebCore::RenderMedia::createTimeRemainingDisplay): Ditto.
        (WebCore::RenderMedia::updateControls): Ditto.
        (WebCore::RenderMedia::forwardEvent): Ditto.
        * rendering/RenderMedia.h:

        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paint): Deal with the new elements.

        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::paintMediaRewindButton): Deal with the new elements.
        (WebCore::RenderTheme::paintMediaReturnToRealtimeButton): Ditto.
        (WebCore::RenderTheme::paintMediaControlsBackground): Ditto.

        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMediaRewindButton): Deal with the new elements.
        (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto.
        (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto.

        * rendering/style/RenderStyleConstants.h: Add constants for the new elements.

2009-07-01  John Abd-El-Malek  <jam@chromium.org>

        Reviewed by Darin Fisher.

        Small refactoring of MessagePortChannel so that PlatformMessagePortChannel
        may be defined at the WebKit layer.

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

        * dom/MessageChannel.cpp:
        (WebCore::MessageChannel::MessageChannel):
        * dom/MessagePortChannel.cpp:
        * dom/MessagePortChannel.h:
        * dom/default/PlatformMessagePortChannel.cpp:
        (WebCore::MessagePortChannel::createChannel):
        (WebCore::MessagePortChannel::create):
        (WebCore::MessagePortChannel::MessagePortChannel):
        (WebCore::MessagePortChannel::~MessagePortChannel):

2009-07-01  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        <video> fails to show on http://camendesign.com/code/video_for_everybody
        <rdar://problem/7026010>
        https://bugs.webkit.org/show_bug.cgi?id=26919

        Fix an issue introduced in r44961. In that revision we changed to only update
        compositing layer geometry when all siblings had been laid out (i.e. we pushed
        the updates one level down). However, that left out the root layer, so this
        fix ensures that the root layer geometry gets updated at the end.

        Test: compositing/geometry/root-layer-update.html

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

2009-07-01  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein
        
        <rdar://problem/7026010> <video> fails to show on http://camendesign.com/code/video_for_everybody

        First part of fix: when outline width changes, don't to a synchronous
        layer update right away, but just set the flag to say that compositing
        layers need updating. The synchronous layer update left the layer geometries
        out of whack when it happened in the middle of layout (e.g. when inside ::first-letter).
        
        Test: compositing/geometry/outline-change.html

        * rendering/RenderView.cpp:
        (WebCore::RenderView::setMaximalOutlineSize):

2009-07-01  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26842
        Build fix when ENABLE_DATABASE is off

        Move Database.h into ENABLE(DATABASE) guard so toggling ENABLE_DATABASE
        off does not break builds.

        * bindings/js/ScriptObjectQuarantine.cpp:

2009-07-01  Daniel Bates  <dbates@intudata.com>

        Reviewed by Adam Barth.
        
        https://bugs.webkit.org/show_bug.cgi?id=26899
        
        Modified XSSAuditor::decodeURL to only remove null characters so that 
        it is consistent with the behavior of HTMLTokenizer and prevents 
        injected scripts that contain control characters. 

        Tests: http/tests/security/xssAuditor/script-tag-control-char.html
               http/tests/security/xssAuditor/script-tag-null-char.html

        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::decodeURL): Modified to only remove null characters. 
        * page/XSSAuditor.h: Reverted naming of third argument of method XSSAuditor::decodeURL
        from allowControlCharacters back to allowNullCharacters.
        * platform/network/ResourceResponseBase.cpp: Reverted back to rev #45003.
        (WebCore::isControlCharacter):
        * platform/network/ResourceResponseBase.h: Reverted back to rev #45003.  

2009-07-01  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Timothy Hatcher.

        - supported keyboard shortcuts compatible with Firebug in Scripts Debugger:
        F5, Ctrl+/ (win,lin), Command+/ (mac) - continue
        F10, Ctrl+' (win, lin), Command+' (mac) - step over
        F11, Ctrl+; (win, lin), Command+; (mac) - step into
        Shift+F11, Ctrl+Shift+; (win, lin), Command+Shift+; (mac) - step out

        - added call stack navigation shortcuts:
        Ctrl+. - next call frame
        Ctrl+, - previouse call frame

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

        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane):
        (WebInspector.CallStackSidebarPane.prototype.handleKeyEvent):
        (WebInspector.CallStackSidebarPane.prototype._selectNextCallFrameOnStack):
        (WebInspector.CallStackSidebarPane.prototype._selectPreviousCallFrameOnStack):
        (WebInspector.CallStackSidebarPane.prototype._selectedPlacardByIndex):
        (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
        * inspector/front-end/KeyboardShortcut.js: Added.
        (WebInspector.KeyboardShortcut):
        (WebInspector.KeyboardShortcut.makeKey):
        (WebInspector.KeyboardShortcut.makeKeyFromEvent):
        (WebInspector.KeyboardShortcut.makeKeyFromCodeAndModifiers_):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype.handleKeyEvent):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2009-07-01  Daniel Erat  <derat@google.com>

        Reviewed by David Levin.

        Chromium Linux: Move the scrollbar thumb on middle-click.

        https://bugs.webkit.org/show_bug.cgi?id=26910
        http://code.google.com/p/chromium/issues/detail?id=11976

        Tested by building Chrome and checking that the scrollbar moves as expected.

        * platform/chromium/ScrollbarThemeChromium.cpp:
        * platform/chromium/ScrollbarThemeChromium.h:
        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        * platform/chromium/ScrollbarThemeChromiumLinux.h:
        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
        * platform/chromium/ScrollbarThemeChromiumWin.h:

2009-07-01  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        Add a preference/setting to toggle whether content sniffing is enabled for file URLs.

        * WebCore.base.exp:

        * page/Settings.cpp:
        (WebCore::Settings::setLocalFileContentSniffingEnabled):
        * page/Settings.h:
        (WebCore::Settings::localFileContentSniffingEnabled):

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::start):
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):

2009-07-01  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Oliver Hunt.

        Bug 26909: aria-label needs to be supported
        https://bugs.webkit.org/show_bug.cgi?id=26909

        Test: accessibility/aria-label.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityDescription):
        * html/HTMLAttributeNames.in:

2009-07-01  David Hyatt  <hyatt@apple.com>

        Reviewed by Oliver Hunt.

        More datagrid columns work.  Make sure columns cache both a style for the column header as well
        as a style for the column background (behind the cells).

        Hook up to CSSStyleSelector methods for obtaining the pseudo styles for columns (stubbed out and
        unimplemented).

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumn):
        (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumnHeader):
        * css/CSSStyleSelector.h:
        * html/DataGridColumn.h:
        (WebCore::DataGridColumn::setColumnList):
        (WebCore::DataGridColumn::columnStyle):
        (WebCore::DataGridColumn::setColumnStyle):
        (WebCore::DataGridColumn::headerStyle):
        (WebCore::DataGridColumn::setHeaderStyle):
        * rendering/RenderDataGrid.cpp:
        (WebCore::RenderDataGrid::recalcStyleForColumn):
        (WebCore::RenderDataGrid::columnStyle):
        (WebCore::RenderDataGrid::headerStyle):
        (WebCore::RenderDataGrid::paintColumnHeaders):
        * rendering/RenderDataGrid.h:

2009-07-01  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.
        
        <rdar://problem/7009870> After <audio> movie finishes playing, Pause button fails to change 
        back to Play button

        Grab onto the current time when QTKit "ended" notification fires and use it as 
        duration from that point on as QuickTime sometimes refuses to play all the way to
        the time it reports for duration and buffered. HTMLMediaElement assumes that there
        more to play in this situation and tries to restart playback, endlessly.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
            Rename m_duration to m_reportedDuration. Declare m_cachedDuration.
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
            Rename m_duration to m_reportedDuration. Initialize m_cachedDuration.
        (WebCore::MediaPlayerPrivate::duration):
            Return m_cachedDuration once it has been set.
        (WebCore::MediaPlayerPrivate::updateStates):
            Rename m_duration to m_reportedDuration.
        (WebCore::MediaPlayerPrivate::didEnd):
            Set m_cachedDuration to currentTime().

2009-07-01  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        Bug 26900: AX: Manual spell check with Command-; does not bring up suggestions
        https://bugs.webkit.org/show_bug.cgi?id=26900

        Editable web areas should have a clickpoint that uses where the selection is.

        Test: accessibility/editable-webarea-context-menu-point.html

        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::clickPoint):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2009-07-01  David Levin  <levin@chromium.org>

        Reviewed by Eric Seidel.

        Remove unused code in SVGTransformList and SVGTransformDistance
        <https://bugs.webkit.org/show_bug.cgi?id=26891>

        * svg/SVGTransformDistance.cpp:
        (WebCore::SVGTransformDistance::SVGTransformDistance):
        * svg/SVGTransformList.cpp:
        * svg/SVGTransformList.h:

2009-07-01  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        Begin stubbing out functions for layout, painting and style/geometry caching on columns.  Not enough
        is implemented for this to do much of anything yet, but it should help keep patch sizes down. :)

        * html/DataGridColumn.cpp:
        (WebCore::DataGridColumn::columnChanged):
        * html/DataGridColumn.h:
        (WebCore::DataGridColumn::setId):
        (WebCore::DataGridColumn::setLabel):
        (WebCore::DataGridColumn::setType):
        (WebCore::DataGridColumn::setSortable):
        (WebCore::DataGridColumn::setSortDirection):
        (WebCore::DataGridColumn::setColumnList):
        (WebCore::DataGridColumn::style):
        (WebCore::DataGridColumn::setStyle):
        (WebCore::DataGridColumn::rect):
        (WebCore::DataGridColumn::setRect):
        * html/DataGridColumnList.cpp:
        (WebCore::DataGridColumnList::DataGridColumnList):
        (WebCore::DataGridColumnList::setDataGridNeedsLayout):
        (WebCore::DataGridColumnList::add):
        (WebCore::DataGridColumnList::remove):
        (WebCore::DataGridColumnList::move):
        (WebCore::DataGridColumnList::clear):
        (WebCore::DataGridColumnList::primaryColumnChanged):
        * html/DataGridColumnList.h:
        (WebCore::DataGridColumnList::create):
        (WebCore::DataGridColumnList::dataGrid):
        (WebCore::DataGridColumnList::clearDataGrid):
        * html/HTMLDataGridColElement.cpp:
        (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
        (WebCore::HTMLDataGridColElement::findDataGridAncestor):
        (WebCore::HTMLDataGridColElement::insertedIntoTree):
        (WebCore::HTMLDataGridColElement::removedFromTree):
        * html/HTMLDataGridColElement.h:
        (WebCore::HTMLDataGridColElement::dataGrid):
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
        (WebCore::HTMLDataGridElement::~HTMLDataGridElement):
        * rendering/RenderDataGrid.cpp:
        (WebCore::RenderDataGrid::styleDidChange):
        (WebCore::RenderDataGrid::recalcStyleForColumns):
        (WebCore::RenderDataGrid::recalcStyleForColumn):
        (WebCore::RenderDataGrid::styleForColumn):
        (WebCore::RenderDataGrid::layout):
        (WebCore::RenderDataGrid::layoutColumns):
        (WebCore::RenderDataGrid::paintColumnHeaders):
        (WebCore::RenderDataGrid::paintColumnHeader):
        * rendering/RenderDataGrid.h:
        (WebCore::RenderDataGrid::renderName):
        (WebCore::RenderDataGrid::canHaveChildren):

2009-07-01  Daniel Bates  <dbates@intudata.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=26807
        
        Fixes this address by checking whether frame->document()->decoder() is null. 

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

2009-07-01  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

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

        Correctly reset history length to '0', not '1'. Old relict from early WML days.
        Add some new WML testcases covering the use of history length (by onenterforward event handling)

        Tests: wml/onenterforward-event.html
               wml/onenterforward-inline-event.html
               wml/ontimer-event.html
 
        * wml/WMLPageState.cpp:
        (WebCore::WMLPageState::reset):

2009-07-01  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        Make sure setting attributes on dcol elements properly updates the corresponding DataGridColumn object.

        Added new test in fast/dom/HTMLDataGridElement.

        * html/HTMLDataGridColElement.cpp:
        (WebCore::HTMLDataGridColElement::parseMappedAttribute):
        * html/HTMLDataGridColElement.h:

2009-07-01  David Hyatt  <hyatt@apple.com>

        Reviewed by Tim Hatcher.

        <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
        even though the field is not actually focused for keyboard input
        
        Add the concept of whether or not the Page is focused by adding a boolean to the focusController.  This allows the
        focused frame and focused node to both be cached and changed programmatically even when the Page itself doesn't
        actually happen to have focus at that time.

        * WebCore.base.exp:
        * page/FocusController.cpp:
        (WebCore::FocusController::FocusController):
        (WebCore::FocusController::setFocusedFrame):
        (WebCore::FocusController::setFocused):
        (WebCore::FocusController::setActive):
        * page/FocusController.h:
        (WebCore::FocusController::isFocused):

2009-07-01  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Simon Hausmann.

        [Qt] Move some API headers from WebCore.pro to headers.pri so that they
        get installed when running make install from the build directory.

        * WebCore.pro:

2009-07-01  Simon Hausmann  <simon.hausmann@nokia.com>

        Rubber-stamped by Ariya Hidayat.

        Ran WebKitTools/Scripts/generate-qt-inspector-resource to update the
        qrc file with new png files from the web inspector.

        * inspector/front-end/WebKit.qrc:

2009-06-30  Mark Rowe  <mrowe@apple.com>

        Land some code that has a hope of compiling.

        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::imageSourceOptions):

2009-06-30  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Simon Fraser.

        Flip back on block caching. Throwing away block data, while 
        a perceived memory win, is a performance hit in cases where we 
        are repainting large images (i.e. backgrounds) frequently 
        (i.e. a flash video playing on top).  
        <rdar://problem/6933515> REGRESSION(L-SL): Large JPEG images are 
        decoded on drawing, slowing down painting of sites that frequently 
        repaint e.g. because of Flash (pandora.com, Starcraft 2)

        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::imageSourceOptions):

2009-06-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Sam Weinig.

        - Rename html4.css to html.css, since we target HTML5 now
        https://bugs.webkit.org/show_bug.cgi?id=26873

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSStyleSelector.cpp:
        (WebCore::loadFullDefaultStyle):
        * css/html.css: Copied from css/html4.css.
        * css/html4.css: Removed.
        * css/themeWin.css:
        * platform/Theme.h:
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
        * rendering/RenderTheme.h:

2009-06-30  Zan Dobersek  <zandobersek@gmail.com>

        Reviewed by Gustavo Noronha.

        [GTK] Drag and drop support
        https://bugs.webkit.org/show_bug.cgi?id=23642

        Define DragImageRef as GdkPixbuf and implement essential
        functions which manipulate drag images.

        * platform/DragImage.h:
        * platform/gtk/DragImageGtk.cpp:
        (WebCore::dragImageSize):
        (WebCore::deleteDragImage):
        (WebCore::scaleDragImage):
        (WebCore::createDragImageFromImage):

2009-06-30  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        StorageNamespace.cpp build issue
        https://bugs.webkit.org/show_bug.cgi?id=26859

        Moved #endif //ENABLE(DOM_STORAGE) position
        so that the build doesn't fail.
        The namespace WebCore was started after the #if ENABLE(DOM_STORAGE)
        but closed after the #endif.

        * storage/StorageNamespace.cpp:

2009-06-30  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/7020825> HTMLMediaElement should not assume seeking is only possible in 
        buffered time ranges

        * html/HTMLMediaElement.cpp:
            Don't ASSERT if the network state goes to Idle when when the ready state is 
            HaveEnoughData or higher, it is perfectly legal.
        (WebCore::HTMLMediaElement::setReadyState): 
            Don't clear m_seeking after posting a 'seeking' event.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::seek):
            Do nothing when asked to seek to the same time we are already seeking to. Check requested
            seek time against maxTimeSeekable, not maxTimeLoaded.
        (WebCore::MediaPlayerPrivate::doSeek):
            Don't bother stopping a movie that isn't playing. Minor cleanup to make the code more readable.
        (WebCore::MediaPlayerPrivate::seekTimerFired):
            Check requested seek time against maxTimeSeekable, not maxTimeLoaded.
        (WebCore::MediaPlayerPrivate::updateStates):
            A streaming movie has as much data as it needs once it reaches "playable", so 
            set the ready state to HaveFutureData. A movie with metadata doesn't drop back 
            to "have nothing" when seeking. A streaming movie doesn't use the network when paused.
        (WebCore::MediaPlayerPrivate::timeChanged):
            It may not be possible to seek to a specific time in a streamed movie but when seeking 
            in a streaming movie QuickTime sets the time to closest time possible and posts a  
            timechanged notification, so update m_seekTo so we can detect when the seek completes.

2009-06-30  Steve Falkenburg  <sfalken@apple.com>

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

        Reviewed by Sam Weinig.

        Blacklist Yahoo Application State plug-in for versions prior to 1.0.0.6.
        Earlier versions cause corruption crashes.

        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::isPluginBlacklisted):

2009-06-30  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7005207> <video> in canvas broken with ACCEL_COMPOSITING
        
        Fix drawImage of video in CanvasRenderingContext2D when
        accelerated compositing is enabled. This is done by
        adding a new paint method to HTMLVideoElement that
        is only called from canvas, which will create the software
        renderer if necessary, but otherwise calls the regular
        paint method. Meanwhile, add logic to the software video
        renderer so that it can be created without calling repaint
        every time it sees a new frame.
        
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage):
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::paintCurrentFrameInContext):
        * html/HTMLVideoElement.h:
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::paintCurrentFrameInContext):
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext):
        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::createQTMovie):
        (WebCore::MediaPlayerPrivate::createQTVideoRenderer):
        (WebCore::MediaPlayerPrivate::currentRenderingMode):
        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
        (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
        (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):

2009-06-30  David Hyatt  <hyatt@apple.com>

        Reviewed by Beth Dakin.

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

        Get <dcol> elements reflected into the datagrid's column list.  Make sure columns get added/removed
        properly.  (Attribute changes are still not caught.  That is coming in a separate patch.)

        Added fast/dom/HTMLDataGridElement/DataGridColumns-dom.html

        * html/DataGridColumn.h:
        (WebCore::DataGridColumn::create):
        (WebCore::DataGridColumn::setColumnList):
        (WebCore::DataGridColumn::DataGridColumn):
        * html/DataGridColumnList.cpp:
        (WebCore::DataGridColumnList::add):
        (WebCore::DataGridColumnList::remove):
        (WebCore::DataGridColumnList::clear):
        * html/DataGridColumnList.h:
        * html/HTMLDataGridColElement.cpp:
        (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
        (WebCore::HTMLDataGridColElement::findDatagridAncestor):
        (WebCore::HTMLDataGridColElement::ensureColumn):
        (WebCore::HTMLDataGridColElement::insertedIntoTree):
        (WebCore::HTMLDataGridColElement::removedFromTree):
        (WebCore::HTMLDataGridColElement::sortable):
        (WebCore::HTMLDataGridColElement::setSortable):
        * html/HTMLDataGridColElement.h:
        (WebCore::HTMLDataGridColElement::column):
        (WebCore::HTMLDataGridColElement::setColumn):
        (WebCore::HTMLDataGridColElement::datagrid):
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::setDataSource):
        (WebCore::HTMLDataGridElement::dataSource):

2009-06-30  Jeremy Orlow (jorlow@chromium.org)

        Reviewed by David Levin.

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

        Fix some minor build issues in the v8 bindings.

        * bindings/v8/custom/V8StorageCustom.cpp:
        (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
        (WebCore::storageGetter):
        (WebCore::storageSetter):
        (WebCore::storageDeleter):
        * storage/StorageArea.cpp:

2009-06-30  Adam Langley  <agl@google.com>

        Reviewed by Eric Seidel.

        Chromium Linux: use different fonts for each script run.

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

        Previously, when rendering complex text, we picked a single font which
        could render all the glyphs needed for the run. However, this meant
        that sometimes lines were rendered with, for example, [LATIN, THAI,
        LATIN] and we could end up with a different font for the Latin parts
        than for lines without Thai in them.

        With this patch, we pick a font for each script run.

        This change is covered by existing layout tests.

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::Font::drawGlyphs):
        (WebCore::TextRunWalker::TextRunWalker):
        (WebCore::TextRunWalker::~TextRunWalker):
        (WebCore::TextRunWalker::nextScriptRun):
        (WebCore::TextRunWalker::fontPlatformDataForScriptRun):
        (WebCore::TextRunWalker::setupFontForScriptRun):
        (WebCore::TextRunWalker::allocHarfbuzzFont):
        (WebCore::setupForTextPainting):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):
        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::setupPaint):

2009-06-30  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt, Dan Bernstein.
        
        <rdar://problem/6191676> Redraw issues scrolling overflow:scroll div with compositing

        There are two parts to this fix. First, if a compositing layer has overflow clipping
        or a mask, then the compositing layer does not need to be sized to encompass all
        non-composited children.
        
        Second, when scrolling, we have to back up to the compositing ancestor and have
        it reposition descendant compositing layers, because overflow doesn't follow
        the z-order tree.
        
        Test: compositing/overflow/overflow-scroll.html

        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        Pass the UpdateCompositingLayers flag when updating layers after layout, so that
        we can reposition compositing layers if we're not about to do a layer rebuild.
        
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPositions):
        Only update compositing layers if the flag is set.
        
        (WebCore::RenderLayer::scrollToOffset):
        Do compositing layer updates from the compositing ancestor in one fell swoop.

        * rendering/RenderLayer.h:
        Replace the unused FullUpdate flag with one that allows us to specify whether
        compositing layers should be updated.
        
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateAfterLayout):
        * rendering/RenderLayerBacking.h:
        New param that we can pass to updateCompositingDescendantGeometry to control
        whether the update goes deep.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
        We can return earlier if this is not a self-painting layer.
        If the layer has overflow clip or a mask, then the composited bounds are just the
        local bounds, excluding descendants.
        
        (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
        * rendering/RenderLayerCompositor.h:
        Renamed from updateCompositingChildrenGeometry, and added a flag that allows
        us to do a deep update.

2009-06-30  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=26764
        Uncaught NOT_FOUND_ERR: DOMException 8 loading empty text file

        Test: fast/parser/empty-text-resource.html

        * loader/TextDocument.cpp: (WebCore::TextTokenizer::finish): Create document tree if it
        hasn't been created yet.

2009-06-30  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adam Roben.

        Renamed scrollbarUnderPoint to scrollbarAtPoint.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::hitTestResultAtPoint):
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::handleMouseMoveEvent):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollbarAtPoint):
        * platform/ScrollView.h:
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::handleMouseDownEvent):
        (WebCore::PopupListBox::handleMouseMoveEvent):

2009-06-30  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoff Garen.

        <rdar://problem/6960286> CrashTracer: [REGRESSION] 1120 crashes in Safari at com.apple.WebCore WebCore::JSLazyEventListener::parseCode const + 62

        <select> elements and other elements the produce popups can keep their popups
        live across a page load.  If this occurs and the <select> element has an
        onchange handler it is possible to get into a state where we try to execute
        JS on a page that no longer has an execution context. 

        * bindings/js/JSLazyEventListener.cpp:
        (WebCore::JSLazyEventListener::parseCode):
          Be paranoid and add a null check, but assert as well because we shouldn't
          actually get to this point.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::valueChanged):

2009-06-30  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        <https://bugs.webkit.org/show_bug.cgi?id=25435>

        Added support for sending MessagePorts to/from Workers via postMessage().

        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::messageChannel):
        Exposes MessageChannel constructor WorkerContext.
        * bindings/js/JSWorkerCustom.cpp:
        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        Now correctly handles being instantiated from within a Worker.
       * platform/CrossThreadCopier.h:
        (WebCore::GenericWorkerTaskTraits<PassOwnPtr>):
        Added support for passing PassOwnPtr as argument to GenericWorkerTask
       * workers/GenericWorkerTask.h:
        (WebCore::):
        * workers/Worker.cpp:
        (WebCore::Worker::postMessage):
        Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
        (WebCore::Worker::dispatchMessage):
        * workers/Worker.h:
        * workers/Worker.idl:
        Added an optional MessagePort argument to postMessage()
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::hasPendingActivity):
        Workers now report pending activity whenever there are remotely entangled ports.
        (WebCore::WorkerContext::postMessage):
        Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
        (WebCore::WorkerContext::dispatchMessage):
        * workers/WorkerContext.h:
        * workers/WorkerContext.idl:
        Added an optional MessagePort argument to postMessage()
        * workers/WorkerContextProxy.h:
        * workers/WorkerMessagingProxy.cpp:
        Updated messaging infrastructure to transport an optional MessagePort/MessagePortChannel.
        (WebCore::MessageWorkerContextTask::create):
        (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
        (WebCore::MessageWorkerContextTask::performTask):
        (WebCore::MessageWorkerTask::create):
        (WebCore::MessageWorkerTask::MessageWorkerTask):
        (WebCore::MessageWorkerTask::performTask):
        (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
        (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
        * workers/WorkerMessagingProxy.h:
        Added additional postMessage() API that accepts a MessagePort
        * workers/WorkerObjectProxy.h:
        Added additional postMessage() API that accepts a MessagePort

2009-06-30  Adam Langley  <agl@google.com>

        Reviewed by Eric Seidel.

        Chromium: Add complex text support on Linux.

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

        This patch adds complex text support on Linux using Harfbuzz. It's not
        the fastest code possible: some caching of font tables will certainly
        be required. However, it's probably the simplest code that works.

        This will require checking in new baselines in the Chromium tree for
        those layout tests which now pass.

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::Font::drawGlyphs):
        (WebCore::truncateFixedPointToInteger):
        (WebCore::TextRunWalker::TextRunWalker):
        (WebCore::TextRunWalker::~TextRunWalker):
        (WebCore::TextRunWalker::reset):
        (WebCore::TextRunWalker::setXOffsetToZero):
        (WebCore::TextRunWalker::rtl):
        (WebCore::TextRunWalker::setBackwardsIteration):
        (WebCore::TextRunWalker::nextScriptRun):
        (WebCore::TextRunWalker::glyphs):
        (WebCore::TextRunWalker::length):
        (WebCore::TextRunWalker::xPositions):
        (WebCore::TextRunWalker::advances):
        (WebCore::TextRunWalker::width):
        (WebCore::TextRunWalker::logClusters):
        (WebCore::TextRunWalker::numCodePoints):
        (WebCore::TextRunWalker::widthOfFullRun):
        (WebCore::TextRunWalker::allocHarfbuzzFont):
        (WebCore::TextRunWalker::deleteGlyphArrays):
        (WebCore::TextRunWalker::createGlyphArrays):
        (WebCore::TextRunWalker::expandGlyphArrays):
        (WebCore::TextRunWalker::shapeGlyphs):
        (WebCore::TextRunWalker::setGlyphXPositions):
        (WebCore::setupForTextPainting):
        (WebCore::fontPlatformDataForTextRun):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::glyphIndexForXPositionInScriptRun):
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):
        * platform/graphics/chromium/HarfbuzzSkia.cpp: Added.
        (WebCore::SkiaScalarToHarfbuzzFixed):
        (WebCore::stringToGlyphs):
        (WebCore::glyphsToAdvances):
        (WebCore::canRender):
        (WebCore::getOutlinePoint):
        (WebCore::getGlyphMetrics):
        (WebCore::getFontMetric):
        (WebCore::harfbuzzSkiaGetTable):

2009-06-30  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7019799> Slow loading MediaDocument can fall back to plug-in unnecessarily

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::updateStates):
            Always fall back to a plug-in if m_hasUnsupportedTracks is set.
        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
            Set m_hasUnsupportedTracks if we disable a track.

2009-06-30  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Fix inverted if/else that's causing a layout test in src.chromium.org to fail.

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

        * bindings/v8/V8Proxy.cpp:
        (WebCore::GCPrologueVisitor::visitDOMWrapper): if (port2), not if (!port2).

2009-06-30  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap
          to Grid" window is clipping

        Added an app-specific quirk to revert the behavior of <link> elements
        to the way it was before r30673, namely that if the rel attribute
        is not "stylesheet" but the type attribute contains "text/css", the
        link behaves as a stylesheet link.

        * WebCore.base.exp: Exported setTreatsAnyTextCSSLinkAsStylesheet().
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process): Check
            Settings::treatsAnyTextCSSLinkAsStylesheet() and if true, allow a
            style sheet link if the type contains "text/css".
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
            Initialize m_treatsAnyTextCSSLinkAsStylesheet.
        (WebCore::Settings::setTreatsAnyTextCSSLinkAsStylesheet): Added.
        * page/Settings.h:
        (WebCore::Settings::treatsAnyTextCSSLinkAsStylesheet): Added.

2009-06-30  Adrien Nader  <camaradetux@gmail.com>

        Reviewed by Xan Lopez.

        Fix typo in GNUMakefile.am: it reads WebCOre instead of WebCore.

        * GNUmakefile.am:

2009-06-30  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Xan Lopez.

        [Gtk] Turn on ENABLE_DATAGRID so we can run the layout tests.

        * GNUmakefile.am:

2009-06-30  Raju Kunnath  <raju.kunnath@nokia.com>

        Reviewed by Simon Hausmann.

        <https://bugs.webkit.org/show_bug.cgi?id=26752>

        [Qt] Windows release build issue with Qt4.5 due to -GL flag on msvc2005 and msvc2008. 

        * WebCore.pro: Removed -GL compiler option for win32-msvc2005|win32-msvc2008.

2009-06-30  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        Initialize member variables in the right order. Fixes compiler
        warning.

        * platform/image-decoders/bmp/BMPImageReader.cpp:
        (WebCore::BMPImageReader::BMPImageReader):

2009-06-29  Xan Lopez  <xlopez@igalia.com>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=26831
        Fix compiler warning in WorkerLoaderProxy.h

        Forward declaration of a class within a class is not allowed,
        since the compiler can't know if the declaration is legal at that
        point. This gives the following compiler warning:

        ../../WebCore/workers/WorkerLoaderProxy.h:40: warning: declaration
        "class WebCore::ScriptExecutionContext::Task" does not declare
        anything

        Include the full ScriptExecutionHeader header instead.

        * workers/WorkerLoaderProxy.h:

2009-06-29  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        Remove unused function.

        * plugins/gtk/PluginPackageGtk.cpp:

2009-06-29  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Change RenderLayer::updateLayerPositions() to use a bitmask instead of two
        boolean arguments. FullUpdate is unused at present, but will be used soon.

        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPositions):
        (WebCore::RenderLayer::scrollToOffset):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::):

2009-06-29  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Fix one more bad merge in V8Proxy.

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

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setDOMException): setDOMExceptionHelper() instead of convertToV8Object().

2009-06-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Remove more unused scons support.

        * SConstruct: Removed.

2009-06-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Dave Hyatt.

        Fix some incorrect create functions.

        * html/DataGridColumn.h:
        (WebCore::DataGridColumn::create):
        * html/DataGridColumnList.h:
        (WebCore::DataGridColumnList::create):

2009-06-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Dave Hyatt.

        Remove initialize method from DataGridDataSource and add
        DOMDataGridDataSource.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSDataGridDataSource.cpp:
        * bindings/js/JSDataGridDataSource.h:
        * bindings/js/JSHTMLDataGridElementCustom.cpp:
        (WebCore::JSHTMLDataGridElement::setDataSource):
        * html/DOMDataGridDataSource.cpp: Added.
        (WebCore::DOMDataGridDataSource::DOMDataGridDataSource):
        (WebCore::DOMDataGridDataSource::~DOMDataGridDataSource):
        * html/DOMDataGridDataSource.h: Added.
        (WebCore::DOMDataGridDataSource::create):
        (WebCore::DOMDataGridDataSource::isDOMDataGridDataSource):
        (WebCore::asDOMDataGridDataSource):
        * html/DataGridDataSource.h:
        (WebCore::DataGridDataSource::isDOMDataGridDataSource):
        (WebCore::DataGridDataSource::isJSDataGridDataSource):
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
        (WebCore::HTMLDataGridElement::setDataSource):
        (WebCore::HTMLDataGridElement::dataSource):
        * html/HTMLDataGridElement.h:

2009-06-29  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Fix a couple of bad merge items from my previous V8Proxy patch.

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

        * bindings/v8/V8Collection.h:
        (WebCore::nodeCollectionNamedPropertyGetter):  Fix a bad function name that slipped through.
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setDOMException):  Fix a bad merge that caused a couple of lines of extraneous, breaking code to get in.

2009-06-29  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser  <simon.fraser@apple.com>.

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

        Fixed crash due to dereference of m_toStyle

        * page/animation/ImplicitAnimation.cpp:
        (WebCore::ImplicitAnimation::isTargetPropertyEqual):

2009-06-29  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded.

        * WebCore.base.exp: 
            Export _wkQTMovieGetType

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::hasSingleSecurityOrigin):
            Move to keep with other non-callback functions.
        (WebCore::MediaPlayer::movieLoadType):
            New, returns the movie type.
        * platform/graphics/MediaPlayer.h:
            Declare MovieLoadType enum and movieLoadType method.

        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::movieLoadType):
            Default implementation of movieLoadType

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::createQTMovie):
            Don't base m_isStreaming on protocol, there are other types of streaming movies.
        (WebCore::MediaPlayerPrivate::maxTimeBuffered):
            Don't assume all streams are unbuffered.
        (WebCore::MediaPlayerPrivate::updateStates):
            Update m_isStreaming once we have metadata.
        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
            Tracks that are disabled to begin with shouldn't be included in m_enabledTrackCount.
        (WebCore::MediaPlayerPrivate::movieLoadType):
            New, return movie type.

        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
            Add wkQTMovieGetType.

2009-06-29  Alice Liu  <alice.liu@apple.com>

        Fixed <rdar://problem/6930280> Reproducible crash at USA Today photo gallery

        Reviewed by Anders Carlsson.

        No test added because the crash requires a flash plugin

        * plugins/win/PluginMessageThrottlerWin.cpp:
        Rely on the hWnd of the plugin to tell us whether the PluginView has 
        been deleted during execution of its wndProc.
        (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):

2009-06-29  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=26811
         [Chromium] Remove a flag and functions used to enable workers in runtime.

        * bindings/v8/WorkerContextExecutionProxy.cpp:
        * bindings/v8/WorkerContextExecutionProxy.h:

2009-06-29  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.
        
        <rdar://problem/6976712> Text antialiasing problems when rendering into compositing layers.
        
        Improve the appearance of text in compositing layers by making use of
        CA's layer geometry flipping, rather that doing it ourselves with a flip
        transform. This allows CG to use font autohinting in the layer text.

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::setGeometryOrientation):
        (WebCore::GraphicsLayer::geometryOrientation):
        New methods to set whether this layer uses flipped geometry.
        
        * platform/graphics/mac/GraphicsLayerCA.h:
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::setGeometryOrientation):
        (WebCore::GraphicsLayerCA::geometryOrientation):
        Subclass in order to call into CA
        
        (WebCore::GraphicsLayerCA::setContentsLayer):
        Now that CA is doing the geometry flipping, we no longer need to flip the content
        layers for image and video manually
        
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
        Turn on flipping on the root layer.

2009-06-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Adam Treat.

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

        Implement most WML specific <select> element features.
        Add 'iname' / 'ivalue' support and support variable references.

        Add two tests covering most select/variable related functionality.
        Needs more tests when adding full 'iname' / 'ivalue' support (used in conjuction with onpick).

        Tests: http/tests/wml/post-data-to-server.html
               wml/select-element-variables.html

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::optionCount): Refactored from HTMLSelectElement::length() for use within HTML & WML.
        * dom/SelectElement.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::length): Use new SelectElement::optionCount() function. (no functional changes for HTML).
        * wml/WMLCardElement.cpp:
        (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): Activated commented code taking care of WMLSelectElement initialization.
        * wml/WMLSelectElement.cpp: Add a bunch of new code handling WML specific feature processing.
        (WebCore::WMLSelectElement::title):
        (WebCore::WMLSelectElement::formControlName):
        (WebCore::WMLSelectElement::defaultEventHandler):
        (WebCore::WMLSelectElement::selectInitialOptions):
        (WebCore::WMLSelectElement::calculateDefaultOptionIndices):
        (WebCore::WMLSelectElement::selectDefaultOptions):
        (WebCore::WMLSelectElement::initializeVariables):
        (WebCore::WMLSelectElement::updateVariables):
        (WebCore::WMLSelectElement::parseIndexValueString):
        (WebCore::WMLSelectElement::valueStringToOptionIndices):
        (WebCore::WMLSelectElement::optionIndicesToValueString):
        (WebCore::WMLSelectElement::optionIndicesToString):
        (WebCore::WMLSelectElement::name):
        (WebCore::WMLSelectElement::value):
        (WebCore::WMLSelectElement::iname):
        (WebCore::WMLSelectElement::ivalue):
        * wml/WMLSelectElement.h:

2009-06-29  David Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        Put <datagrid> behind an ifdef.

        * Configurations/FeatureDefines.xcconfig:
        * bindings/js/JSDataGridColumnListCustom.cpp:
        * bindings/js/JSDataGridDataSource.cpp:
        * bindings/js/JSDataGridDataSource.h:
        * bindings/js/JSHTMLDataGridElementCustom.cpp:
        * html/DataGridColumn.cpp:
        * html/DataGridColumn.h:
        * html/DataGridColumn.idl:
        * html/DataGridColumnList.cpp:
        * html/DataGridColumnList.h:
        * html/DataGridColumnList.idl:
        * html/DataGridDataSource.h:
        * html/HTMLDataGridCellElement.cpp:
        * html/HTMLDataGridCellElement.h:
        * html/HTMLDataGridCellElement.idl:
        * html/HTMLDataGridColElement.cpp:
        * html/HTMLDataGridColElement.h:
        * html/HTMLDataGridColElement.idl:
        * html/HTMLDataGridElement.cpp:
        * html/HTMLDataGridElement.h:
        * html/HTMLDataGridElement.idl:
        * html/HTMLDataGridRowElement.cpp:
        * html/HTMLDataGridRowElement.h:
        * html/HTMLDataGridRowElement.idl:
        * html/HTMLTagNames.in:
        * page/DOMWindow.idl:
        * rendering/RenderDataGrid.cpp:
        * rendering/RenderDataGrid.h:

2009-06-29  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Ariya Hidayat and Adam Roben.

        Fix compilation with MINGW. Ported MSVC inline assembly to
        GNU inline assembly. Also fixed casting errors where gcc
        refused to cast a pointer-to-function to a pointer-to-object,
        without an intermediate cast to a non-pointer type.

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::hookedBeginPaint):
        (WebCore::PluginView::hookedEndPaint):
        (WebCore::hook):
        (WebCore::setUpOffscreenPaintingHooks):

2009-06-26  John Sullivan  <sullivan@apple.com>

        Added Speech submenu to context menu on Mac when there's a non-editable selection
        (it was already present when there's an editable selection). 
        Also added support for disabling "Stop Speaking" when there is no speaking to stop.

        Reviewed by Tim Hatcher.

        * loader/EmptyClients.h:
        (WebCore::EmptyContextMenuClient::isSpeaking):
        implemented this new virtual function to return false
        
        * page/ContextMenuClient.h:
        declared this new pure virtual function
        
        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):
        insert Speech item (after a separator) on Mac when there's selected non-editable text
        (WebCore::ContextMenu::checkOrEnableIfNeeded):
        enable Stop Speaking item only if the context menu client returns true for isSpeaking()

2009-06-28  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        - fix https://bugs.webkit.org/show_bug.cgi?id=26783
          <rdar://problem/7014543> REGRESSION (r45296): Subfolders not displayed
          in MobileMe iDisk Web App

        Test: added a case to fast/dom/Element/scrollWidth.html

        Ensure that scroll{Width, Height} is greater or equal to
        client{Width, Height}.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::scrollWidth):
        (WebCore::RenderBox::scrollHeight):

2009-06-27  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26780
        
        Do not make compositing layers for non-self-painting RenderLayers,
        since these exist only to push a clip onto the clipping stack. If such
        a layer gets compositied for some other reason, it should not paint.
        
        Also ensure that we update composited layer positions correctly
        inside overflow:scroll layers. We can't assume that the contents
        are child layers, so we have to go up to the compositing ancestor,
        and tell it to update all its child layer positions as we do 
        after layout.

        Tests: compositing/layers-inside-overflow-scroll.html
               compositing/self-painting-layers.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollToOffset):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
        (WebCore::RenderLayerCompositor::needsToBeComposited):

2009-06-28  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>

        Reviewed by Eric Seidel.

        PurgeableBuffer #defines leave out functions on gtk MacOSX 10.4 build
        https://bugs.webkit.org/show_bug.cgi?id=23057

        Define these functions for Gtk as well.

        * platform/PurgeableBuffer.h:

2009-06-28  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Update CodeGeneratorV8.pm to match the new api for V8Proxy.

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

        * bindings/scripts/CodeGeneratorV8.pm: Match the current version of V8Proxy.

2009-06-28  Nicolas Sylvain  <nsylvain@chromium.org>

        Reviewed by Dimitri Glazkov.

        If loading a font fails because of the sandbox, we ask the browser process to 
        try to load it by calling ensureFontLoaded. If it still fails after 
        ensureFontLoaded, we hit a ASSERT_NOT_REACHED. 

        This case happens once in a while during browser shutdown. The browser will 
        queue a message to the renderer to shutdown, and will then stop answering sync 
        messages from the renderer. If the renderer is still loading a page during this 
        time, it might try to call the browser process to ask to load a font. The 
        browser process will ignore the request, and the font will fail to load, even 
        after the second try. 

        This is unfortunate, but there is no real risk here, since the renderer will be 
        going away as soon as it processes another message. 

        This can't be layout tested as it depends on the sandbox. 

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

        * platform/graphics/chromium/FontChromiumWin.cpp:
        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:

2009-06-28  John Abd-El-Malek  <jam@chromium.org>

        Reviewed by Eric Seidel.

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

        Test: plugins/netscape-plugin-map-data-to-src.html

        Fix problems with Real or WMP plugins not displaying because "data" was set
        on the OBJECT tag instead of "src".  This is based on what Firefox does, see
        http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsObjectFrame.cpp#3045

        * rendering/RenderPartObject.cpp:
        (WebCore::mapDataParamToSrc):
        (WebCore::RenderPartObject::updateWidget):

2009-06-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Jan Alonzo.

        [Qt] Build fix after r45290
        https://bugs.webkit.org/show_bug.cgi?id=26769

        * WebCore.pro:

2009-06-27  Emilio Pozuelo Monfort  <pochu27@gmail.com>

        Reviewed by Jan Alonzo.

        [GTK] Don't use deprecated GTK+ symbols.
        https://bugs.webkit.org/show_bug.cgi?id=26583

        * plugins/gtk/gtk2xtbin.c:
        (gtk_xtbin_class_init):
        (gtk_xtbin_new):
        (gtk_xtbin_destroy):

2009-06-27  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=26780
        
        Fix up previous change. When computeCompositingRequirements() determines
        that the current layer is composited, it needs to inform its parent
        by setting compositingState.m_subtreeIsCompositing() to true. That didn't
        always happen after the previous patch. Clarified the logic here.
        
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::CompositingState::CompositingState):
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):

2009-06-27  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=26780
        
        First part: fix the RenderLayer::hasCompositingDescendant() flag to be set
        correctly.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
        Do not unconditionally set compositingState.m_subtreeIsCompositing, because
        that can clobber the value from an earlier sibling. Add some more comments.
        
        Remove a final use of Vector iterators.
        
        (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
        Move the normalFlowList() processing outside the test for isStackingContext().

2009-06-27  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser and Antti Koivisto.

        - make paintFillLayerExtended() non-virtual and remove its clipY and
          clipH parameters

        These parameters were computed and passed along to
        paintFillLayerExtended in order to vertically constrain the rect fill to
        the damage rect, because Qt cannot paint tall rectangles (see
        <http://websvn.kde.org/?view=rev&revision=42721>). Since the damage rect
        is passed along in the PaintInfo, the extra parameters are redundant,
        and the intersection can just take place in paintFillLayerExtended().

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintFillLayers):
        (WebCore::InlineFlowBox::paintFillLayer):
        (WebCore::InlineFlowBox::paintBoxDecorations):
        (WebCore::InlineFlowBox::paintMask):
        * rendering/InlineFlowBox.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintRootBoxDecorations):
        (WebCore::RenderBox::paintBoxDecorations):
        (WebCore::RenderBox::paintMask):
        (WebCore::RenderBox::paintMaskImages):
        (WebCore::RenderBox::paintFillLayers):
        (WebCore::RenderBox::paintFillLayer):
        * rendering/RenderBox.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations):
        (WebCore::RenderFieldset::paintMask):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paintBoxDecorations):
        (WebCore::RenderTable::paintMask):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
        (WebCore::RenderTableCell::paintMask):

2009-06-27  Ryosuke Niwa  <rniwa@google.com>

        Reviewed by Eric Seidel.

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

        Clean up for IndentOutdentCommand::indentRegion, and solved most of problems related to the bug 21712.
        https://bugs.webkit.org/show_bug.cgi?id=21712

        Added few utility functions to htmlediting.h/cpp

        isVisibilyAdjacent checks whether the first position is visibly next to the second position.
        i.e. there is no visible node between the first and second positions

        canMergeLists checks whether two lists can be merged.
        It checks the type of list, the editing boundary, and adjacency of the lists.

        Tests: editing/execCommand/indent-nested-lists-1.html
               editing/execCommand/indent-nested-lists-2.html
               editing/execCommand/indent-nested-lists-3.html
               editing/execCommand/indent-nested-lists-4.html
               editing/execCommand/indent-nested-lists-5.html
               editing/execCommand/indent-nested-lists-6.html
               editing/execCommand/indent-nested-lists-7.html
               editing/execCommand/outdent-nested-lists-1.html
               editing/execCommand/outdent-nested-lists-2.html
               editing/execCommand/outdent-nested-lists-3.html
               editing/execCommand/outdent-nested-lists-4.html

        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
        (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
        (WebCore::IndentOutdentCommand::indentIntoBlockquote):
        (WebCore::IndentOutdentCommand::indentRegion):
        * editing/IndentOutdentCommand.h:
        * editing/htmlediting.cpp:
        (WebCore::enclosingListChild):
        (WebCore::canMergeLists):
        (WebCore::isVisibilyAdjacent):
        * editing/htmlediting.h:

2009-06-27  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Fix completion when iterating options using Tab.

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

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype._completionsReady):

2009-06-27  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=25889
        [GTK] scrollbar policy for main frame is not implementable

        Override visibleContentRect to handle GTK+'s case, in which
        scrollbars or equivalent decoration are painted by the parent
        widget.

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

2009-06-27  Daniel Bates  <dbates@intudata.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=26708
        
        Fix addresses false negatives with respect to scheme relative paths, iFrame JavaScript URLs,
        and UTF-7 encoded payloads.   

        Tests: http/tests/security/xssAuditor/http-equiv-utf-7-encoded.html
               http/tests/security/xssAuditor/iframe-javascript-url.html
               http/tests/security/xssAuditor/script-tag-utf-7-encoded.html
               http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptHandler): Moved XSSAuditor check to HTMLTokenizer::parseTag.
        (WebCore::HTMLTokenizer::parseTag):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadSubframe): Modified to inform XSSAuditor of parent frame so
        as to compare against iFrame javascript URL.
        * page/XSSAuditor.cpp: Removed method XSSAuditor::isControlCharacter. Instead, exposed method
        isControlCharacter in ResourceResponseBase.cpp.
        (WebCore::XSSAuditor::XSSAuditor):
        (WebCore::XSSAuditor::decodeURL): Modified to decode string using specified encoder.
        (WebCore::XSSAuditor::findInRequest): Generalized to arbitrary frame so as to prevent execution
        of iFrame javascript URL.
        * page/XSSAuditor.h: Added field m_parentFrame.
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::isControlCharacter):
        * platform/network/ResourceResponseBase.h:

2009-06-27  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        Bug 26771: Canvas is incorrectly tainted when drawing from a video element that uses <source> elements

        The drawImage(<video>) logic naively assumes that it just needs
        to check the src attribute of the video element when in fact it
        needs to look at the url that is being played instead.  Failure
        to do this means that video provided through source elements 
        taints the canvas.

        Test: media/video-canvas-source.html

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::checkOrigin):
        (WebCore::CanvasRenderingContext2D::drawImage):
        * html/CanvasRenderingContext2D.h:

2009-06-26  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=26695
        
        Added the ability to do scrollbar hit testing in EventHandler, changed the
        signature of a PlatformWheelEvent constructor, and changed scrollbarUnderMouse
        to scrollbarUnderPoint, and updated all calls to that function.        

        * page/EventHandler.cpp:
        (WebCore::EventHandler::hitTestResultAtPoint):
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::handleMouseMoveEvent):
        * page/EventHandler.h:
        (WebCore::):
        * platform/PlatformWheelEvent.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollbarUnderPoint):
        * platform/ScrollView.h:
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::handleMouseDownEvent):
        (WebCore::PopupListBox::handleMouseMoveEvent):
        * platform/win/WheelEventWin.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):


2009-06-26  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/7011924> Opacity transitions should not trigger hardware compositing mode
        
        Don't go into compositing mode just for opacity transitions, but they will be
        hardware acclerated if we're already compositing.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
        (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
        (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
        * rendering/RenderLayerCompositor.h:

2009-06-26  Simon Fraser  <simon.fraser@apple.com>

        Rubber-stamped by Dave Levin

        Rename ioCompState to compositingState to better match WebCore coding style.
        
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):

2009-06-26  Dan Bernstein  <mitz@apple.com>

        Reviewed by Mark Rowe.

        - revert unintentional project changes from r45277

        * WebCore.xcodeproj/project.pbxproj:

2009-06-26  Mark Rowe  <mrowe@apple.com>

        Fix the Windows build.

        * WebCore.vcproj/WebCore.vcproj: Remove ColorSafari.cpp as
        the file was deleted from SVN.

2009-06-26  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

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

        Change to use array indexing rather than Vector enumerators; the former
        are preferred style.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::hasNonCompositingContent):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
        (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
        (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
        (WebCore::RenderLayerCompositor::layerHas3DContent):

2009-06-26  Dan Bernstein  <mitz@apple.com>

        Reviewed by Oliver Hunt.

        - fix <rdar://problem/6961476> REGRESSION (r42043): scrollWidth reported
          as 1 px

        Test: fast/dom/Element/scrollWidth.html

        Changed scrollWidth and scrollHeight to use the same logic for
        visible overflow boxes that is used for clipped overflow boxes. In
        particular, borders are not included and
        {leftmost,rightmost,lowest}Position() are used. This logic matches IE8.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::scrollWidth):
        (WebCore::RenderBox::scrollHeight):

2009-06-26  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Oliver Hunt.

        Bug 26725: aria-hidden, aria-disabled, aria-readonly need to be implemented
        https://bugs.webkit.org/show_bug.cgi?id=26725

        Tests: accessibility/aria-disabled.html
               accessibility/aria-hidden.html
               accessibility/aria-readonly.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::ariaIsHidden):
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        (WebCore::AccessibilityRenderObject::isEnabled):
        (WebCore::AccessibilityRenderObject::canSetValueAttribute):
        * accessibility/AccessibilityRenderObject.h:
        * html/HTMLAttributeNames.in:

2009-06-26  Brett Wilson  <brettw@chromium.org>

        Reviewed by David Levin.

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

        GIFImageDecoder is broken.

        Make the GIFImageDecoder.repetitionCount function const to match the
        base class. The mismatched definitions were causing the function to not
        get called.

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

2009-06-26  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser  <simon.fraser@apple.com>.

        Additional fix for https://bugs.webkit.org/show_bug.cgi?id=26651

        The flag should always default to true to avoid it getting set
        to false in a build with accelerated compositing turned off
        and then disabling accelerated compositing when subsequently
        running a build with it turned on.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):

2009-06-26  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        Followup for the fix for <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails

        Now that other MIME type correction stuff is in our swizzled method, Tiger needs it too!

        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
        * platform/network/mac/WebCoreURLResponse.h:

2009-06-26  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

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

        For the final step of https://bugs.webkit.org/show_bug.cgi?id=25376,
        combine LocalStorage and SessionStorage into StorageNamespace. The
        synching code (for LocalStorage) has already been removed, so these
        classes are now very similar.  All they do is essentially contain a
        logical grouping of origins that are attached to specific contexts
        (be it PageGroups for LocalStorage and Page for SessionStorage).

        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * page/Chrome.cpp:
        (WebCore::Chrome::createWindow):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::localStorage):
        * page/DOMWindow.h:
        * page/Page.cpp:
        (WebCore::Page::sessionStorage):
        (WebCore::Page::setSessionStorage):
        * page/Page.h:
        * page/PageGroup.cpp:
        (WebCore::PageGroup::localStorage):
        * page/PageGroup.h:
        * storage/LocalStorage.cpp: Removed.
        * storage/LocalStorage.h: Removed.
        * storage/LocalStorageTask.cpp:
        * storage/LocalStorageThread.cpp:
        * storage/SessionStorage.cpp: Removed.
        * storage/SessionStorage.h: Removed.
        * storage/StorageArea.cpp:
        (WebCore::StorageArea::create):
        (WebCore::StorageArea::StorageArea):
        (WebCore::StorageArea::copy):
        (WebCore::StorageArea::length):
        (WebCore::StorageArea::key):
        (WebCore::StorageArea::getItem):
        (WebCore::StorageArea::setItem):
        (WebCore::StorageArea::removeItem):
        (WebCore::StorageArea::clear):
        (WebCore::StorageArea::contains):
        (WebCore::StorageArea::importItem):
        (WebCore::StorageArea::close):
        (WebCore::StorageArea::dispatchStorageEvent):
        * storage/StorageArea.h:
        (WebCore::):
        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::scheduleFinalSync):
        * storage/StorageNamespace.cpp: Copied from WebCore/storage/LocalStorage.cpp.
        (WebCore::localStorageNamespaceMap):
        (WebCore::StorageNamespace::localStorageNamespace):
        (WebCore::StorageNamespace::sessionStorageNamespace):
        (WebCore::StorageNamespace::StorageNamespace):
        (WebCore::StorageNamespace::~StorageNamespace):
        (WebCore::StorageNamespace::copy):
        (WebCore::StorageNamespace::storageArea):
        (WebCore::StorageNamespace::close):
        * storage/StorageNamespace.h: Copied from WebCore/storage/LocalStorage.h.

2009-06-26  Nate Chapin  <japhet@chromium.org>

        Reviewed by David Levin.

        Upstream V8Proxy.  This involved updating a lot of function and variable names to match WebKit style, hence the large size.

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

        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::~ScheduledAction):
        (WebCore::ScheduledAction::execute):
        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::ScriptCallStack):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::isSafeScript):
        (WebCore::ScriptController::gcProtectJSWrapper):
        (WebCore::ScriptController::gcUnprotectJSWrapper):
        (WebCore::ScriptController::processingUserGesture):
        (WebCore::ScriptController::evaluate):
        (WebCore::ScriptController::setEventHandlerLineNumber):
        (WebCore::ScriptController::bindToWindowObject):
        (WebCore::ScriptController::collectGarbage):
        (WebCore::ScriptController::haveInterpreter):
        (WebCore::createScriptObject):
        (WebCore::ScriptController::createScriptObjectForPluginElement):
        * bindings/v8/ScriptInstance.cpp:
        (WebCore::V8ScriptInstance::clear):
        (WebCore::V8ScriptInstance::set):
        * bindings/v8/ScriptObject.cpp:
        (WebCore::ScriptGlobalObject::set):
        * bindings/v8/ScriptObjectQuarantine.cpp:
        (WebCore::getQuarantinedScriptObject):
        * bindings/v8/ScriptScope.cpp:
        (WebCore::ScriptScope::ScriptScope):
        * bindings/v8/ScriptValue.h:
        (WebCore::ScriptValue::ScriptValue):
        (WebCore::ScriptValue::operator=):
        (WebCore::ScriptValue::clear):
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::invokeEventHandler):
        (WebCore::V8AbstractEventListener::handleEvent):
        (WebCore::V8AbstractEventListener::disposeListenerObject):
        (WebCore::V8AbstractEventListener::getReceiverObject):
        * bindings/v8/V8Collection.cpp:
        (WebCore::toOptionsCollectionSetter):
        * bindings/v8/V8Collection.h:
        (WebCore::getV8Object):
        (WebCore::getNamedPropertyOfCollection):
        (WebCore::nodeCollectionNamedPropertyGetter):
        (WebCore::getIndexedPropertyOfCollection):
        (WebCore::nodeCollectionIndexedPropertyGetter):
        (WebCore::nodeCollectionIndexedPropertyEnumerator):
        (WebCore::collectionIndexedPropertyEnumerator):
        (WebCore::collectionStringOrNullIndexedPropertyGetter):
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::weakDOMObjectCallback):
        (WebCore::DOMData::removeObjectsFromWrapperMap):
        * bindings/v8/V8Helpers.cpp:
        (WebCore::wrapNPObject):
        (WebCore::toV8Context):
        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::~V8LazyEventListener):
        (WebCore::V8LazyEventListener::getListenerFunction):
        (WebCore::V8LazyEventListener::callListenerFunction):
        (WebCore::V8LazyEventListener::getWrappedListenerFunction):
        * bindings/v8/V8NodeFilterCondition.cpp:
        (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
        (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
        (WebCore::V8NodeFilterCondition::acceptNode):
        * bindings/v8/V8ObjectEventListener.cpp:
        (WebCore::weakObjectEventListenerCallback):
        (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
        * bindings/v8/V8Proxy.cpp: Added.
        * bindings/v8/V8Proxy.h:
        (WebCore::):
        (WebCore::GlobalHandleInfo::GlobalHandleInfo):
        (WebCore::V8Proxy::):
        (WebCore::V8Proxy::V8Proxy):
        (WebCore::V8Proxy::frame):
        (WebCore::V8Proxy::inlineCode):
        (WebCore::V8Proxy::setInlineCode):
        (WebCore::V8Proxy::timerCallback):
        (WebCore::V8Proxy::setTimerCallback):
        (WebCore::V8Proxy::setEventHandlerLineNumber):
        (WebCore::V8Proxy::finishedWithEvent):
        (WebCore::V8Proxy::wrapCPointer):
        (WebCore::V8Proxy::extractCPointer):
        (WebCore::V8Proxy::convertDOMWrapperToNative):
        (WebCore::V8Proxy::convertDOMWrapperToNode):
        (WebCore::V8Proxy::convertToV8Object):
        (WebCore::V8Proxy::convertToNativeObject):
        (WebCore::V8Proxy::convertToNativeEvent):
        (WebCore::V8Proxy::context):
        (WebCore::V8Proxy::extractCPointerImpl):
        (WebCore::V8Proxy::utilityContext):
        (WebCore::V8Proxy::constructDOMObject):
        (WebCore::throwError):
        (WebCore::toV8):
        * bindings/v8/V8Utilities.h:
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::retrieve):
        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
        (WebCore::WorkerContextExecutionProxy::GetConstructor):
        (WebCore::WorkerContextExecutionProxy::ToV8Object):
        (WebCore::WorkerContextExecutionProxy::EventToV8Object):
        (WebCore::WorkerContextExecutionProxy::toV8):
        (WebCore::WorkerContextExecutionProxy::forgetV8EventObject):
        (WebCore::WorkerContextExecutionProxy::evaluate):
        (WebCore::WorkerContextExecutionProxy::runScript):
        * bindings/v8/custom/V8AttrCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_SETTER):
        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::INDEXED_PROPERTY_SETTER):
        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
        (WebCore::toV8):
        (WebCore::toCanvasStyle):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8ClientRectListCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        * bindings/v8/custom/V8ClipboardCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8CustomBinding.cpp:
        (WebCore::allowSettingFrameSrcToJavascriptUrl):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::INDEXED_ACCESS_CHECK):
        (WebCore::NAMED_ACCESS_CHECK):
        (WebCore::V8Custom::GetTargetFrame):
        * bindings/v8/custom/V8CustomEventListener.cpp:
        (WebCore::V8EventListener::V8EventListener):
        (WebCore::V8EventListener::~V8EventListener):
        (WebCore::V8EventListener::callListenerFunction):
        * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
        (WebCore::V8CustomSQLStatementCallback::handleEvent):
        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
        (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
        * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
        (WebCore::V8CustomSQLTransactionCallback::handleEvent):
        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
        (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
        * bindings/v8/custom/V8CustomVoidCallback.cpp:
        (WebCore::V8CustomVoidCallback::handleEvent):
        (WebCore::invokeCallback):
        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
        * bindings/v8/custom/V8DOMParserConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8Custom::WindowSetTimeoutImpl):
        (WebCore::convertBase64):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::createWindow):
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::V8Custom::ClearTimeoutImpl):
        (WebCore::NAMED_ACCESS_CHECK):
        (WebCore::INDEXED_ACCESS_CHECK):
        * bindings/v8/custom/V8DatabaseCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8ElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::ACCESSOR_GETTER):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        (WebCore::ACCESSOR_GETTER):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        (WebCore::getItem):
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_GETTER):
        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::INDEXED_PROPERTY_SETTER):
        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_SETTER):
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::INDEXED_PROPERTY_SETTER):
        * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::INDEXED_PROPERTY_SETTER):
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::removeElement):
        * bindings/v8/custom/V8InspectorControllerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::INDEXED_ACCESS_CHECK):
        (WebCore::NAMED_ACCESS_CHECK):
        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8NavigatorCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
        (WebCore::toV8):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8NodeListCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8SVGLengthCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
        (WebCore::toV8):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WebKitPointConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::SetTimeoutOrInterval):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::getEventListener):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::getEventListener):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XMLSerializerConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):

2009-06-26  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim Hatcher.

        <rdar://problem/7011047> Profiler shows the record button 'on' even
        though it's finished

        I consolidated the creation of the user initiated profile name into
        its own function and then called it from console::profile instead of
        calling startUserInitiatedProfiling().  This way we don't call
        toggleRecordButton() which turns on the record button.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
        (WebCore::InspectorController::startUserInitiatedProfiling):
        (WebCore::InspectorController::stopUserInitiatedProfiling):
        * inspector/InspectorController.h:
        * page/Console.cpp:
        (WebCore::Console::profile):
        (WebCore::Console::profileEnd):

2009-06-26  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Eric Seidel.

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

        Cleanup: Move focusRingColor to RenderTheme.

        Most of this CL involves deleting files and removing dead code.

        focusRingColor() is now defined in RenderTheme rather than in
        misc. places on each port.  The default color is specified as
        black in renderTheme and ports can override it in their own
        custom renderThemes.

        Behavior should be identical except for the following cases,
        this lists platform and what the focus ring color used to be
        before this cl and the file where it used to be defined:

        Android - red
        WebCore/platform/android/TemporaryLinkStubs.cpp

        Cairo - aqua focus ring color - 0xFF7DADD9
        WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp

        wx - red
        WebCore/platform/wx/TemporaryLinkStubs.cpp

        QT - black
        WebCore/platform/graphics/qt/GraphicsContextQt.cpp

        Manual test: manual-tests/focusringcolor-change-on-theme-change.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
        * manual-tests/focusringcolor-change-on-theme-change.html: Added.
        * platform/android/TemporaryLinkStubs.cpp:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        * platform/graphics/chromium/ColorChromium.cpp: Removed.
        * platform/graphics/chromium/ColorChromiumMac.mm: Removed.
        * platform/graphics/mac/ColorMac.h:
        * platform/graphics/mac/ColorMac.mm:
        (WebCore::oldAquaFocusRingColor):
        (WebCore::setUsesTestModeFocusRingColor):
        (WebCore::usesTestModeFocusRingColor):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/graphics/win/ColorSafari.cpp: Removed.
        * platform/wx/TemporaryLinkStubs.cpp:
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::focusRingColor):
        * rendering/RenderTheme.h:
        * rendering/RenderThemeChromiumMac.h:
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::focusRingColor):
        (WebCore::RenderThemeChromiumMac::systemColor):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::focusRingColor):
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::focusRingColor):
        (WebCore::RenderThemeMac::systemColor):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::makeRGBAFromCGColor):
        (WebCore::RenderThemeSafari::focusRingColor):
        * rendering/RenderThemeSafari.h:

2009-06-26  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=26761
        [Chromium] Enable Dedicated Workers in Chromium.

        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        Remove the check that prevented workers from being created w/o a command-line switch.
        The flag itself and methods will be removed in a subsequent patch, after
        corresponding change in Chromium.

2009-06-26  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Mark Rowe.
        
        Fix: https://bugs.webkit.org/show_bug.cgi?id=26723
        Where the m_mouseDown event was never being set on windows, so the
        client X and Y coordinates were always being reported as zero in a
        dragstart handler.

        Test: editing/selection/drag-start-event-client-x-y.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):
        Set the m_mouseDown event when the mouse press is handled.
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::mouseDown):
        Removed now redundant setting of m_mouseDown.

2009-06-26  Brady Eidson  <beidson@apple.com>

        Tiger build fix

        * WebCore.xcodeproj/project.pbxproj:
        * platform/network/mac/WebCoreURLResponse.mm:
        (swizzleMIMETypeMethodIfNecessary):

2009-06-26  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=26681
        Problem updating applicationCache when server returns 304
        
        Improve the fix, make the test pass on Tiger.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didReceiveResponse): Fix another code path to remove the
        current item from list.

        * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): On Tiger,
        conditional requests that cannot be cached by network layer cause errors with default cache
        policy.

2009-06-26  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig

        <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails

        When we disabled content sniffing for file urls we lost knowledge of many file extensions that we
        didn't intend to lose.  Turns out the CoreTypes UTI database doesn't know about every extension Gatekeeper
        knew about.

        By comparing CoreTypes' database to Gatekeepers, this patch adds a hardcoded list of file extension to MIME
        type mappings that are missing in CoreType's database.

        Test: platform/mac/fast/loader/file-url-mimetypes.html

        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Move the MIME Type swizzling code to
          WebCoreURLResponse.

        * platform/network/mac/ResourceResponseMac.mm:
        (WebCore::ResourceResponse::platformLazyInit): _webcore_MIMEType -> MIMEType, as we now have only one place
          where we do all MIMEType correction.

        * platform/network/mac/WebCoreURLResponse.h: Remove _webcore_MIMEType, as it is now folded into the swizzled
          implementation of MIMEType.
        * platform/network/mac/WebCoreURLResponse.mm:
        (createBinaryExtensionsSet):
        (createExtensionToMIMETypeMap):
        (swizzleMIMETypeMethodIfNecessary):
        (webNSURLResponseMIMEType): If it's a file URL and there's no MIME type, see if the extension exists in the 
          extension -> MIME type map before turning to the default MIME type.  Also roll in what was previously
          implemented in _webcore_MIMEType.

        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::~SVGImage): Tweak this ASSERT - SVGImages might get destroyed without ever having a client.

2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

        Show the fullscreen button only if the backend has support for it.

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

        No test since this is not reachable via the DOM.

        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::supportsFullscreen): new
        * html/HTMLVideoElement.h:
        (WebCore::HTMLVideoElement::supportsFullscreen): new
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::NullMediaPlayerPrivate::supportsFullscreen): new
        (WebCore::MediaPlayer::supportsFullscreen): new
        * platform/graphics/MediaPlayer.h: new
        * platform/graphics/MediaPlayerPrivate.h: new
        (WebCore::MediaPlayerPrivateInterface::supportsFullscreen): new
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): new
        * rendering/MediaControlElements.h:

2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7007776> Controller doesn't automatically update counters when file
        is playing ( http://www.jazzguitar.be/mp3/Michael%20Lewis%20-%20SSSJ.mp3 )

        Update the time display when the movie time changes.

        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::updateControls):

2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

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

        Support hidding a control bar element from the Media element controller.

        Update layout tests since the fullscreen button no longer has a renderer.

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaTextDisplayElement::update): call updateStyle() so everything
        is updated properly.
        (WebCore::MediaControlInputElement::MediaControlInputElement):
        (WebCore::MediaControlInputElement::update): call updateStyle()
        (WebCore::MediaControlInputElement::updateStyle): create the renderer properly
        or not depending on what rendererIsNeeded() return.
        * rendering/MediaControlElements.h:

2009-06-26  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/6968137> Profiler title numbers increment even after a
        reload.

        - Now the numbers are reset when the profiles are.

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

2009-06-26  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Fix for <rdar://problem/7000796>
        REGRESSION(34681): Breaking up quoted text makes new, unquoted text blue after certain steps; repros with some messages

        Test: editing/inserting/break-blockquote-after-delete.html

        Keep track of whether the typing style should be preserved after the TypingCommand is applied.  When adding onto an open
        typing command, keep that flag up to date.

        In this case, an InsertParagraphSeparatorInQuotedContent command, which should not preserve typing style, 
        was following an open Delete command, which does preserve the typing style.  So we were applying the original
        typing style (from before the delete, so blue text) to the cursor in the unquoted area after breaking up the blockquote.

        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::TypingCommand):
        (WebCore::TypingCommand::typingAddedToOpenCommand):
        (WebCore::TypingCommand::insertTextRunWithoutNewlines):
        (WebCore::TypingCommand::insertLineBreak):
        (WebCore::TypingCommand::insertParagraphSeparator):
        (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        (WebCore::TypingCommand::deleteSelection):
        (WebCore::TypingCommand::updatePreservesTypingStyle):
        * editing/TypingCommand.h: (WebCore::TypingCommand::preservesTypingStyle):

2009-06-26  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>

        Reviewed by Simon Hausmann.

        Add support for saving and loading of QWebHistory to and from a QByteArray.

        This includes streaming operators for QWebHistory. for convenience.

        New autotests that test QWebHistory and QWebHistoryItem serialization.

        * WebCore.pro:
        * history/HistoryItem.h:
        (WebCore::HistoryItem::dailyVisitCounts):
        (WebCore::HistoryItem::weeklyVisitCounts):
        * history/qt/HistoryItemQt.cpp: Added.
        (WebCore::HistoryItem::restoreState):
        (WebCore::HistoryItem::saveState):

2009-06-26  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>

        Reviewed by Simon Hausmann.

        Add support for QDataStream operators to String and IntPoint.

        * platform/graphics/IntPoint.h:
        (WebCore::operator<<):
        (WebCore::operator>>):
        * platform/text/PlatformString.h:
        * platform/text/qt/StringQt.cpp:
        (WebCore::operator<<):
        (WebCore::operator>>):

2009-06-26  Ben Murdoch  <benm@google.com>

        Reviewed by Darin Fisher.

        Add #if ENABLE(DOM_STORAGE) to the V8 custom bindings for local/session storage.
        https://bugs.webkit.org/show_bug.cgi?id=26757

        * bindings/v8/custom/V8StorageCustom.cpp

2009-06-26  Yongjun Zhang  <yongjun.zhang@nokia.com>

        Reviewed by Eric Seidel.

        Test: platform/qt/fast/events/event-sender-keydown-frame.html

        Bug 20303: [Qt] Key events are not working in frames.

        Merge scrolling handling code in qt and win port, move it to
        EventHandler.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::scrollRecursively):
        * page/EventHandler.h:

2009-06-26  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26682
        Bug 26682: It should be possible to add image to SVG DOM programmatically (using JavaScript)

        Make sure the xlink:href animated property setting syncs the corresponding attribute with the right namespace.

        Test: svg/custom/createImageElement.svg

        * svg/SVGAnimatedProperty.h:
        (WebCore::synchronizeProperty):

2009-06-26  Takeshi Yoshino  <tyoshino@google.com>

        Reviewed by Timothy Hatcher.

        Bug 26156: In view-source mode, always render the contents using HTMLViewSourceDocument
        https://bugs.webkit.org/show_bug.cgi?id=26156

        When in view-source mode, render the contents using HTMLViewSourceDocument
        regardless it's applicable for any plugin or not.

        Chromium tells WebCore to render the contents of specified URL when
        view-source: prefix is added to the URL. But currently, DOMImplementation
        ignores inViewSourceMode() when the MIME type is indicating that the contents
        are neither texts nor HTML family documents.

        For example, we can check the contents of asf file without launching media
        player. Rendering contents for view-source:-specified input is not what user
        expects.

        http://code.google.com/p/chromium/issues/detail?id=10545

        I want to fix this issue by this patch. IMHO, regardless of this Chromium
        specific issue, I think we should force use of HTMLViewSourceDocument when
        inViewSourceMode() is specified.

        Test: fast/frames/viewsource-on-image-file.html

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createTokenizer):
        * html/HTMLViewSourceDocument.h:

2009-06-26  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        https://bugs.webkit.org/show_bug.cgi?id=25529
        [Gtk] Expected states not exposed to assistive technologies

        Add support for VISIBLE, EDITABLE and SENSITIVE states.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (setAtkStateSetFromCoreObject):

2009-06-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Darin Adler.

        "Pointer to incomplete class type is not allowed" error with RVCT
        https://bugs.webkit.org/show_bug.cgi?id=26721

        Based on Norbert Leser's work.

        * dom/Document.cpp:
        (WebCore::Document::setFocusedNode):
        * dom/Node.cpp:
        (WebCore::Node::dispatchMouseEvent):
        * dom/Node.h: Remove the default value for PassRefPtr<Event> args,
        to eliminate dependency on the Event class definition

2009-06-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Maciej Stachowiak.

        [Qt] Build fix after r45183
        https://bugs.webkit.org/show_bug.cgi?id=26748

        * WebCore.pro:

2009-06-25  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=26681
        <rdar://problem/7003461> Problem updating applicationCache when server returns 304

        Test: http/tests/appcache/update-cache.html

        * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didReceiveResponse):
        We're already done with the resource, don't try to load it again.

2009-06-25  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Oliver Hunt.
        
        <rdar://problem/6990481>
        
        Handle perspective computation on non-layer objects.

        Test: transforms/3d/general/perspective-non-layer.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::getTransformFromContainer):

2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Eric Seidel.

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

        Use flex box in the mediaControls.css style, to nicely scale if a button gets
        dynamically added or removed.

        Media tests results are affected by this changes.

        * css/mediaControls.css:
        * css/mediaControlsQT.css:

2009-06-25  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Darin Fisher.

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

        Move relavent part of setDefaultFontSize from RenderThemeChromiumWin
        up into RenderThemeChromiumSkia.

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::setDefaultFontSize):
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::setDefaultFontSize):
        * rendering/RenderThemeChromiumWin.h:

2009-06-25  Matt Perry  <mpcomplete@chromium.org>

        Reviewed by Darin Fisher.

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

        Add V8-only methods to FrameLoaderClient that V8 can use to send
        out notifications when it creates/destroys a script context.

        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
        (WebCore::EmptyFrameLoaderClient::didDestroyScriptContext):
        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::didCreateScriptContext):
        (WebCore::FrameLoaderClient::didDestroyScriptContext):

2009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by David Levin.

        Correct a few typos that snuck in when I was reformatting CodeGeneratorV8.pm
        to match WebKit style.

        * bindings/scripts/CodeGeneratorV8.pm: Corrected lots of typos.

2009-06-25  Adam Langley  <agl@google.com>

        TBRed: fix for Chromium tree.

        Add missing include for r45199.

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

        r45199 added a reference to throwError without including V8Proxy.h

        * bindings/v8/WorkerScriptController.cpp:

2009-06-25  Adam Langley  <agl@google.com>

        TBRed: fix for Chromium tree.

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

        Fix V8IsolatedWorld to point to the correct include file.

        The deprecated v8_index.h was removed from the Chromium tree in r19291
        and upstreamed into WebKit with r45193. However V8IsolatedWorld
        slipped in between the cracks and broke the build.

        * bindings/v8/V8IsolatedWorld.h: update with new header location.

2009-06-25  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser  <simon.fraser@apple.com>.

        https://bugs.webkit.org/show_bug.cgi?id=26651
        
        Preference is named "WebKitAcceleratedCompositingEnabled"
        and is a boolean value. When false, prevents compositing layers from
        being created, which prevents hardware animation from running.
        Also forces video to do software rendering. Added a cache for
        the flag in RenderLayerCompositing and made it all work
        on-the-fly when the flag is changed while a page is loaded.

        * WebCore.base.exp:
        * page/FrameView.cpp:
        (WebCore::FrameView::updateCompositingLayers):
        * page/Settings.cpp:
        (WebCore::setNeedsReapplyStylesInAllFrames):
        (WebCore::Settings::Settings):
        (WebCore::Settings::setAcceleratedCompositingEnabled):
        * page/Settings.h:
        (WebCore::Settings::acceleratedCompositingEnabled):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hasAcceleratedCompositing):
        (WebCore::RenderLayer::updateTransform):
        (WebCore::RenderLayer::currentTransform):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateLayerTransform):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
        (WebCore::RenderLayerCompositor::enableCompositingMode):
        (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
        (WebCore::RenderLayerCompositor::updateCompositingLayers):
        (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
        (WebCore::RenderLayerCompositor::needsToBeComposited):
        (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
        * rendering/RenderLayerCompositor.h:
        (WebCore::RenderLayerCompositor::hasAcceleratedCompositing):
        * rendering/RenderObject.h:
        (WebCore::makeMatrixRenderable):

2009-06-25  Jian Li  <jianli@chromium.org>

        Reviewed by Dimitri Glazkov.

        Bug 26701: Implement the missing code for "FIXME: Need to return an
        exception" in WorkerScriptController::evaluate for v8 bindings.
        https://bugs.webkit.org/show_bug.cgi?id=26701

        * bindings/v8/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::evaluate):

2009-06-25  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Upstream V8Index.

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

        * bindings/v8/V8Index.cpp: Added.
        (WebCore::V8ClassIndex::GetFactory): Moved from src.chromium.org.
        (WebCore::V8ClassIndex::GetCache): Moved from src.chromium.org.
        * bindings/v8/V8Index.h:
        (WebCore::V8ClassIndex::): Moved from src.chromium.org.
        (WebCore::V8ClassIndex::ToInt): Moved from src.chromium.org.
        (WebCore::V8ClassIndex::FromInt): Moved from src.chromium.org.

2009-06-25  Adam Langley  <agl@google.com>

        Reviewed by Darin Fisher.

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

        This is hopefully the last step before our renderers can run
        cleanly in a chroot.

        WebKit needs to be able to ask for the correct font to use in
        the case that the current font doesn't include glyphs for
        certain code points. Currently we make a fontconfig call in our
        WebKit port to handle this.

        This patch changes this so that the call is sent our via
        ChromiumBridge.

        http://codereview.chromium.org/132007

        This should not affect any layout tests.

        * platform/chromium/ChromiumBridge.h:
        * platform/graphics/chromium/FontCacheLinux.cpp:
        (WebCore::FontCache::getFontDataForCharacters):

2009-06-25  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=26566
        Upstream these files from the chromium v8 code.  No tests were
        affected because this is essentially a code move.

        * bindings/v8/NPV8Object.cpp: Added.
        (allocV8NPObject):
        (freeV8NPObject):
        (listFromVariantArgs):
        (npIdentifierToV8Identifier):
        (npCreateV8ScriptObject):
        (NPN_Invoke):
        (NPN_InvokeDefault):
        (NPN_Evaluate):
        (NPN_EvaluateHelper):
        (NPN_GetProperty):
        (NPN_SetProperty):
        (NPN_RemoveProperty):
        (NPN_HasProperty):
        (NPN_HasMethod):
        (NPN_SetException):
        (NPN_Enumerate):
        (NPN_Construct):
        * bindings/v8/NPV8Object.h: Added.
        (PrivateIdentifier::):
        * bindings/v8/V8NPUtils.cpp: Added.
        (convertV8ObjectToNPVariant):
        (convertNPVariantToV8Object):
        (getStringIdentifier):
        * bindings/v8/V8NPUtils.h: Added.

2009-06-25  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Dimitri Glazkov.

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

        Windows Chromium bug fix: save context of destination canvas in
        TransparencyWin::compositeTextComposite() before the function
        modifies the context.

        Test: fast/canvas/translate-text.html

        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::compositeTextComposite):

2009-06-25  Patrick Mueller  <Patrick_Mueller@us.ibm.com>

        Reviewed by Timothy Hatcher.

        Show the filename and first line for "(program)" in the Profiler/Debugger
        https://bugs.webkit.org/show_bug.cgi?id=25475

        Add support to associate a sourceURL with an eval()'d string
        via a @sourceURL comment.  Currently the sourceURL is only available
        in the script debugger, not in the console or profiler, but it's
        most needed in the script debugger.

        * English.lproj/localizedStrings.js: added new "(program): %s" string
        * inspector/front-end/Script.js:
        (WebInspector.Script): if no sourceURL is available for the Script,
        search for a comment of the form //@ sourceURL=(url) to use
        as the sourceURL instead.
        * manual-tests/inspector/named-evals.html: Added.

2009-06-25  John Gregg  <johnnyg@google.com>

        Reviewed by Sam Weinig.

        Bug 23721: Changing dropdown's selectedIndex within onchange handler fires another onchange
        https://bugs.webkit.org/show_bug.cgi?id=23721

        onchange events fire when a SELECT element has
        focus and the selectedIndex is updated by script in some way--either
        during another onchange, onkeypress, onfocus, or timer--and then
        focus is lost. 

        Fixed by making a separate method for user-driven selectedIndex 
        changes, leaving scripts to use one which doesn't cause onchange to
        be queued.
        
        Test: fast/forms/select-script-onchange.html

        * dom/SelectElement.cpp: check if the pending change is user driven
        before calling onchange
        (WebCore::SelectElement::menuListOnChange):
        (WebCore::SelectElement::setSelectedIndex):
        * dom/SelectElement.h: store whether the pending change is user driven
        (WebCore::SelectElementData::userDrivenChange):
        (WebCore::SelectElementData::setUserDrivenChange):
        * html/HTMLSelectElement.cpp: split into two methods -- script version
        [non-user-driven] corresponds to IDL defined property name
        (WebCore::HTMLSelectElement::setSelectedIndex):
        (WebCore::HTMLSelectElement::setSelectedIndexByUser):
        * html/HTMLSelectElement.h: 
        * rendering/RenderMenuList.cpp: use ByUser method when coming through
        the renderer
        (WebCore::RenderMenuList::valueChanged):

2009-06-25  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

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

        Combined LocalStorageArea and SessionStorageArea into StorageArea since
        (after my other refactorings) there are no longer substantial
        differences between the two.

        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * storage/LocalStorage.cpp:
        (WebCore::LocalStorage::storageArea):
        * storage/LocalStorage.h:
        * storage/LocalStorageArea.cpp: Removed.
        * storage/LocalStorageArea.h: Removed.
        * storage/SessionStorage.cpp:
        (WebCore::SessionStorage::copy):
        (WebCore::SessionStorage::storageArea):
        * storage/SessionStorage.h:
        * storage/SessionStorageArea.cpp: Removed.
        * storage/SessionStorageArea.h: Removed.
        * storage/StorageArea.cpp:
        (WebCore::StorageArea::createLocalStorage):
        (WebCore::StorageArea::StorageArea):
        (WebCore::StorageArea::createSessionStorage):
        (WebCore::StorageArea::copy):
        (WebCore::StorageArea::setItem):
        (WebCore::StorageArea::removeItem):
        (WebCore::StorageArea::clear):
        (WebCore::StorageArea::scheduleFinalSync):
        (WebCore::StorageArea::blockUntilImportComplete):
        (WebCore::StorageArea::dispatchStorageEvent):
        * storage/StorageArea.h:
        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::StorageAreaSync):
        (WebCore::StorageAreaSync::scheduleFinalSync):
        (WebCore::StorageAreaSync::syncTimerFired):
        (WebCore::StorageAreaSync::performImport):
        * storage/StorageAreaSync.h:
        * storage/StorageSyncManager.h:

2009-06-25  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix https://bugs.webkit.org/show_bug.cgi?id=26671
          <rdar://problem/7001880> Safari 4.0 crashes in
          WebCore::DOMTimer::fired()

        Test: fast/dom/style-sheet-candidate-remove-unrendered-document.html

        When a "style sheet candidate" element is removed from a document,
        call Document::removeStyleSheetCandidateNode() regardless of whether
        the document is rendered. Otherwise, the document's style sheet
        candidate set can end up containing stale references.

        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::removedFromDocument):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::removedFromDocument):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::removedFromDocument):

2009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Fisher.

        Update CodeGeneratorV8.pm to sync up with the changes downstream.

        * bindings/scripts/CodeGeneratorV8.pm: Added HTMLFrameSetElement check,
          FileList as a ref-counted type, and DataGridColumn as typeCanFailConversion.

2009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        Add FileList.h include to fix Chromium build.

        * platform/chromium/ClipboardChromium.cpp: Added FileList.h include.

2009-06-25  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Jan Alonzo.

        Bug 26489: Web Inspector: Typo in DatabaseQuery Error Message
        https://bugs.webkit.org/show_bug.cgi?id=26489

        Fixed a Typo in a Web Inspector error message.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView.prototype._queryError):

2009-06-25  Simon Hausmann  <simon.hausmann@nokia.com>

        Fix the Qt build, add missing StorageAreaSync files to the build.

        * WebCore.pro:

2009-06-25  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by and done with Tor Arne Vestbø.

        Fix shortcut keyboard handling with plugins on the Qt/Mac build.

        When we receive shortcut events like Ctrl+V then the text in the QKeyEvent is
        empty. If we're asked to disambiguate the event into a Char keyboard event,
        we try to detect this situation and still set the text, to ensure that the
        general event handling sends a key press event after this disambiguation.

        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):

2009-06-25  Eric Seidel  <eric@webkit.org>

        Build fix only, no review.

        Add FileList.h and NotImplemented.h includes in an attempt to fix bots.

        * platform/gtk/ClipboardGtk.cpp:
        * platform/qt/ClipboardQt.cpp:
        * platform/win/ClipboardWin.cpp:
        * platform/wx/ClipboardWx.cpp:

2009-05-21  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej Stachowiak.

        Expose files in the clipboard in ondrop events
        https://bugs.webkit.org/show_bug.cgi?id=25916

        Make it possible for applications like gmail to implement
        drag and drop of attachments onto email messages.

        This patch exposes an event.dataTransfer.files accessor
        on the drop event.  No information is exposed during dragover.
        This follows the HTML 5 drag and drop security model:
        http://www.w3.org/TR/html5/editing.html#security-risks-in-the-drag-and-drop-model
        The test http/tests/security/clipboard/clipboard-file-access.html
        verifies this behavior.

        Internet Explorer shows historical documentation of supporting
        getData('File') as a way of exposing files on the pasteboard.  The current version of their docs:
        http://msdn.microsoft.com/en-us/library/ms537658(VS.85).aspx
        has removed this reference (as far as I can tell IE never implemented it)
        I have a printed copy of that URL from 2008 on my desk describing getData('File') in IE.
        IE does not follow the HTML5 clipboard security model and always allows access to the full clipboard, even on dragover.

        I choose not to use IE's getData('File') and instead added .files
        so that the accessor could have a type, matching WebKit's existing
        .files accessor on HTMLInputElement.

        Mozilla has equivalent file access:
        event.dataTransfer.mozGetDataAt("application/x-moz-file", 0);
        which also does not return a typed value.
        https://developer.mozilla.org/En/DragDrop/Recommended_Drag_Types#Dragging_Files

        This is only implemented for Mac WebKit.  All other platforms (including Apple's Win WebKit)
        have incomplete Clipboard implementations and will require experts from those platforms
        to add this functionality.  Right now they all have Clipboard*::files() methods which call notImplemented();

        Test: http/tests/security/clipboard/clipboard-file-access.html

        * dom/Clipboard.h:
        * dom/Clipboard.idl:
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::files):
        * platform/chromium/ClipboardChromium.h:
        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::ClipboardGtk::files):
        * platform/gtk/ClipboardGtk.h:
        * platform/mac/ClipboardMac.h:
        * platform/mac/ClipboardMac.mm:
        (WebCore::absoluteURLsFromPasteboardFilenames):
        (WebCore::absoluteURLsFromPasteboard):
        (WebCore::ClipboardMac::files):
        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::files):
        * platform/qt/ClipboardQt.h:
        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::files):
        * platform/win/ClipboardWin.h:
        * platform/wx/ClipboardWx.cpp:
        (WebCore::ClipboardWx::files):
        * platform/wx/ClipboardWx.h:

2009-06-25  Eric Seidel  <eric@webkit.org>

        No review, only completing revert of r45144.

        Add back files deleted by r45144.

        * storage/LocalStorageArea.cpp: Added.
        (WebCore::LocalStorageArea::create):
        (WebCore::LocalStorageArea::LocalStorageArea):
        (WebCore::LocalStorageArea::scheduleFinalSync):
        (WebCore::LocalStorageArea::itemChanged):
        (WebCore::LocalStorageArea::itemRemoved):
        (WebCore::LocalStorageArea::areaCleared):
        (WebCore::LocalStorageArea::blockUntilImportComplete):
        (WebCore::LocalStorageArea::dispatchStorageEvent):
        * storage/LocalStorageArea.h: Added.
        * storage/SessionStorageArea.cpp: Added.
        (WebCore::SessionStorageArea::copy):
        (WebCore::SessionStorageArea::SessionStorageArea):
        (WebCore::SessionStorageArea::itemChanged):
        (WebCore::SessionStorageArea::itemRemoved):
        (WebCore::SessionStorageArea::areaCleared):
        (WebCore::SessionStorageArea::blockUntilImportComplete):
        (WebCore::SessionStorageArea::dispatchStorageEvent):
        * storage/SessionStorageArea.h: Added.
        (WebCore::SessionStorageArea::create):

2009-06-25  Eric Seidel  <eric@webkit.org>

        No review, reverting r45144 only.

        Roll out r45144 after 18 test failures appeared on the bots.
        https://bugs.webkit.org/show_bug.cgi?id=26698

        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * storage/LocalStorage.cpp:
        (WebCore::LocalStorage::storageArea):
        * storage/LocalStorage.h:
        * storage/SessionStorage.cpp:
        (WebCore::SessionStorage::copy):
        (WebCore::SessionStorage::storageArea):
        * storage/SessionStorage.h:
        * storage/StorageArea.cpp:
        (WebCore::StorageArea::StorageArea):
        (WebCore::StorageArea::~StorageArea):
        (WebCore::StorageArea::setItem):
        (WebCore::StorageArea::removeItem):
        (WebCore::StorageArea::clear):
        * storage/StorageArea.h:
        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::StorageAreaSync):
        (WebCore::StorageAreaSync::scheduleFinalSync):
        (WebCore::StorageAreaSync::syncTimerFired):
        (WebCore::StorageAreaSync::performImport):
        * storage/StorageAreaSync.h:
        * storage/StorageSyncManager.h:

2009-06-24  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

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

        Combined LocalStorageArea and SessionStorageArea into StorageArea since
        (after my other refactorings) there are no longer substantial
        differences between the two.

        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * storage/LocalStorage.cpp:
        (WebCore::LocalStorage::storageArea):
        * storage/LocalStorage.h:
        * storage/LocalStorageArea.cpp: Removed.
        * storage/LocalStorageArea.h: Removed.
        * storage/SessionStorage.cpp:
        (WebCore::SessionStorage::copy):
        (WebCore::SessionStorage::storageArea):
        * storage/SessionStorage.h:
        * storage/SessionStorageArea.cpp: Removed.
        * storage/SessionStorageArea.h: Removed.
        * storage/StorageArea.cpp:
        (WebCore::StorageArea::createLocalStorage):
        (WebCore::StorageArea::StorageArea):
        (WebCore::StorageArea::createSessionStorage):
        (WebCore::StorageArea::copy):
        (WebCore::StorageArea::setItem):
        (WebCore::StorageArea::removeItem):
        (WebCore::StorageArea::clear):
        (WebCore::StorageArea::scheduleFinalSync):
        (WebCore::StorageArea::blockUntilImportComplete):
        (WebCore::StorageArea::dispatchStorageEvent):
        * storage/StorageArea.h:
        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::StorageAreaSync):
        (WebCore::StorageAreaSync::scheduleFinalSync):
        (WebCore::StorageAreaSync::syncTimerFired):
        (WebCore::StorageAreaSync::performImport):
        * storage/StorageAreaSync.h:
        * storage/StorageSyncManager.h:

2009-06-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        - fix <rdar://problem/7001817> REGRESSION (r41902): Base position track
          at UCSC Genome Browser doesn't work because image map prevents img
          from hit-testing

        Test: fast/replaced/image-map-2.html

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::nodeAtPoint): Do not reset 'inside' to false if
        the image map failed the hit test.

2009-06-22  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

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

        Refactor V8DOMMap to support isolated worlds.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::evaluateInNewWorld):
        * bindings/v8/ScriptController.h:
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap):
        (WebCore::DOMDataStore::allStores):
        (WebCore::DOMDataStore::allStoresMutex):
        (WebCore::DOMDataStore::domData):
        (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
        (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
        (WebCore::StaticDOMDataStore::StaticDOMDataStore):
        (WebCore::):
        (WebCore::MainThreadDOMData::MainThreadDOMData):
        (WebCore::MainThreadDOMData::getStore):
        (WebCore::ChildThreadDOMData::ChildThreadDOMData):
        (WebCore::ChildThreadDOMData::getStore):
        (WebCore::DOMDataStore::DOMDataStore):
        (WebCore::DOMDataStore::~DOMDataStore):
        (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
        (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
        (WebCore::forget):
        (WebCore::getDOMNodeMap):
        (WebCore::getDOMObjectMap):
        (WebCore::getActiveDOMObjectMap):
        (WebCore::getDOMSVGElementInstanceMap):
        (WebCore::getDOMSVGObjectWithContextMap):
        (WebCore::DOMData::getCurrent):
        (WebCore::DOMData::handleWeakObject):
        (WebCore::DOMData::ensureDeref):
        (WebCore::weakDOMObjectCallback):
        (WebCore::weakActiveDOMObjectCallback):
        (WebCore::weakNodeCallback):
        (WebCore::weakSVGElementInstanceCallback):
        (WebCore::weakSVGObjectWithContextCallback):
        (WebCore::DOMData::derefObject):
        (WebCore::DOMData::derefDelayedObjects):
        (WebCore::DOMData::derefDelayedObjectsInCurrentThread):
        (WebCore::DOMData::removeObjectsFromWrapperMap):
        (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
        (WebCore::visitDOMNodesInCurrentThread):
        (WebCore::visitDOMObjectsInCurrentThread):
        (WebCore::visitActiveDOMObjectsInCurrentThread):
        (WebCore::visitDOMSVGElementInstancesInCurrentThread):
        (WebCore::visitSVGObjectsInCurrentThread):
        * bindings/v8/V8DOMMap.h:
        (WebCore::DOMDataStoreHandle::getStore):
        * bindings/v8/V8IsolatedWorld.cpp: Added.
        (WebCore::getIsolatedWorldKey):
        (WebCore::contextWeakReferenceCallback):
        (WebCore::V8IsolatedWorld::evaluate):
        (WebCore::V8IsolatedWorld::V8IsolatedWorld):
        (WebCore::V8IsolatedWorld::~V8IsolatedWorld):
        (WebCore::V8IsolatedWorld::getEntered):
        * bindings/v8/V8IsolatedWorld.h: Added.
        (WebCore::V8IsolatedWorld::getDOMDataStore):

2009-06-24  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Timothy Hatcher.

        Bug 26604: Search doesn't work in Web Inspector Profiler
        https://bugs.webkit.org/show_bug.cgi?id=26604

        Seems like search was damaged in revision 42808.

        * inspector/front-end/ProfileView.js:
        (WebInspector.ProfileView.prototype.refresh):
        Here and in other functions: nodes we're searching in are profile data grid
        nodes, so there is no more need for '_dataGridNode' references.
        (WebInspector.ProfileView.prototype.searchCanceled):
        (WebInspector.ProfileView.prototype.performSearch.matchesQuery):
        Fixed accidental semicolon that caused 'matchesQuery' always return true.
        (WebInspector.ProfileView.prototype.performSearch):
        To perform search correctly in the case of bottom up tree, we need to populate
        the tree, because there's no 1-to-1 correspondence between profile nodes and
        data grid nodes in this case.
        (WebInspector.ProfileView.prototype._jumpToSearchResult):

2009-06-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.
        
        <rdar://problem/6450239&6574516>
    
        Fix flashing issues caused by compositing layers rendering content before
        a deferred layout has happened. Because the -viewWillDraw machinery doesn't
        work for composited layers, we need to use scheduleViewUpdate() to queue
        up a layout via the run loop observer in WebKit, whenever we know we
        are going to be painting soon.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::setContentsNeedDisplay):
        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):

2009-06-24  David Levin  <levin@chromium.org>

        Fix all builds.

        * ForwardingHeaders/wtf/FastAllocBase.h: Added.

2009-06-24  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

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

        Split the syncing portions of LocalStorageArea into StorageAreaSync.
        This name will make more sense in the next patch (in this set) when
        LocalStorageArea and SessionStorageArea are merged to become simply
        StorageArea.  (Thus the synching portion of StorageArea is in
        StorageAreaSync.)

        This looks like a big patch, but really all it's doing is splitting
        code and patching split-related things up.

        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * storage/LocalStorageArea.cpp:
        (WebCore::LocalStorageArea::create):
        (WebCore::LocalStorageArea::LocalStorageArea):
        (WebCore::LocalStorageArea::scheduleFinalSync):
        (WebCore::LocalStorageArea::itemChanged):
        (WebCore::LocalStorageArea::itemRemoved):
        (WebCore::LocalStorageArea::areaCleared):
        (WebCore::LocalStorageArea::blockUntilImportComplete):
        * storage/LocalStorageArea.h:
        * storage/LocalStorageTask.cpp:
        (WebCore::LocalStorageTask::LocalStorageTask):
        * storage/LocalStorageTask.h:
        (WebCore::LocalStorageTask::createImport):
        (WebCore::LocalStorageTask::createSync):
        * storage/LocalStorageThread.cpp:
        (WebCore::LocalStorageThread::scheduleImport):
        (WebCore::LocalStorageThread::scheduleSync):
        * storage/LocalStorageThread.h:
        * storage/SessionStorageArea.cpp:
        (WebCore::SessionStorageArea::blockUntilImportComplete):
        * storage/SessionStorageArea.h:
        * storage/StorageArea.h:
        * storage/StorageAreaSync.cpp: Copied from WebCore/storage/LocalStorageArea.cpp.
        * storage/StorageAreaSync.h: Copied from WebCore/storage/LocalStorageArea.h.
        * storage/StorageSyncManager.cpp:
        (WebCore::StorageSyncManager::scheduleImport):
        (WebCore::StorageSyncManager::scheduleSync):
        * storage/StorageSyncManager.h:

2009-06-24  Adam Treat  <adam.treat@torchmobile.com>

        Fix Qt build.

        * WebCore.pro:

2009-06-24  David Levin  <levin@chromium.org>

        Reviewed by David Hyatt.

        Bug 26696: Member functions in DataGridColumnList should return pointers instead of PassRefPtr.
        https://bugs.webkit.org/show_bug.cgi?id=26696

        * html/DataGridColumnList.cpp:
        (WebCore::DataGridColumnList::itemWithName):
        (WebCore::DataGridColumnList::add):
        * html/DataGridColumnList.h:
        (WebCore::DataGridColumnList::item):
        (WebCore::DataGridColumnList::primaryColumn):
        (WebCore::DataGridColumnList::sortColumn):

2009-06-24  Sam Weinig  <sam@webkit.org>

        Reviewed by Dave "Messy" Hyatt.

        Little bit of style cleanup.

        * html/DataGridColumn.cpp:
        * html/DataGridColumn.h:
        * html/DataGridColumn.idl:
        * html/DataGridColumnList.cpp:
        * html/DataGridColumnList.h:
        * html/DataGridColumnList.idl:
        * html/HTMLDataGridCellElement.cpp:
        * html/HTMLDataGridCellElement.h:
        * html/HTMLDataGridCellElement.idl:
        * html/HTMLDataGridColElement.cpp:
        * html/HTMLDataGridColElement.h:
        * html/HTMLDataGridColElement.idl:
        * html/HTMLDataGridElement.h:
        * html/HTMLDataGridElement.idl:
        * html/HTMLDataGridRowElement.cpp:
        * html/HTMLDataGridRowElement.h:
        * html/HTMLDataGridRowElement.idl:

2009-06-24  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Oliver Hunt.

        Bug 26668: AX: need a way to retrieve the language for an element
        
        Provides a way to retrieve the language associated with a specific accessibility element.

        Test: accessibility/language-attribute.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::language):
        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::language):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2009-06-24  Brady Eidson  <beidson@apple.com>

        Reviewed by Dan Bernstein.
        
        <rdar://problem/6893811> Instead of downloading files linked from Google Earth, file contents displayed in browser window as text.

        * platform/network/mac/WebCoreURLResponse.mm:
        (createBinaryExtensionsSet): Add '.kmz' to the list of known-to-be-binary extensions.

2009-06-24  Nicolas Weber  <thakis@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26685
        Accomodate for backwards-incompatible skia api changes.

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::clearRect):
        (WebCore::GraphicsContext::setCompositeOperation):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::paintSkBitmap):
        (WebCore::Image::drawPattern):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::State::State):
        (PlatformContextSkia::setupPaintCommon):
        (PlatformContextSkia::setXfermodeMode):
        (PlatformContextSkia::applyClipFromImage):
        * platform/graphics/skia/PlatformContextSkia.h:
        * platform/graphics/skia/SkiaUtils.cpp:
        (WebCore::):
        (WebCore::WebCoreCompositeToSkiaComposite):
        * platform/graphics/skia/SkiaUtils.h:

2009-06-24  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Gtk build fix. Add files that were added in r45093 and r45096

        * GNUmakefile.am:

2009-06-24  Brady Eidson  <beidson@apple.com>

        Fix 64-bit SnowLeopard build.

        * html/DataGridColumnList.cpp:
        (WebCore::DataGridColumnList::remove):
        (WebCore::DataGridColumnList::move):

2009-06-24  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26392
        Bug 26392: In html, modification of xlink:href of an newly inserted svg image does not work.
        https://bugs.webkit.org/show_bug.cgi?id=26328
        Bug 26328: changing href attribute of svg images does not work when changing display attribute as well

        React to href updates even when there is no renderer, i.e. display=none.

        Tests: svg/custom/js-update-image-and-display.svg
               svg/custom/js-update-image-and-display2.svg
               svg/custom/js-update-image-and-display3.svg

        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::svgAttributeChanged):

2009-06-24  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

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

        Add basic back-end column support to datagrid.

        Added fast/dom/HTMLDataGridElement/ column tests.

        * DerivedSources.cpp:
        * DerivedSources.make:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/DataGridColumn.cpp: Added.
        (WebCore::DataGridColumn::setPrimary):
        * html/DataGridColumn.h: Added.
        (WebCore::DataGridColumn::create):
        (WebCore::DataGridColumn::id):
        (WebCore::DataGridColumn::setId):
        (WebCore::DataGridColumn::label):
        (WebCore::DataGridColumn::setLabel):
        (WebCore::DataGridColumn::type):
        (WebCore::DataGridColumn::setType):
        (WebCore::DataGridColumn::sortable):
        (WebCore::DataGridColumn::setSortable):
        (WebCore::DataGridColumn::sortDirection):
        (WebCore::DataGridColumn::setSortDirection):
        (WebCore::DataGridColumn::primary):
        (WebCore::DataGridColumn::detachFromColumnList):
        (WebCore::DataGridColumn::DataGridColumn):
        * html/DataGridColumn.idl: Added.
        * html/DataGridColumnList.cpp: Added.
        (WebCore::DataGridColumnList::~DataGridColumnList):
        (WebCore::DataGridColumnList::itemWithName):
        (WebCore::DataGridColumnList::add):
        (WebCore::DataGridColumnList::remove):
        (WebCore::DataGridColumnList::move):
        (WebCore::DataGridColumnList::clear):
        (WebCore::DataGridColumnList::primaryColumnChanged):
        * html/DataGridColumnList.h: Added.
        (WebCore::DataGridColumnList::create):
        (WebCore::DataGridColumnList::length):
        (WebCore::DataGridColumnList::item):
        (WebCore::DataGridColumnList::primaryColumn):
        (WebCore::DataGridColumnList::sortColumn):
        * html/DataGridColumnList.idl: Added.
        * html/HTMLDataGridColElement.cpp:
        (WebCore::HTMLDataGridColElement::sortable):
        (WebCore::HTMLDataGridColElement::setSortable):
        (WebCore::HTMLDataGridColElement::sortDirection):
        (WebCore::HTMLDataGridColElement::setSortDirection):
        * html/HTMLDataGridColElement.h:
        * html/HTMLDataGridColElement.idl:
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
        * html/HTMLDataGridElement.h:
        (WebCore::HTMLDataGridElement::columns):
        * html/HTMLDataGridElement.idl:
        * rendering/RenderDataGrid.cpp:
        (WebCore::RenderDataGrid::paintObject):
        (WebCore::RenderDataGrid::paintColumnHeaders):
        (WebCore::RenderDataGrid::rebuildColumns):
        * rendering/RenderDataGrid.h:
        (WebCore::RenderDataGrid::gridElement):

2009-06-24  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Adam Roben.

        Partially fixes: https://bugs.webkit.org/show_bug.cgi?id=24735
        (<rdar://problem/5015942>)
        Where on windows it was not possible to set an element as the drag
        image using setDragImage on the dataTransfer object.
        
        Does not "fix" the case of dragging a link where the default link image
        is still used, even when the -webkit-user-drag is set to "element". This
        is the same behavior as is found on OS X.
        
        Added a manual test because it is not possible to check that what is
        contained in the image snapshot is indeed the requested element.

        * dom/Clipboard.h:
        (WebCore::Clipboard::dragImageElement):
        Made getting the raw pointer from the RefPtr a const operation.
        * manual-tests/drag-with-div-or-image-as-data-image.html: Added.
        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::createDragImage):
        Get an image of the rendered element and its subtree.

2009-06-24  Darin Fisher  <darin@chromium.org>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=26683
        Fix Chromium build bustage: Add custom binding for HTMLDataGridElement.dataSource

        This change just adds a stub implementation for now to help fix the build.

        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Added.

2009-06-24  David Kilzer  <ddkilzer@apple.com>

        Build fixes for ENABLE(PLUGIN_PROXY_FOR_VIDEO)

        Reviewed by Adam Roben.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::deliverNotification): Removed
        ExceptionCode parameter from togglePlayState().
        (WebCore::HTMLMediaElement::initialURL): Don't convert a KURL
        object to a String when assigning to a KURL variable.

2009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Adam Treat.

        Save memory by not storing attribute values in member variables, if not absolutely needed.
        Also fixes bugs where we're substituting variables too early (noticeable with the upcoming <select> element).

        * wml/WMLDoElement.cpp:
        (WebCore::WMLDoElement::parseMappedAttribute):
        (WebCore::WMLDoElement::label):
        * wml/WMLDoElement.h:
        * wml/WMLFieldSetElement.cpp:
        (WebCore::WMLFieldSetElement::insertedIntoDocument):
        * wml/WMLFieldSetElement.h:
        * wml/WMLOptGroupElement.cpp:
        (WebCore::WMLOptGroupElement::title):
        (WebCore::WMLOptGroupElement::parseMappedAttribute):
        (WebCore::WMLOptGroupElement::groupLabelText):
        * wml/WMLOptGroupElement.h:
        * wml/WMLPostfieldElement.cpp:
        (WebCore::WMLPostfieldElement::name):
        (WebCore::WMLPostfieldElement::value):
        (WebCore::WMLPostfieldElement::encodeData):
        * wml/WMLPostfieldElement.h:
        * wml/WMLSetvarElement.cpp:
        (WebCore::WMLSetvarElement::parseMappedAttribute):
        (WebCore::WMLSetvarElement::name):
        (WebCore::WMLSetvarElement::value):
        * wml/WMLSetvarElement.h:
        * wml/WMLTimerElement.cpp:
        (WebCore::WMLTimerElement::parseMappedAttribute):
        (WebCore::WMLTimerElement::insertedIntoDocument):
        (WebCore::WMLTimerElement::timerFired):
        (WebCore::WMLTimerElement::start):
        (WebCore::WMLTimerElement::value):
        * wml/WMLTimerElement.h:

2009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Adam Roben.

        Forgot to initialize m_task member variable. Results in crashes sometimes.

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

2009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Not reviewed. Forgot to include within last patch.

        * manual-tests/wml/card-title-attr.wml: Added.

2009-06-24  Wajahat Siddiqui <wajahatmeister@gmail.com>
 
        Reviewed by Nikolas Zimmermann.

        Fixes: https://bugs.webkit.org/show_bug.cgi?id=26474
        Adding WML <card> title attribute handling.

        * wml/WMLElement.h: marking parseValueSubstitutingVariableReferences and parseValueForbiddingVariableReferences as const
        * wml/WMLElement.cpp:
        * wml/WMLCardElement.h: 
        (WebCore::WMLCardElement::title):
        * wml/WMLCardElement.cpp:
        * wml/manual-test/card-title-attr.wml: Manual test  
 
2009-06-24  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Fix the build without ENABLE_VIDEO.

        * html/CanvasRenderingContext2D.cpp: Add #if ENABLE guards.
        * html/CanvasRenderingContext2D.h: Ditto.

2009-06-24  Siddhartha Chattopadhyay  <sidchat@google.com>

        Reviewed by Eric Seidel.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=26200 which I introduced earlier. I had
        the smartReplace set TRUE initially, which was wrong since the purpose of this call is
        to just replace the selection, and place the caret at the end of the selection it replaced.

        * editing/Editor.cpp:
        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
        * manual-tests/textarea-caret-position-after-auto-spell-correct.html: Added.

2009-06-24  Kevin Watters  <kevinwatters@gmail.com>

        Reviewed by Kevin Ollivier.

        Don't use an unsigned int for intervalInMS because we sometimes initialize
        it with a negative value.

        * platform/wx/SharedTimerWx.cpp:
        (WebCore::setSharedTimerFireTime):

2009-06-24  Eric Seidel  <eric@webkit.org>

        No review, build fix only.

        The previous checkin had an improper merge.  This fixes the build.

        * page/DragController.cpp:
        (WebCore::DragController::tryDocumentDrag):

2009-06-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=25922
        JS setting dropEffect = "none" causes tryDHTMLDrag
        to return DragOperationNone.  Which is also the value
        tryDHTMLDrag previously used to indicate JS did not
        want to handle the drag.

        Make it possible for the DragController::try* methods
        to return a bool to indicate if javascript accepted
        or rejected the drag event, separate from the DragOperation.

        Tests:
        - fast/events/drag-to-navigate.html
        - fast/events/prevent-drag-to-navigate.html

        * page/DragController.cpp:
        (WebCore::DragController::dragEnteredOrUpdated):
        (WebCore::DragController::tryDocumentDrag):
        (WebCore::defaultOperationForDrag):
        (WebCore::DragController::tryDHTMLDrag):
        * page/DragController.h:

2009-06-23  Oliver Hunt  <oliver@apple.com> and Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Sam Weinig and Dave Hyatt.

        <rdar://problem/6164797> Add Canvas API to allow drawing of <video> frames
        <https://bugs.webkit.org/show_bug.cgi?id=25920>

        Add support for drawing the contents of the video element to the canvas
        in accordance with the current HTML5 draft.

        Test: media/video-canvas.html

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::drawImage):
          Standard custom bindings stuff we need to do for all canvas methods.
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::size): Helper function for finding the size of a video element
        (WebCore::CanvasRenderingContext2D::checkOrigin): moved up in the file.
        (WebCore::CanvasRenderingContext2D::drawImage): The various overloads of HTML5's drawImage(<video>)
        * html/CanvasRenderingContext2D.h:
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::hasSingleSecurityOrigin):
          hasSingleSecurityOrigin is needed for security, currently all implementations are trivial
          as we force QT to maintain a single origin.
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::paint): 
            Paint routine on video so we don't have to look at MediaPlayer directly
        * html/HTMLVideoElement.h:
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::NullMediaPlayerPrivate::hasSingleSecurityOrigin):
        (WebCore::MediaPlayer::hasSingleSecurityOrigin):
            Default implementations of hasSingleSecurityOrigin
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
            A video may need a player now even if it is not visible.
        (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
            Always return true due to restrictions we've placed on QT.
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::paint):
            Jump through some hoops to allow windows QT to draw to an intermediate buffer.
            In the long term we'd like to cache the HDC, but this will do for now.
        (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
            As for Mac we force QT to only allow same origin loads.

2009-06-23  Adam Langley  <agl@google.com>

        Reviewed by Eric Seidel.

        Chromium: Fix crash with inherited font-size in <option>

        https://bugs.webkit.org/show_bug.cgi?id=26656
        http://code.google.com/p/chromium/issues/detail?id=14853

        In r42597 (https://bugs.webkit.org/show_bug.cgi?id=25244), I changed
        the <select> handing for Chromium to fix a rendering bug. However,
        although the font-size is correctly ignored, getRowHeight wasn't
        updated and so was calculating the height of the rows in an
        inconsistent manner. This can lead to a crash.

        * manual-tests/optgroup-empty-and-nested.html: adding test case for crash
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::getRowHeight):

2009-06-23  Brady Eidson  <beidson@apple.com>

        Patch by Antti Koivisto.
        Reviewed by Brady Eidson.

        <rdar://problem/6988010> Failed resources not reloaded when built against Tiger SDK

        A latent bug that cache revalidation uncovered.  When a CachedResource failed to load,
        it should always be revalidated upon reload.

        * loader/CachedResource.cpp:
        (WebCore::CachedResource::canUseCacheValidator):
        (WebCore::CachedResource::mustRevalidate):

2009-06-23  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix <rdar://problem/6634228> Crash in [NSScroller mouseDown:] beneath
          EventHandler::passMouseDownEventToWidget()

        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passMouseDownEventToWidget): Surround the
        -mouseDown: call with calls to Widget::beforeMouseDown() and
        Widget::afterMouseDown(), which prevent the widget's view hierarchy from
        being removed from its parent view while the scroller is tracking the
        mouse.

2009-06-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Dave Hyatt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=26516
        Add initial implementation of DataGridDataSource

        - Initial implementation only supports the initialize callback function.

        Test: fast/dom/HTMLDataGridElement/DataGridDataSource-basic.html

        * WebCore.xcodeproj/project.pbxproj:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSDataGridDataSource.cpp: Added.
        (WebCore::JSDataGridDataSource::JSDataGridDataSource):
        (WebCore::JSDataGridDataSource::~JSDataGridDataSource):
        (WebCore::JSDataGridDataSource::initialize):
        * bindings/js/JSDataGridDataSource.h: Added.
        (WebCore::JSDataGridDataSource::create):
        (WebCore::JSDataGridDataSource::isJSDataGridDataSource):
        (WebCore::JSDataGridDataSource::jsDataSource):
        (WebCore::asJSDataGridDataSource):
        * bindings/js/JSHTMLDataGridElementCustom.cpp: Added.
        (WebCore::JSHTMLDataGridElement::listener):
        (WebCore::JSHTMLDataGridElement::setListener):
        * html/DataGridDataSource.h: Added.
        (WebCore::DataGridDataSource::~DataGridDataSource):
        (WebCore::DataGridDataSource::isJSDataGridDataSource):
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
        (WebCore::HTMLDataGridElement::setDataSource):
        (WebCore::HTMLDataGridElement::initializationTimerFired):
        * html/HTMLDataGridElement.h:
        (WebCore::HTMLDataGridElement::dataSource):
        * html/HTMLDataGridElement.idl:

2009-06-23  Ryosuke Niwa  <rniwa@google.com>

        Reviewed by Justin Garcia.

        Undo the changeset 21212 to fix the regression bug 14062.
        The changeset 21212 attempted to fix rdar://problem/5002441.
        The changeset 21212 modified InsertTextCommand::input so as to convert
        all spaces in text to non-breaking spaces for rdar://problem/5002441.
        However, the bug was originally caused by rebalanceWhitespaceAt
        and this workaround introduced a regression bug 14062.
        Because rebalanceWhitespaceAt appears to behave correctly now,
        the workaround introduced in 21212 is no longer needed.

        Test: editing/inserting/space-after-removeformat.html

        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input):

2009-06-23  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=26523 <col> 
        elements width can't be changed with javascript

        This patch both fixes setting the width attribute directly in 
        JavaScript, and setting the width on the style attribute. 

        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::parseMappedAttribute): If we have a 
        new width, call setNeedsLayoutAndPrefWidthsRecalc()

        Call calcPrefWidths() on the table cols.
        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::calcWidthArray):
        
        Call layoutIfNeeded on the table cols.
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):

        * rendering/RenderTableCol.cpp:
        (WebCore::RenderTableCol::clippedOverflowRectForRepaint): Use new 
        table() convenience function.
        (WebCore::RenderTableCol::calcPrefWidths): Just call 
        setPrefWidthsDirty(false) on ourself and our children.
        (WebCore::RenderTableCol::table):
        * rendering/RenderTableCol.h:

2009-06-23  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Dan Bernstein.

        Add logic to CSSStyleDeclaration::diff to deal with font-sizes that are 
        keyword values. When diff is called on a CSSStyleDeclaration, we check
        the keywordSize to see if font-size matches a keyword value.
        
        This ensures that when we diff a CSSMutableStyleDeclaration returned from
        copyInheritableProperties on a CSSComputedStyleDeclaration that we 
        correctly identify matching font-sizes.
        
        https://bugs.webkit.org/show_bug.cgi?id=26279

        Test: editing/inserting/font-size-clears-from-typing-style.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
        * css/CSSComputedStyleDeclaration.h:
        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::cssPropertyMatches):
        (WebCore::CSSStyleDeclaration::diff):
        * css/CSSStyleDeclaration.h:

2009-06-23  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6994790> CrashTracer: [USER] 8 crashes in Mail trying to
        add a blank line to pasted Facebook content (under
        CompositeEditCommand::positionAvoidingSpecialElementBoundary)

        - Just added null checks and I will create a new bug to prevent the
        bad behavior.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):

2009-06-23  Simon Fraser  <simon.fraser@apple.com>

        Build fix.

        Wrap shouldDoSoftwarePaint() in #if USE(ACCELERATED_COMPOSITING) to avoid warning when 
        ACCELERATED_COMPOSITING is not defined.

        * rendering/RenderLayer.cpp:

2009-06-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.
        
        https://bugs.webkit.org/show_bug.cgi?id=24863
        
        Fix reflection painting on elements with compositing layers.

        Test: compositing/reflections/reflection-on-composited.html

        * rendering/RenderLayer.h:
        Add a new PaintLayerPaintingReflection flag which is set while painting inside
        reflections.
        (WebCore::RenderLayer::setPaintingInsideReflection):
        Add a setter so that RenderLayerBacking can call it.

        * rendering/RenderLayer.cpp:
        (WebCore::shouldDoSoftwarePaint):
        Utility to clarify the logic of when a composited layer should do a software paint.
        
        (WebCore::RenderLayer::paintLayer):
        Use shouldDoSoftwarePaint() to determine when to software-paint a reflected layer.
        Remove transform-related tests from the reflection-painting if test because they appear
        to be unnecessary.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):
        Add the code to paint reflections to the composited layer painting method.
        
        * rendering/RenderReplica.cpp:
        (WebCore::RenderReplica::paint):
        Set the PaintLayerPaintingReflection flag.

2009-06-23  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin Adler.
        
        https://bugs.webkit.org/show_bug.cgi?id=26643
        Memory cache should respect Cache-Control: no-store
        
        Make resources with Cache-Control: no-store uncacheable in the memory cache.
        They get evicted immediately when all clients are gone and are always
        reloaded from the server.

        Conforms to RFC2616 14.9.2 and seems also match Firefox behavior.

        * loader/CachedResource.cpp:
        (WebCore::CachedResource::removeClient):
        (WebCore::CachedResource::canUseCacheValidator):
        (WebCore::CachedResource::mustRevalidate):
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::ResourceResponseBase):
        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
        (WebCore::ResourceResponseBase::cacheControlContainsNoStore):
        * platform/network/ResourceResponseBase.h:

2009-06-23  Brady Eidson  <beidson@apple.com>

        Windows build fix.

        * platform/graphics/win/QTMovieWin.cpp:
        (QTMovieWin::play):
        (QTMovieWin::pause):
        (QTMovieWin::setRate):
        (QTMovieWin::setCurrentTime):

2009-06-23  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Adele Peterson.

        <rdar://problem/6902203> REGRESSION: 'Return' insertion point incorrect
        after manually quoting blank line then hitting return

        If the insertion point is both the begining and ending visible position
        then we need to insert at the end instead of the begining, which is what
        would normally happen if the insertion point was as the begining.

        * editing/BreakBlockquoteCommand.cpp:
        (WebCore::BreakBlockquoteCommand::doApply):

2009-06-23  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig, and looked over by Eric Carlson.

        <rdar://problem/6980466> Media elements should provide option for changing pitch correction

        Introduce a new boolean property to HTMLMediaElement called webkitPreservesPitch for script to control this.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Currently the platforms that have a flexible pitch preservation 
          property (Quicktime on Mac and Win) have had it on by default, so continue that default for now.
        (WebCore::HTMLMediaElement::loadResource):
        (WebCore::HTMLMediaElement::webkitPreservesPitch):
        (WebCore::HTMLMediaElement::setWebkitPreservesPitch):
        * html/HTMLMediaElement.h:
        * html/HTMLMediaElement.idl:

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::NullMediaPlayerPrivate::setPreservesPitch):
        (WebCore::MediaPlayer::MediaPlayer):
        (WebCore::MediaPlayer::preservesPitch):
        (WebCore::MediaPlayer::setPreservesPitch):
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::setPreservesPitch):

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::createQTMovie): Rework to allow recreation of the movie with almost the
          exact same attributes as before, with pitch preservation being the difference.
        (WebCore::MediaPlayerPrivate::setPreservesPitch): Recreate the QTMovie if the flag actually changes.
        (WebCore::MediaPlayerPrivate::updateStates): Restore current time and rate if this is a recreated movie.
        (WebCore::MediaPlayerPrivate::timeChanged): Clear the time-to-be-restored, as this callback means it
          has been effectively overwritten.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::load):
        (WebCore::MediaPlayerPrivate::setPreservesPitch):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
        * platform/graphics/win/QTMovieWin.cpp:
        (QTMovieWinPrivate::QTMovieWinPrivate):
        (QTMovieWinPrivate::~QTMovieWinPrivate):
        (QTMovieWinPrivate::task): Restore current time and rate if this is a re-created movie.
        (QTMovieWin::play): Clear the time-to-be-restored, as this effectively overwrites it.
        (QTMovieWin::pause): Ditto.
        (QTMovieWin::setRate): Ditto.
        (QTMovieWin::setCurrentTime): Ditto.
        (QTMovieWin::setPreservesPitch): Recreate the Movie if the flag actually changes.
        (QTMovieWin::load): Rework to allow recreation of the Movie with similar state as the movie before it, 
          but changing the pitch preservation flag.
        * platform/graphics/win/QTMovieWin.h:

2009-06-23  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/6998286> Crash after leaving page with <video>
        
        Don't try to post events after going into the page cache.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::documentWillBecomeInactive): Cancel pending events and stop
        event timers so we won't try to post events after going into the cache.

2009-06-23  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Brady Eidson.

        Simplify the interaction between LocalStorageArea/SessionStorageArea
        and StorageArea by creating a "blockUntilImportComplete()" function
        rather than bouncing back and forth between the child and parent
        classes in a somewhat unintuitive manner.

        This patch also paves the way for LocalStorageArea and
        SessionStorageArea being merged into one.  It's part of several in a
        set which are separating syncing (to disk) code from the rest of the
        implementation so that local storage and session storage's code can be
        unified.

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

        * storage/LocalStorageArea.cpp:
        (WebCore::LocalStorageArea::blockUntilImportComplete):
        * storage/LocalStorageArea.h:
        * storage/StorageArea.cpp:
        (WebCore::StorageArea::length):
        (WebCore::StorageArea::key):
        (WebCore::StorageArea::getItem):
        (WebCore::StorageArea::setItem):
        (WebCore::StorageArea::removeItem):
        (WebCore::StorageArea::clear):
        (WebCore::StorageArea::contains):
        * storage/StorageArea.h:
        (WebCore::StorageArea::blockUntilImportComplete):

2009-06-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        First part of https://bugs.webkit.org/show_bug.cgi?id=26652
        
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paint):
        (WebCore::RenderLayer::paintLayer):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::):
        * rendering/RenderReplica.cpp:
        (WebCore::RenderReplica::paint):
        Replace the 3 boolean params to RenderLayer::paintLayer() with a bit mask for readability.
        
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):
        (WebCore::RenderLayerBacking::paintContents):
        * rendering/RenderLayerBacking.h:
        Remove the unused 'haveTransparency' param to paintIntoLayer().

2009-06-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6997929> Assertion at WebCore::RenderLayer::updateClipRects with hardware acceleration

        The updatingControlTints() painting pass goes through compositing layer boundaries,
        so we need to ensure we don't cache clip rects computed with the wrong root by
        setting temporaryClipRects to true.
        
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
        Remove a printf that I left in by mistake.

2009-06-23  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        WebCore side of <rdar://problem/6946094>.
        
        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::setExternalDataObject):
        * platform/win/ClipboardWin.h:

2009-06-23  Darin Fisher  <darin@chromium.org>

        Reviewed by Darin Adler.

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

        Add setFormContentType and setFormData since it is awkward for Chromium
        to use setFormInfoFromRequest to set the underlying members.  Also, add
        a clearChildren method that Chromium needs.  These methods are used as
        part of the Chromium code that serializes a HistoryItem for storing in
        the browser's session history.

        * history/HistoryItem.cpp:
        * history/HistoryItem.h:

2009-06-23  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6978938> Need HTML 5 event attributes for media elements

        Test: media/event-attributes.html

        * html/HTMLAttributeNames.in: Add media event attribute names.
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::parseMappedAttribute): Handle media event attributes.

2009-06-23  Thiago Macieira  <thiago.macieira@nokia.com>

        Reviewed by Simon Hausmann.

        Fix Qt build with Phonon.

        The #include <phonon> header no longer exists. And the <Phonon> or
        <Phonon/Phonon> headers have never existed (neither for us nor for the
        Phonon sources). You have to select each and every header that you do
        want now.

        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:

2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        Remove duplicated code in Qt & GTK logging initialization

        We now share the getChannelFromName() function in Logging.cpp

        * platform/gtk/LoggingGtk.cpp:
        * platform/qt/LoggingQt.cpp:

2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        Rename the plugin logging channel to plural form 'Plugins'

        This matches both the other logging channel names, as well as the
        WebKit logging channel used by Safari/Mac for plugins.

        * platform/Logging.cpp:
        * platform/Logging.h:
        * platform/gtk/LoggingGtk.cpp:
        * platform/mac/LoggingMac.mm:
        * platform/qt/LoggingQt.cpp:
        * platform/win/LoggingWin.cpp:
        * plugins/PluginDebug.h:
        * plugins/gtk/PluginPackageGtk.cpp:
        * plugins/mac/PluginPackageMac.cpp:
        * plugins/mac/PluginViewMac.cpp:
        * plugins/qt/PluginPackageQt.cpp:

2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        Fix NPAPI mouse translation issues on Mac

        The WindowRef we pass to the plugin refers to the the top level window,
        so the x and y positions have to be relative to this position, but we
        have to manually compensate for title bar decorations and other parents
        of the QWebView since contentsToWindow() only traverses to the QWebView.

        Previously we did this compensation when passing on mouse coordinates to
        the plugin, which caused various issues with translations such as not
        being able to close the Flash settings dialog, or the hand cursor not
        appearing over links.

        We now do the compensation as part of the call to NPP_SetWindow, and
        then pass mouse coordinates in global context without any compensation,
        similar to how both Safari and Mozilla does it.

        * plugins/mac/PluginViewMac.cpp:
        (WebCore::PluginView::updatePluginWidget):
        (WebCore::PluginView::globalMousePosForPlugin):

2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Rubber-stamped by Simon Hausmann.

        [Qt] Resolve absolute path to library install_name manually

        Since our target.path is set to the Qt directory (to be able
        to do 'make install') the 'absolute_library_soname' option
        to QMake did not do the right thing.

        We now compute the absolute path manually using DESTDIR.

        * WebCore.pro:

2009-06-22  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/6991146> Scrollbars in hardware layers don't change to the
        inactive look in background windows

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        Don't short-circuit the "painting" pass that is used to udpate control tints.

2009-06-22  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=26567
        Upstream V8 bindings code generator. With this change, also added interface ancestor
        traversal to IDL parser, which is necessary for V8 bindings. The traversal is used
        to determine whether an interface is a Node to facilitate proper casting and storage
        in V8DOMMap.

        * bindings/scripts/CodeGenerator.pm: Added parent traversal sub, needed
            by V8 bindings.
        * bindings/scripts/CodeGeneratorV8.pm: Added.
        * bindings/scripts/IDLParser.pm: Modified to allow limited parsing for
            parent traversal cases.

2009-06-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Gavin Barraclough.

        Add event handler attribute getter/setters to HTMLFrameSetElement
        as specified in HTML 5.  These match the ones on HTMLBodyElement.

        * dom/Node.h:
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
        (WebCore::HTMLFrameSetElement::onblur):
        (WebCore::HTMLFrameSetElement::setOnblur):
        (WebCore::HTMLFrameSetElement::onerror):
        (WebCore::HTMLFrameSetElement::setOnerror):
        (WebCore::HTMLFrameSetElement::onfocus):
        (WebCore::HTMLFrameSetElement::setOnfocus):
        (WebCore::HTMLFrameSetElement::onload):
        (WebCore::HTMLFrameSetElement::setOnload):
        (WebCore::HTMLFrameSetElement::onbeforeunload):
        (WebCore::HTMLFrameSetElement::setOnbeforeunload):
        (WebCore::HTMLFrameSetElement::onmessage):
        (WebCore::HTMLFrameSetElement::setOnmessage):
        (WebCore::HTMLFrameSetElement::onoffline):
        (WebCore::HTMLFrameSetElement::setOnoffline):
        (WebCore::HTMLFrameSetElement::ononline):
        (WebCore::HTMLFrameSetElement::setOnonline):
        (WebCore::HTMLFrameSetElement::onresize):
        (WebCore::HTMLFrameSetElement::setOnresize):
        (WebCore::HTMLFrameSetElement::onstorage):
        (WebCore::HTMLFrameSetElement::setOnstorage):
        (WebCore::HTMLFrameSetElement::onunload):
        (WebCore::HTMLFrameSetElement::setOnunload):
        * html/HTMLFrameSetElement.h:
        * html/HTMLFrameSetElement.idl:

2009-06-22  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type
        https://bugs.webkit.org/show_bug.cgi?id=25425

        * bindings/scripts/CodeGeneratorJS.pm: Added handling for ReflectURL.
        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.

        * dom/Element.cpp:
        (WebCore::Element::getURLAttribute): Added. For use implementing getters
        for ReflectURL.
        * dom/Element.h: Added getURLAttribute.

        * html/HTMLImageElement.idl: Use Reflect and ReflectURL.

2009-06-22  Jian Li  <jianli@chromium.org>

        Reviewed by Dimitri Glazkov.

        Bug 26626: Make WorkerContextExecutionProxy::toV8Object handle exception
        objects.
        https://bugs.webkit.org/show_bug.cgi?id=26626

        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::ToV8Object):

2009-06-22  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        Add RenderDataGrid to the build.  Give it some basic default styling (that more or less matches a listbox).  It has a default size
        of 300x150.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * css/html4.css:
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::createRenderer):
        * html/HTMLDataGridElement.h:
        * html/HTMLDataGridElement.idl:
        * rendering/RenderDataGrid.cpp: Added.
        (WebCore::RenderDataGrid::RenderDataGrid):
        (WebCore::RenderDataGrid::~RenderDataGrid):
        (WebCore::RenderDataGrid::calcPrefWidths):
        (WebCore::RenderDataGrid::paintObject):
        (WebCore::RenderDataGrid::valueChanged):
        (WebCore::RenderDataGrid::invalidateScrollbarRect):
        (WebCore::RenderDataGrid::isActive):
        * rendering/RenderDataGrid.h: Added.
        (WebCore::RenderDataGrid::renderName):
        (WebCore::RenderDataGrid::canHaveChildren):
        (WebCore::RenderDataGrid::scrollbarCornerPresent):

2009-06-22  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=26430
        <rdar://problem/6944442> Elements jump around when they become composited (WWDC checkers demo)
        <rdar://problem/6989006> Lots of time spent in RenderLayerCompositor::calculateCompositedBounds()
            during window resize when using hardware layers
        
        Fix an ordering dependency which caused the compositing position of a layer
        to be affected by some later sibling, which affected the compositing ancestor's
        composited bounds.
        
        The fix is to only update the compositing positions of layers in some subtree
        when updateAfterLayout() has been called on all the layers in that subtree,
        from the ancestor down.
        
        Also cache the composited bounds of a RenderLayerBacking, now that we can
        guarantee that those bounds are accurate.
        
        Test: compositing/sibling-positioning.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPositions):
        (WebCore::RenderLayer::hitTestLayer):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::RenderLayerBacking):
        (WebCore::RenderLayerBacking::updateAfterLayout):
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
        (WebCore::RenderLayerBacking::paintContents):
        (WebCore::RenderLayerBacking::compositedBounds):
        (WebCore::RenderLayerBacking::setCompositedBounds):
        * rendering/RenderLayerBacking.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateBacking):
        (WebCore::RenderLayerCompositor::updateLayerCompositingState):
        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
        (WebCore::RenderLayerCompositor::layerWillBeRemoved):
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
        (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
        * rendering/RenderLayerCompositor.h:

2009-06-22  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        First step in https://bugs.webkit.org/show_bug.cgi?id=25376

        Add StorageSyncManager.cpp/h

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:

        In preparation for combining SessionStorage and LocalStorage into a
        single StorageManager, move the syncing bits out of LocalStorage and
        into its own class.

        The next step is to combine LocalStorageArea and SessionStorageArea
        into one.  Then SessionStorage and LocalStorage can be combined.

        Note that combining them will cut down on code paths that must be
        proxied, eliminate virtual dispatch, and allow Chromium to (eventually)
        write historical sessionStorage to disk when memory is getting tight.

        Also remove a couple bits of cruft including code for quotas which is
        unnecessary (since a meta-data db is unnecessary since you can just
        count bytes as you read the local storage databases into memory).

        * storage/LocalStorage.cpp:
        (WebCore::LocalStorage::LocalStorage):
        (WebCore::LocalStorage::storageArea):
        (WebCore::LocalStorage::close):
        * storage/LocalStorage.h:
        * storage/LocalStorageArea.cpp:
        (WebCore::LocalStorageArea::LocalStorageArea):
        (WebCore::LocalStorageArea::scheduleFinalSync):
        (WebCore::LocalStorageArea::syncTimerFired):
        (WebCore::LocalStorageArea::performImport):
        * storage/LocalStorageArea.h:
        (WebCore::LocalStorageArea::create):
        * storage/LocalStorageTask.cpp:
        (WebCore::LocalStorageTask::performTask):
        * storage/LocalStorageTask.h:
        (WebCore::LocalStorageTask::):
        (WebCore::LocalStorageTask::createImport):
        * storage/LocalStorageThread.cpp:
        * storage/LocalStorageThread.h:
        * storage/SessionStorage.h:
        * storage/StorageSyncManager.cpp: Copied from WebCore/storage/LocalStorage.cpp.
        (WebCore::StorageSyncManager::create):
        (WebCore::StorageSyncManager::StorageSyncManager):
        (WebCore::StorageSyncManager::fullDatabaseFilename):
        (WebCore::StorageSyncManager::close):
        (WebCore::StorageSyncManager::scheduleImport):
        (WebCore::StorageSyncManager::scheduleSync):
        * storage/StorageSyncManager.h: Copied from WebCore/storage/LocalStorage.h.
        (WebCore::):

2009-06-22  Darin Fisher  <darin@chromium.org>

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=26622
        Add ChromiumDataObject::copy()

        * platform/chromium/ChromiumDataObject.cpp:
        * platform/chromium/ChromiumDataObject.h:

2009-06-22  Timothy Hatcher  <timothy@apple.com>

        Add a silhouette image for the enable view of the Resource panel.

        Reviewed by Kevin McCullough.

        * inspector/front-end/Images/resourcesSilhouette.png: Added.
        * inspector/front-end/inspector.css:

2009-06-22  Kyle Prete  <kylep@chromium.org>

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=26552
        Add V8 JS bindings for Audio Constructor.

        * bindings/v8/custom/V8CustomBinding.h:
        Added a callback declaration for audio ctor to macro.
        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
        Added the whole file.

2009-06-22  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=26600
        StringImpl::copy() no longer copies empty string correctly

        * platform/text/StringImpl.cpp:
        (WebCore::StringImpl::ustring): Changed method calling syntax to look less like calling a
        static method.
        (WebCore::StringImpl::copy): Reverted part of r41917 that caused the problem.

2009-06-22  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Eric Seidel

        Not auto-testable since it involves sending a keyboard event to
        the popup, which is not possible (eventSender sends the key
        events through webview, we want to go through the webwidget).

        This patch is one part of the fix for issue "keyboard selection in
        Hebrew select element does not work in Windows". The other part of the
        fix is in chromium's webkit/glue layer.
        https://bugs.webkit.org/show_bug.cgi?id=25899

        * manual-tests/keyboard_select_non_english.html: Added.
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::isCharacterTypeEvent): Added. Check whether the event is a 
        character type event. "Char" in Windows or "KeyDown" in Mac is character
        type event.
        (WebCore::PopupListBox::typeAheadFind): Since m_lastCharTime is used to
        indicate whether user types multiple characters continuely as a search
        prefix or not, it should be only assigned when the event is character 
        type event. 

2009-06-22  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6115819> Notify of profile start in console

        Put a message in the console that announces that a profile has started,
        similar to how a console message announces that a profile has finished.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addProfile): Use renamed function.
        (WebCore::InspectorController::addProfileFinishedMessageToConsole):
        Renamed.
        (WebCore::InspectorController::addStartProfilingMessageToConsole):
        New function that logs the message about the profile starting.
        (WebCore::InspectorController::startUserInitiatedProfiling): Ditto
        * inspector/InspectorController.h:
        * inspector/front-end/ProfilesPanel.js: Print the "run" of the profile's
        title if there are multiple profiles, and take into account the fact
        that titles are displayed twice as much now.
        (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
        * page/Console.cpp:
        (WebCore::Console::profile): Call new function.

2009-06-22  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

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

        Add IDL interface for datagrid cell elements.  Add a few more properties to the datagrid itself that
        correspond to ones you find on <select> elements.

        Add an expanded property to row elements.

        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/HTMLAttributeNames.in:
        * html/HTMLDataGridCellElement.cpp: Added.
        (WebCore::HTMLDataGridCellElement::HTMLDataGridCellElement):
        (WebCore::HTMLDataGridCellElement::label):
        (WebCore::HTMLDataGridCellElement::setLabel):
        (WebCore::HTMLDataGridCellElement::focused):
        (WebCore::HTMLDataGridCellElement::setFocused):
        (WebCore::HTMLDataGridCellElement::checked):
        (WebCore::HTMLDataGridCellElement::setChecked):
        (WebCore::HTMLDataGridCellElement::indeterminate):
        (WebCore::HTMLDataGridCellElement::setIndeterminate):
        (WebCore::HTMLDataGridCellElement::progress):
        (WebCore::HTMLDataGridCellElement::setProgress):
        * html/HTMLDataGridCellElement.h: Added.
        (WebCore::HTMLDataGridCellElement::endTagRequirement):
        (WebCore::HTMLDataGridCellElement::tagPriority):
        * html/HTMLDataGridCellElement.idl: Added.
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::autofocus):
        (WebCore::HTMLDataGridElement::setAutofocus):
        (WebCore::HTMLDataGridElement::disabled):
        (WebCore::HTMLDataGridElement::setDisabled):
        (WebCore::HTMLDataGridElement::size):
        (WebCore::HTMLDataGridElement::setSize):
        * html/HTMLDataGridElement.h:
        * html/HTMLDataGridElement.idl:
        * html/HTMLDataGridRowElement.cpp:
        (WebCore::HTMLDataGridRowElement::checkDTD):
        (WebCore::HTMLDataGridRowElement::expanded):
        (WebCore::HTMLDataGridRowElement::setExpanded):
        * html/HTMLDataGridRowElement.h:
        * html/HTMLDataGridRowElement.idl:
        * html/HTMLElementsAllInOne.cpp:
        * html/HTMLTagNames.in:

2009-06-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Add event handler attribute getter/setters to HTMLBodyElement
        as specified in HTML 5.

        - Removes erroneous inclusion of the onresize and onunload event
        handler attributes in Element and Document.

        * dom/Document.cpp:
        (WebCore::Document::getWindowAttributeEventListener):
        * dom/Document.h:
        * dom/Document.idl:
        * dom/Element.idl:
        * dom/Node.cpp:
        * dom/Node.h: onblur, onerror, onfocus, and onload all need to be declared
        virtual, since their behavior for HTMLBodyElement differs from the base
        implementation.
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::onblur):
        (WebCore::HTMLBodyElement::setOnblur):
        (WebCore::HTMLBodyElement::onerror):
        (WebCore::HTMLBodyElement::setOnerror):
        (WebCore::HTMLBodyElement::onfocus):
        (WebCore::HTMLBodyElement::setOnfocus):
        (WebCore::HTMLBodyElement::onload):
        (WebCore::HTMLBodyElement::setOnload):
        (WebCore::HTMLBodyElement::onbeforeunload):
        (WebCore::HTMLBodyElement::setOnbeforeunload):
        (WebCore::HTMLBodyElement::onmessage):
        (WebCore::HTMLBodyElement::setOnmessage):
        (WebCore::HTMLBodyElement::onoffline):
        (WebCore::HTMLBodyElement::setOnoffline):
        (WebCore::HTMLBodyElement::ononline):
        (WebCore::HTMLBodyElement::setOnonline):
        (WebCore::HTMLBodyElement::onresize):
        (WebCore::HTMLBodyElement::setOnresize):
        (WebCore::HTMLBodyElement::onstorage):
        (WebCore::HTMLBodyElement::setOnstorage):
        (WebCore::HTMLBodyElement::onunload):
        (WebCore::HTMLBodyElement::setOnunload):
        * html/HTMLBodyElement.h:
        * html/HTMLBodyElement.idl:

2009-06-22  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=26601
        Remove disabled code for appcache dynamic entries

        This also removes code for DOM 3 Core DOMStringList, which we don't use for anything else yet.

        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSDOMStringListCustom.cpp: Removed.
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8DOMStringListCustom.cpp: Removed.
        * dom/DOMStringList.cpp: Removed.
        * dom/DOMStringList.h: Removed.
        * dom/DOMStringList.idl: Removed.
        * dom/StaticStringList.cpp: Removed.
        * dom/StaticStringList.h: Removed.
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::addResource):
        * loader/appcache/ApplicationCache.h:
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        * loader/appcache/ApplicationCacheResource.cpp:
        (WebCore::ApplicationCacheResource::dumpType):
        * loader/appcache/ApplicationCacheResource.h:
        (WebCore::ApplicationCacheResource::):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::storeUpdatedType):
        * loader/appcache/DOMApplicationCache.cpp:
        * loader/appcache/DOMApplicationCache.h:
        * loader/appcache/DOMApplicationCache.idl:
        * page/DOMWindow.idl:

2009-06-22  Steve Falkenburg  <sfalken@apple.com>

        Windows build fix.

        * DerivedSources.cpp:
        * html/HTMLElementsAllInOne.cpp:

2009-06-22  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by John Sullivan.

        <rdar://problem/6956606> REGRESSION (S4Beta -> Final): After the password is input,
        Japanese can't be input.

        WebKit uses a per-frame input context for most editable fields, and application's global
        context for password fields, manually controlling secure input state and the list of available
        input sources.

        We were setting TSMDocument property to disable non-Roman input methods after focus changed
        to a password field, but before selection was updated. This resulted in the property being
        applied to a wrong TSMDocument in some cases, because TSMGetActiveDocument() uses input
        context cached by +[NSApplication updateWindows], we change context based on selection,
        not on focus.

        * page/mac/FrameMac.mm: (WebCore::Frame::setUseSecureKeyboardEntry): Since there is only one
        context that we use for password fields - the global one - there is no need to get the active
        one.

2009-06-22  David Levin  <levin@chromium.org>

        Reviewed by David Hyatt and Eric Seidel.

        REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction.
        https://bugs.webkit.org/show_bug.cgi?id=26326

        Test: scrollbars/scrollbar-crash-on-refresh.html

        * dom/Document.cpp:
        (WebCore::Document::detach):
        Gives the FrameView a change to do any necessary cleanup on
        Document::detach() which is where the renderArena gets detroyed.
        * page/FrameView.cpp:
        (WebCore::FrameView::detachCustomScrollbars):
        Gets rid of any custom scrollbars (if the docment supplied them).
        * page/FrameView.h:
        * platform/Scrollbar.h:
        (WebCore::Scrollbar::isCustomScrollbar):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::destroy):
        Removed the check for document()->frame().  If frame() is 0 in this code,
        then the call to animation() is also incorrect (since it does document()->frame()->animation()).
        * rendering/RenderScrollbar.h:
        (WebCore::RenderScrollbar::isCustomScrollbar):

2009-06-22  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        - fix https://bugs.webkit.org/show_bug.cgi?id=23606
          <rdar://problem/6537777> CSS gradient not repainted when image load
          completes

        Test: fast/repaint/background-generated.html

        * rendering/RenderObject.cpp:
        (WebCore::mustRepaintFillLayers): Return true if the layer does not
        specify a size and the image uses the container size.

2009-06-22  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

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

        Add IDL for HTMLDataGridRowElement.

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/HTMLAttributeNames.in:
        * html/HTMLDataGridColElement.cpp:
        (WebCore::HTMLDataGridColElement::primary):
        (WebCore::HTMLDataGridColElement::setPrimary):
        * html/HTMLDataGridColElement.h:
        * html/HTMLDataGridColElement.idl:
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::checkDTD):
        (WebCore::HTMLDataGridElement::multiple):
        (WebCore::HTMLDataGridElement::setMultiple):
        * html/HTMLDataGridElement.h:
        * html/HTMLDataGridElement.idl:
        * html/HTMLDataGridRowElement.cpp: Added.
        (WebCore::HTMLDataGridRowElement::HTMLDataGridRowElement):
        (WebCore::HTMLDataGridRowElement::selected):
        (WebCore::HTMLDataGridRowElement::setSelected):
        (WebCore::HTMLDataGridRowElement::focused):
        (WebCore::HTMLDataGridRowElement::setFocused):
        * html/HTMLDataGridRowElement.h: Added.
        (WebCore::HTMLDataGridRowElement::tagPriority):
        * html/HTMLDataGridRowElement.idl: Added.
        * html/HTMLTagNames.in:

2009-06-19  Yael Aharon <yael.aharon@nokia.com>

        Reviewed by Holger Freyther.

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

        Fix a crash in case that the QNetworkReply::readReady signal is
        "stuck" in deferred mode due to JavaScript alert, and in the meantime,
        QNetworkreply::finished signal is received and processed before
        QNetworkReply::readReady is processed.

        * manual-tests/qt/unload-alert.html: Added.
        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::setLoadMode):
        (WebCore::QNetworkReplyHandler::finish):
        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
        (WebCore::QNetworkReplyHandler::forwardData):
        (WebCore::QNetworkReplyHandler::start):
        (WebCore::QNetworkReplyHandler::sendQueuedItems):
        * platform/network/qt/QNetworkReplyHandler.h:
        (WebCore::QNetworkReplyHandler::):

2009-06-22  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Fix the Qt build.

        * WebCore.pro:

2009-06-21  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type
        https://bugs.webkit.org/show_bug.cgi?id=25425

        * bindings/scripts/CodeGeneratorJS.pm: Tweaked mechanism for includes to be a bit
        more consistent and to make SVGElement.h be included in the header rather than in
        every implementation file that includes the header. Added code to use getAttribute
        and setAttribute directly when the [Reflect] extended attribute is used.

        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.

        * html/HTMLElement.idl: Used [Reflect] for all the attributes in this class that
        reflect content attributes. Restricting this to one class for now to keep the
        patch small and start out slowly.

2009-06-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=26596
        Only expose event handler attributes to elements and documents.

        Test: fast/dom/event-attribute-availability.html

        * dom/Document.idl:
        * dom/Element.idl:
        * dom/Node.cpp:
        * dom/Node.h:
        * dom/Node.idl:

2009-06-21  Daniel Bates  <dbates@intudata.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=26580
        
        Fix to enable XSSAuditor on child windows.
        
        Test: http/tests/security/xssAuditor/link-opens-new-window.html
        
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::XSSAuditor):
        (WebCore::XSSAuditor::isEnabled):
        (WebCore::XSSAuditor::canEvaluate):
        (WebCore::XSSAuditor::canCreateInlineEventListener):
        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
        (WebCore::XSSAuditor::canLoadObject):
        * page/XSSAuditor.h: Removed method setXSSAuditorEnabled, and field m_isEnabled.
        Moved implementation of isEnabled to XSSAuditor.cpp and changed implementation
        to query Settings.

2009-06-21  David Levin  <levin@chromium.org>

        Reviewed by NOBODY.

        Speculative windows build fix (idea by Mark Rowe).

        * WebCore.vcproj/WebCore.vcproj:

2009-06-21  David Levin  <levin@chromium.org>

        Reviewed by NOBODY (Speculative gtk build fix).

        * GNUmakefile.am:

2009-06-21  David Levin  <levin@chromium.org>

        Reviewed by NOBODY.

        Speculative tiger build fix and a windows build fix.
        More fixes may still be in order.

        * WebCore.vcproj/WebCoreCommon.vsprops:
        * dom/default/PlatformMessagePortChannel.h:
        (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):

2009-06-21  David Levin  <levin@chromium.org>

        Reviewed by NOBODY (Speculative tiger build fix).

        * dom/default/PlatformMessagePortChannel.h:
        (WebCore::PlatformMessagePortChannel::MessagePortQueue::~MessagePortQueue):

2009-06-21  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        <https://bugs.webkit.org/show_bug.cgi?id=26448>
        
        Added optimized GC for MessagePorts when the entangled port is run by the same thread.
        Fixed bug in isProxyFor() that was not properly throwing an exception when trying to clone the entangled port.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::markActiveObjectsForContext):
        Now marks remotely entangled ports as in-use, in addition to those with pending activity.
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::mark):
        Now checks if the entangled port is local (run by same thread) and if so mark()s it.
        * dom/MessagePort.cpp:
        (WebCore::MessagePort::postMessage):
        (WebCore::MessagePort::disentangle):
        Removes cloned ports from the ScriptExecutionContext - this allows cloned ports to be GC'd as otherwise they look like remotely entangled ports.
        (WebCore::MessagePort::start):
        (WebCore::MessagePort::locallyEntangledPort):
        Added API for fetching the entangled port if it is run by the same thread
        * dom/MessagePort.h:
        * dom/MessagePortProxyWrapper.h:
        * dom/default/MessagePortProxy.cpp:
        (WebCore::MessagePortProxyWrapper::locallyEntangledPort):
        Added API for fetching the entangled port if it is run by the same thread        
        (WebCore::MessagePortProxy::hasPendingActivity):
        Changed definition of hasPendingActivity() to be stricter - only returns true if there are pending messages.
        (WebCore::MessagePortProxy::locallyEntangledPort):
        * dom/default/MessagePortProxy.h:

2009-06-21  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        <https://bugs.webkit.org/show_bug.cgi?id=25043>
        Removed obsolete MessagePort.startConversation(), active and onclose APIs.

        Refactored MessagePortProxy into MessagePortChannel and a platform-dependent PlatformMessagePortChannel
        implementation. Modified APIs to simplify cross-process implementations by moving the messaging code
        entirely into the platform-dependent proxy.

        Created a thread-safe default PlatformMessagePortChannel implementation.

        Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how
        cross-thread MessagePorts work.
        
        * GNUMakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
            Added MessagePortChannel/PlatformMessagePortChannel files.
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::mark):
            Changed ports to not mark their entangled pair as reachable, per the spec.
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        * dom/MessageChannel.cpp:
        (WebCore::MessageChannel::MessageChannel):
            Updated to use PlatformMessagePortChannel::createChannel() to entangle the ports.
        * dom/MessagePort.cpp:
        (WebCore::MessagePort::MessagePort):
        (WebCore::MessagePort::~MessagePort):
        (WebCore::MessagePort::postMessage):
        (WebCore::MessagePort::disentangle):
        (WebCore::MessagePort::messageAvailable):
        (WebCore::MessagePort::start):
        (WebCore::MessagePort::close):
        (WebCore::MessagePort::entangle):
        (WebCore::MessagePort::contextDestroyed):
        (WebCore::MessagePort::dispatchMessages):
        (WebCore::MessagePort::setOnmessage):
        (WebCore::MessagePort::hasPendingActivity):
            Changed these APIs to delegate to new PlatformMessagePortChannel APIs.
        * dom/MessagePort.h:
            Renamed isQueueOpen() to started().
        * dom/MessagePort.idl:
            Removed startConversation and onclose.
        * dom/MessagePortProxy.h: Removed.
        * dom/MessagePortChannel.cpp: Added.
        (WebCore::MessagePortChannel::EventData::create):
        (WebCore::MessagePortChannel::EventData::EventData):
        (WebCore::MessagePortChannel::~MessagePortChannel):
        * dom/MessagePortChannel.h: Added.
        (WebCore::MessagePortChannel::EventData::message):
        (WebCore::MessagePortChannel::EventData::channel):
            Changed EventData to hold a reference to a MessagePortChannel object instead of a MessagePort to enable cross-thread messaging.
        (WebCore::MessagePortChannel::MessagePortChannel):
        (WebCore::MessagePortChannel::create):        
        * dom/ScriptExecutionContext.cpp:
        (WebCore:ScriptExecutionContext::dispatchMessagePortEvents):
            Renamed isQueueOpen() to started().
        * dom/default/PlatformMessagePortChannel.cpp: Added.
        (WebCore::MessagePortChannel::entangleIfOpen):
        (WebCore::MessagePortChannel::disentangle):
        (WebCore::MessagePortChannel::postMessageToRemote):
        (WebCore::MessagePortChannel::tryGetMessageFromRemote):
        (WebCore::MessagePortChannel::close):
        (WebCore::MessagePortChannel::isConnectedTo):
        (WebCore::MessagePortChannel::hasPendingActivity):
        (WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
        (WebCore::PlatformMessagePortChannel::~PlatformMessagePortChannel):
        (WebCore::PlatformMessagePortChannel::createChannel):
        (WebCore::PlatformMessagePortChannel::entangleIfOpen):
        (WebCore::PlatformMessagePortChannel::disentangle):
        (WebCore::PlatformMessagePortChannel::setRemotePort):
        (WebCore::PlatformMessagePortChannel::remotePort):
        (WebCore::PlatformMessagePortChannel::entangledChannel):
        (WebCore::PlatformMessagePortChannel::setEntangledChannel):
        (WebCore::PlatformMessagePortChannel::postMessageToRemote):
        (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
        (WebCore::PlatformMessagePortChannel::isConnectedTo):
        (WebCore::PlatformMessagePortChannel::close):
        (WebCore::PlatformMessagePortChannel::closeInternal):
        (WebCore::PlatformMessagePortChannel::hasPendingActivity):
        * dom/default/PlatformMessagePortChannel.h: Added.
        (WebCore::PlatformMessagePortChannel::MessagePortQueue::create):
        (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
        (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
        (WebCore::PlatformMessagePortChannel::MessagePortQueue::isEmpty):
        (WebCore::PlatformMessagePortChannel::MessagePortQueue::MessagePortQueue):
        * page/DOMWindow.cpp:
        (WebCore::PostMessageTimer::PostMessageTimer):
            Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how cross-thread MessagePorts work.
        (WebCore::PostMessageTimer::event):
        (WebCore::DOMWindow::postMessage):
        (WebCore::DOMWindow::postMessageTimerFired):

2009-06-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        - fix https://bugs.webkit.org/show_bug.cgi?id=15383
          <rdar://problem/5682745> resize: vertical does not restrict to vertical
          resize

        Test: fast/css/resize-single-axis.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::resize): Ignore movement along the non-resizing
        axis.

2009-06-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Eric Seidel

        Fix for https://bugs.webkit.org/show_bug.cgi?id=26578
        event.currentTarget for listener registered on window should point to the window object like in Firefox

        Test: fast/events/event-trace.html

        * dom/Node.cpp:
        (WebCore::Node::dispatchGenericEvent): Make the DOMWindow the currentTarget when events are dispatched
        to it. We previously used the document because DOMWindow was not yet an EventTarget.

2009-06-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        - fix https://bugs.webkit.org/show_bug.cgi?id=9694
          resize value not compared

        Test: fast/css/resize-value-compared.html

        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::operator==): Compare the resize
        member.

2009-06-19  Alice Liu  <alice.liu@apple.com>

        Fix https://bugs.webkit.org/show_bug.cgi?id=26568 
        Repro crash animating GIF if previously used in a closed window's back/forward list
        Also filed as <rdar://problem/6978362>

        Reviewed by Maciej Stachowiak.

        Can't test this bug with an automated layout test since it requires b/f caching 
        * manual-tests/animated-gif-bfcache-crash.html: Added.
        * manual-tests/resources/containsAnimatedGif.html: Added.

        Adding checks for hostWindow() since there is no guarantee that the Page is alive
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollRectIntoViewRecursively):
        (WebCore::ScrollView::contentsToScreen):
        (WebCore::ScrollView::screenToContents):
        (WebCore::ScrollView::wheelEvent):

2009-06-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Adam Barth.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=26554
        Shadowing of top and parent

        * page/DOMWindow.idl:

2009-06-20  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dan Bernstein.

        Fix <https://bugs.webkit.org/show_bug.cgi?id=15106>.
        Bug 15106: REGRESSION: Can't drag text as element when user-select is set to none

        We allow selections to begin within an element that has -webkit-user-select: none set,
        unless the element is draggable as dragging should take priority over starting a selection.

        Test: editing/selection/user-drag-element-and-user-select-none.html

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

2009-06-20  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Bug 26528: REGRESSION (r44674): Assertion in TextIterator::pushFullyClippedState while counting matches for "a" on apple.com
        https://bugs.webkit.org/show_bug.cgi?id=26528
        rdar://problem/6985329

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::handleReplacedElement): When entering a text control,
        start at the top of the shadow tree (by calling shadowTreeRootNode). Also
        remove assumption that innerTextElement will never be 0 since RenderTextControl
        doesn't really guarantee this.

2009-06-20  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by NOBODY.

        Speculative Qt build fix - add HTMLDataGridColElement to the build script.

        * WebCore.pro:

2009-06-19  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

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

        Remove a memcpy by retrieving the already existing copy of a string
        instead of making a new one.

        * bindings/js/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        (WebCore::ScriptSourceCode::source):
        * bindings/js/StringSourceProvider.h:
        (WebCore::StringSourceProvider::source):

2009-06-19  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Steve Falkenburg.
        
        https://bugs.webkit.org/show_bug.cgi?id=26488
        No Support for Single Finger or Two Finger Panning in Windows 7
        
        The code in WebCore allows us to interpret a Pan gesture as
        a mousewheel event, and we are able to reuse the scrolling code.
        Another constructor was created in WheelEventWin which takes data
        better suited to the pan guesture than what was currently there. 
        
        Unable to add tests to simulate touch behavior/gestures.

        * platform/PlatformWheelEvent.h:
        * platform/win/WheelEventWin.cpp:

2009-06-19  Chris Marrin  <cmarrin@apple.com>

        Fixed a build error, which only shows up in the i386 compile

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::animateTransform):

2009-06-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/6988385> REGRESSION: In full page video player, movie's
        video track becomes detached from its controller.
        
        When in the media document, the MediaPlayer should not report that it
        is capable of hardware acceleration, because it renders via a QTMovieView
        which is already accelerated.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):

2009-06-19  Kevin Ollivier  <kevino@theolliviers.com>

        Adding XSSAuditor.cpp to the wx build.

        * WebCoreSources.bkl:

2009-06-19  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser  <simon.fraser@apple.com>.

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

        If I am doing a Matrix hardware animation and any matrix is singular, I revert to software.
        This is not really testable, since we can't see what the hardware animation is doing.

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::animateTransform):

2009-06-19  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej Stachowiak.
        
        An additional fix for Bug 26532: Native functions do not correctly unlink
        from optimised callsites when they're collected
        <https://bugs.webkit.org/show_bug.cgi?id=26532> | <rdar://problem/6625385>

        Use "NativeFunctionWrapper" instead of "PrototypeFunction" in cross-frame
        accessors, so the type of object you get to wrap a function is the same,
        regardless of whether the access to the function is cross-frame.
        
        This is faster and more idiomatic than what we had before. It also would
        have avoided Bug 26532 because it would have prevented a conflicting
        PrototypeFunction from being allocated to wrap postMessage, where a
        NativeFunctionWrapper had been allocated previously.
        
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::objectToStringFunctionGetter):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::nonCachingStaticFunctionGetter):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::nonCachingStaticBackFunctionGetter):
        (WebCore::nonCachingStaticForwardFunctionGetter):
        (WebCore::nonCachingStaticGoFunctionGetter):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::nonCachingStaticReplaceFunctionGetter):
        (WebCore::nonCachingStaticReloadFunctionGetter):
        (WebCore::nonCachingStaticAssignFunctionGetter):

2009-06-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by John Sullivan

        <rdar://problem/6953673> Crash in RenderLayerCompositor::setCompositingParent
        
        Fix a crash that could occur in complex content due to timing issues
        when doing a partial layer tree rebuild which is required when painting;
        setCompositingParent() could be called with a parent which has not been made
        compositing yet.

2009-06-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Build fix. Adding missing HTMLDataGrid* files to the build.

        * GNUmakefile.am:

2009-06-19  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26460 part three
        Make BMPImageReader a standalone class that is used by ICOImageDecoder
        and BMPImageDecoder to decode individual BMPs within a file.  These
        decoders now inherit directly from ImageDecoder.
        
        This also makes these decoders decode on-demand in isSizeAvailable() and
        frameBufferAtIndex(), like the other decoders, instead of when setData()
        is called, like before.  This should provide a speedup on pages
        containing BMPs that aren't immediately onscreen.

        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::BMPImageDecoder):
        (WebCore::BMPImageDecoder::setData):
        (WebCore::BMPImageDecoder::isSizeAvailable):
        (WebCore::BMPImageDecoder::frameBufferAtIndex):
        (WebCore::BMPImageDecoder::decodeWithCheckForDataEnded):
        (WebCore::BMPImageDecoder::decode):
        (WebCore::BMPImageDecoder::processFileHeader):
        * platform/image-decoders/bmp/BMPImageDecoder.h:
        (WebCore::BMPImageDecoder::readUint32):
        * platform/image-decoders/bmp/BMPImageReader.cpp:
        (WebCore::BMPImageReader::BMPImageReader):
        (WebCore::BMPImageReader::decodeBMP):
        (WebCore::BMPImageReader::readInfoHeaderSize):
        (WebCore::BMPImageReader::processInfoHeader):
        (WebCore::BMPImageReader::readInfoHeader):
        (WebCore::BMPImageReader::processBitmasks):
        (WebCore::BMPImageReader::processColorTable):
        (WebCore::BMPImageReader::processRLEData):
        (WebCore::BMPImageReader::processNonRLEData):
        (WebCore::BMPImageReader::setFailed):
        * platform/image-decoders/bmp/BMPImageReader.h:
        (WebCore::BMPImageReader::readUint16):
        (WebCore::BMPImageReader::readUint32):
        (WebCore::BMPImageReader::setBuffer):
        (WebCore::BMPImageReader::setData):
        (WebCore::BMPImageReader::):
        (WebCore::BMPImageReader::pastEndOfImage):
        (WebCore::BMPImageReader::readCurrentPixel):
        (WebCore::BMPImageReader::setRGBA):
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::ICOImageDecoder):
        (WebCore::ICOImageDecoder::setData):
        (WebCore::ICOImageDecoder::isSizeAvailable):
        (WebCore::ICOImageDecoder::size):
        (WebCore::ICOImageDecoder::frameBufferAtIndex):
        (WebCore::ICOImageDecoder::decodeWithCheckForDataEnded):
        (WebCore::ICOImageDecoder::decode):
        (WebCore::ICOImageDecoder::processDirectory):
        (WebCore::ICOImageDecoder::processDirectoryEntries):
        (WebCore::ICOImageDecoder::readDirectoryEntry):
        (WebCore::ICOImageDecoder::processImageType):
        * platform/image-decoders/ico/ICOImageDecoder.h:
        (WebCore::ICOImageDecoder::readUint16):
        (WebCore::ICOImageDecoder::readUint32):

2009-06-19  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

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

        Fix the Chromium canary bot.  Turns out ScriptSourceCode doesn't have
        the same API in V8 and JSC.

        * WebCore/bindings/js/ScriptController.cpp:
        * WebCore/bindings/js/ScriptSourceCode.h:
        * WebCore/bindings/v8/ScriptController.cpp:
        * WebCore/page/XSSAuditor.cpp:
        * WebCore/page/XSSAuditor.h:

2009-06-19  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=26547
        
        Implement the IDL interface for HTMLDataGridColElement.

        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/HTMLAttributeNames.in:
        * html/HTMLDataGridColElement.cpp: Added.
        (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
        (WebCore::HTMLDataGridColElement::label):
        (WebCore::HTMLDataGridColElement::setLabel):
        (WebCore::HTMLDataGridColElement::type):
        (WebCore::HTMLDataGridColElement::setType):
        (WebCore::HTMLDataGridColElement::sortable):
        (WebCore::HTMLDataGridColElement::setSortable):
        (WebCore::HTMLDataGridColElement::sortDirection):
        (WebCore::HTMLDataGridColElement::setSortDirection):
        (WebCore::HTMLDataGridColElement::selected):
        (WebCore::HTMLDataGridColElement::setSelected):
        * html/HTMLDataGridColElement.h: Added.
        (WebCore::HTMLDataGridColElement::endTagRequirement):
        (WebCore::HTMLDataGridColElement::tagPriority):
        * html/HTMLDataGridColElement.idl: Added.
        * html/HTMLDataGridElement.h:
        * html/HTMLElementsAllInOne.cpp:
        * html/HTMLTagNames.in:
        * page/DOMWindow.idl:

2009-06-19  Chris Evans  <scarybeasts@gmail.com>

        Reviewed by Eric Seidel.

        There is no new test because this cannot be tested deterministically.
        I've not been able to cause a crash at all in the test framework, but
        I have verified that this is happening in the wild and that the patch
        fixes the likely cause in the debugger.

        * loader/TextResourceDecoder.cpp: careful not to iterate off the end
          of our input buffer looking for the end of the comment.

2009-06-19  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

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

        Fix external-script-URL-location.html and
        write-external-script-open.html LayoutTests.

        implicitOpen is called from several places.  We need to setXSSAuditor
        each time, so I moved the call inside implicitOpen.

        * dom/Document.cpp:
        (WebCore::Document::open):
        (WebCore::Document::implicitOpen):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::begin):

2009-06-19  Kent Tamura  <tkent@chromium.org>

        Reviewed by David Levin.

        Use WebCore::multipleFileUploadText() in Chromium to fix a problem
        that Chromium shows only the first filename even if a user selects
        multiple files for <input type=file multiple>.
        <https://bugs.webkit.org/show_bug.cgi?id=26502>

        * platform/chromium/FileChooserChromium.cpp:
        (WebCore::FileChooser::basenameForWidth):

2009-06-19  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/6967596> Safari hung using 100% CPU when I tried
          to look up a word in Dictionary using command-control-d

        Test: editing/selection/move-by-line-005.html

        The root cause of this bug was searchAheadForBetterMatch() continuing
        past the first rendered text object after the given object. While we
        want to skip non-rendered text and empty containers, when we encounter
        rendered text object, we must return a text box for that object.

        * dom/Position.cpp:
        (WebCore::searchAheadForBetterMatch):

2009-06-19  Jungshik Shin  <jshin@chromium.org>

        Reviewed by David Levin

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

        Chromium Linux port does not handle non-BMP characters properly.
        It's fixed with a 'UTF-16 iterator macro' to extract Unicode
        codepoints out of a UTF-16 input string.

        A manual test is added for non-BMP character rendering,
        which we can use until a small freely-distributable font
        covering non-BMP is added to the Webkit source tree.


        * platform/graphics/chromium/FontCacheLinux.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        * manual-tests/non-bmp.html: Added.

2009-06-19  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Dimitri Glazkov.

        V8 Bindings: return proper state from the script stack.

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

        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::ScriptCallStack):
        * bindings/v8/ScriptCallStack.h:
        (WebCore::ScriptCallStack::state):

2009-06-19  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Simon Fraser.

        Windows build fix.
        
        * platform/graphics/cg/PatternCG.cpp:
        (WebCore::Pattern::createPlatformPattern):

2009-06-19  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Simon Hausmann.
        Build fix after 44825.

        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::isSizeAvailable):
        * platform/graphics/qt/ImageDecoderQt.h:

2009-06-18  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Oliver Hunt.

        Bug 26426: Canvas: rotation of 'no-repeat' pattern is weird
        <https://bugs.webkit.org/show_bug.cgi?id=26426>

        Use 1<<23-1 as steps of no-repeat patterns instead of 100000000.0f.
        The original number cannot be represented by mantissa of float
        (23bit) so that it caused some error.

        Test: fast/canvas/image-object-in-canvas.html:

        * platform/graphics/cg/PatternCG.cpp:
        (WebCore::Pattern::createPlatformPattern):

2009-06-19  Adam Barth  <abarth@webkit.org>

        Unreviewed attempt to fix the Chromium build.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::evaluate):
        * bindings/v8/ScriptController.h:
        (WebCore::ScriptController::xssAuditor):
        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):

2009-06-18  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

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

        Added an experimental reflective XSS filter.  The filter is disabled by
        default.

        Test: http/tests/security/xssAuditor/script-tag.html

        * GNUmakefile.am:
        * WebCore.base.exp:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::evaluate):
        * bindings/js/ScriptController.h:
        (WebCore::ScriptController::xssAuditor):
        * bindings/js/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * dom/Tokenizer.h:
        (WebCore::Tokenizer::xssAuditor):
        (WebCore::Tokenizer::setXSSAuditor):
        (WebCore::Tokenizer::Tokenizer):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptHandler):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::begin):
        (WebCore::FrameLoader::requestObject):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setXSSAuditorEnabled):
        * page/Settings.h:
        (WebCore::Settings::xssAuditorEnabled):
        * page/XSSAuditor.cpp: Added.
        (WebCore::isControlCharacter):
        (WebCore::XSSAuditor::XSSAuditor):
        (WebCore::XSSAuditor::~XSSAuditor):
        (WebCore::XSSAuditor::canEvaluate):
        (WebCore::XSSAuditor::canCreateInlineEventListener):
        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
        (WebCore::XSSAuditor::canLoadObject):
        (WebCore::XSSAuditor::decodeURL):
        (WebCore::XSSAuditor::findInRequest):
        * page/XSSAuditor.h: Added.
        (WebCore::XSSAuditor::isEnabled):
        (WebCore::XSSAuditor::setXSSAuditorEnabled):

2009-06-18  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        feOffset and objectBoundingBox
        [https://bugs.webkit.org/show_bug.cgi?id=26441]

        If we use objectBoundingBox for primitiveUnits, the fractions given
        to dx or dy of feOffset must be multiplied with the referenced objects
        objectBoundingBox size.

        Test: svg/filters/feOffset.svg

        * svg/graphics/filters/SVGFEOffset.cpp:
        (WebCore::FEOffset::apply):

2009-06-18  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        feTile implementation missing
        [https://bugs.webkit.org/show_bug.cgi?id=26419]

        Implementation of feTile, a pattern effect for SVG filters. It was
        necessary to modify FilterEffect since source inputs need a secial
        logic and we have to identify if an effect is a source input.

        Tests: svg/batik/filters/feTile.svg
               svg/filters/feTile.svg

        * platform/graphics/filters/FilterEffect.h:
        (WebCore::FilterEffect::isSourceInput):
        * platform/graphics/filters/SourceAlpha.h:
        (WebCore::SourceAlpha::isSourceInput):
        * platform/graphics/filters/SourceGraphic.h:
        (WebCore::SourceGraphic::isSourceInput):
        * svg/graphics/filters/SVGFETile.cpp:
        (WebCore::FETile::apply):

2009-06-18  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        feMerge implementation
        [https://bugs.webkit.org/show_bug.cgi?id=26480]

        Added feMerge to the SVG Filter system.

        Test: svg/filters/feMerge.svg

        * svg/graphics/filters/SVGFEMerge.cpp:
        (WebCore::FEMerge::uniteChildEffectSubregions):
        (WebCore::FEMerge::apply):
        * svg/graphics/filters/SVGFEMerge.h:

2009-06-18  Mark Rowe  <mrowe@apple.com>

        Speculative Windows build fix.

        * page/win/FrameCGWin.cpp: Add missing #include.

2009-06-17  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Dave Levin.

        https://bugs.webkit.org/show_bug.cgi?id=26425
        Final refactorings, picking up a few places where BitmapInfo
        could be used.

        * page/win/FrameCGWin.cpp:
        (WebCore::imageFromRect):
        * platform/win/CursorWin.cpp:
        (WebCore::Cursor::Cursor):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::paint):

2009-06-18  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 26522: In DOM mode, VoiceOver reads some mouseover text on web sites strangely
        https://bugs.webkit.org/show_bug.cgi?id=26522

        Test: accessibility/non-data-table-cell-title-ui-element.html

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

2009-06-18  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fix after recent RenderTheme changes.

        * platform/wx/RenderThemeWx.cpp:
        (WebCore::RenderThemeWx::~RenderThemeWx):
        (WebCore::RenderTheme::themeForPage):

2009-06-18  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26460 part two
        Attempt to minimize diff of following functional change by first landing
        non-functional change to:
        * Make readUintX() public and static (since they will need to be once
          BMPImageReader is included in *ImageDecoder via composition rather
          than inheritance).  Add wrappers in each class so callers can be
          simpler.  In the next patch, these wrappers will be beefed up slightly
          and the callers will get even simpler.
        * Change direct setting of m_failed to use setFailed(), since in the
          next patch much of this code won't even have direct access to m_failed
        * Add a helper function in ICOImageDecoder to determine the image type
          instead of simply doing it inline
        * Rewrap lines that used to be <=80 cols and slipped over it during the
          original landing of these decoders
        * Other misc. changes, e.g. adding constructor definitions, reordering
          functions, changing RGBA32Buffer& to RGBA32Buffer*, etc. that have no
          functional effect but minimize the subsequent diff for readability


        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::BMPImageDecoder):
        (WebCore::BMPImageDecoder::processFileHeader):
        * platform/image-decoders/bmp/BMPImageDecoder.h:
        (WebCore::BMPImageDecoder::readUint32):
        * platform/image-decoders/bmp/BMPImageReader.cpp:
        (WebCore::BMPImageReader::decodeBMP):
        (WebCore::BMPImageReader::getInfoHeaderSize):
        (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::readUint16Helper):
        (WebCore::BMPImageReader::readUint32Helper):
        (WebCore::BMPImageReader::):
        (WebCore::BMPImageReader::readUint16):
        (WebCore::BMPImageReader::readUint32):
        (WebCore::BMPImageReader::readCurrentPixel):
        (WebCore::BMPImageReader::getComponent):
        (WebCore::BMPImageReader::setI):
        (WebCore::BMPImageReader::setRGBA):
        (WebCore::BMPImageReader::fillRGBA):
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::ICOImageDecoder):
        (WebCore::ICOImageDecoder::isSizeAvailable):
        (WebCore::ICOImageDecoder::size):
        (WebCore::ICOImageDecoder::decodeImage):
        (WebCore::ICOImageDecoder::processDirectory):
        (WebCore::ICOImageDecoder::processDirectoryEntries):
        (WebCore::ICOImageDecoder::isBetterEntry):
        (WebCore::ICOImageDecoder::processImageType):
        * platform/image-decoders/ico/ICOImageDecoder.h:
        (WebCore::ICOImageDecoder::readUint16):
        (WebCore::ICOImageDecoder::readUint32):

2009-06-18  Peter Kasting  <pkasting@google.com>

        Fix build bustage.

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

2009-06-18  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/6940880> REGRESSION: Breakpoints don't break in 64-bit

        Convert intptr_t to Strings so that we don't loose bits in the
        conversion to JS.  Previously they were being put into 32bit ints.

        * inspector/InspectorController.cpp: Convert the String back to an
        intptr_t.
        (WebCore::InspectorController::addBreakpoint):
        (WebCore::InspectorController::removeBreakpoint):
        * inspector/InspectorController.h:
        * inspector/InspectorController.idl: Use strings in JS to avoid 32bit
        truncation.
        * inspector/InspectorFrontend.cpp: Make the intptr_t into a String.
        (WebCore::InspectorFrontend::parsedScriptSource):
        * platform/text/PlatformString.h: Implemented the necessary conversion
        functions to be able to convert to and from an intptr_t.
        * platform/text/String.cpp: Ditto.
        (WebCore::String::toIntPtrStrict):
        (WebCore::String::toIntPtr):
        (WebCore::charactersToIntPtrStrict):
        (WebCore::charactersToIntPtr):
        * platform/text/StringImpl.cpp: Ditto.
        (WebCore::StringImpl::toIntPtrStrict):
        (WebCore::StringImpl::toIntPtr):
        * platform/text/StringImpl.h: Ditto.

2009-06-17  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Eric Seidel.

        Final cleanups in this refactoring:
        (1) Move WindowsBitmap implementation from CG-specific file to
            the platform-common GraphicsContextWin.cpp, since it is
            equally useful on both platforms.
        (2) Revise the TransformationMatrix logic as suggested by
            Adam Roben in his review comments to Part #2 of this
            refactoring.

        * platform/graphics/win/GraphicsContextCGWin.cpp:
        * platform/graphics/win/GraphicsContextWin.cpp:
        (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap):
        (WebCore::GraphicsContext::WindowsBitmap::~WindowsBitmap):
        (WebCore::GraphicsContext::createWindowsBitmap):
        (WebCore::GraphicsContext::getWindowsContext):
        (WebCore::GraphicsContextPlatformPrivate::scale):
        (WebCore::GraphicsContextPlatformPrivate::rotate):
        (WebCore::GraphicsContextPlatformPrivate::translate):
        (WebCore::GraphicsContextPlatformPrivate::concatCTM):

2009-06-18  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26460 part one
        Make isSizeAvailable non-const, since it's not logically const (it
        triggers lazy decoding), and simplify all the implementations (without
        changing behavior; just make less verbose).  Remove some other
        inappropriate consts, which enables the removal of all the mutable
        declarations in the decoders.

        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageDecoder::isSizeAvailable):
        (WebCore::ImageDecoder::setSize): Make public to avoid needing a friend declaration in the JPEG decoder, and because the ICO/BMP decoders will soon need this.
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::isSizeAvailable):
        (WebCore::GIFImageDecoder::repetitionCount):
        (WebCore::GIFImageDecoder::decode):
        * platform/image-decoders/gif/GIFImageDecoder.h:
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::isSizeAvailable):
        * platform/image-decoders/ico/ICOImageDecoder.h:
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageDecoder::isSizeAvailable):
        (WebCore::JPEGImageDecoder::decode):
        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::isSizeAvailable):
        (WebCore::PNGImageDecoder::decode):
        * platform/image-decoders/png/PNGImageDecoder.h:
        * platform/image-decoders/xbm/XBMImageDecoder.cpp:
        (WebCore::XBMImageDecoder::isSizeAvailable):
        (WebCore::XBMImageDecoder::frameBufferAtIndex):
        (WebCore::XBMImageDecoder::decode):
        * platform/image-decoders/xbm/XBMImageDecoder.h: Rename decodeXBM() to decode() for consistency with the JPEG/PNG decoders, and in the future the ICO/BMP decoders.

2009-06-17  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Eric Seidel.

        Move some common functions out of platform files and into
        the common implementation.

        https://bugs.webkit.org/show_bug.cgi?id=26425.
        Add a new platform context method (flush) so that the
        getWindowsContext method can be consolidated into the common
        GraphicsContextWin.cpp file.
         
        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
        (WebCore::GraphicsContextPlatformPrivate::flush):
        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
        (WebCore::GraphicsContextPlatformPrivate::flush):
        * platform/graphics/win/GraphicsContextCGWin.cpp: Remove
          getWindowContext method.
        * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove
          getWindowContext method and fillWithClearColor methods.
        * platform/graphics/win/GraphicsContextWin.cpp:
        (WebCore::fillWithClearColor): Moved from *CairoWin.cpp
        (WebCore::GraphicsContext::getWindowsContext): Moved
          from *CairoWin.cpp

2009-06-18  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Oliver Hunt.

        Remove code that I accidentally committed in r44811.

        * editing/markup.cpp:
        (WebCore::createMarkup):

2009-06-18  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/6983207> Non-layer content is not re-rendered when transition
        starts sometimes (with hardware acceleration).
        
        When deciding which RenderLayers should be composited, when a layer goes into
        compositing mode we repaint the old location. However, we did that before
        we'd looked at all the factors that may force a layer to composite, so missed
        some cases. Fix by doing the repaint once we really know whether it's going
        to composite.

        Test: compositing/repaint/become-overlay-composited-layer.html

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

2009-06-18  Simon Fraser  <simon.fraser@apple.com>

        Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined, and
        the Tiger build where QTMovieLayer does not exist.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::createQTMovieLayer):
        (WebCore::MediaPlayerPrivate::destroyQTMovieLayer):
        (WebCore::MediaPlayerPrivate::currentRenderingMode):
        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
        (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
        (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering):

2009-06-18  Simon Fraser  <simon.fraser@apple.com>

        Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::currentRenderingMode):
        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
        (WebCore::MediaPlayerPrivate::tearDownVideoRendering):

2009-06-17  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=15189
        Adds the HTML5 input event support for textarea.
        
        Also, moves the oninput attribute parse handling to HTMLElement so that
        it can be set on any HTML element so that bubbling events can be handled
        using HTML attribute handlers.

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

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseMappedAttribute):
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::subtreeHasChanged):

2009-06-18  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        Share code between filterEffects
        [https://bugs.webkit.org/show_bug.cgi?id=26479]

        Share more code of filter effects. The imageBuffer creation can move to
        FilterEffect ant every effect asks for the GraphicsContext. Move the
        drawingRect calculation to FilterEffect.

        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::calculateDrawingRect):
        (WebCore::FilterEffect::getEffectContext):
        * platform/graphics/filters/FilterEffect.h:
        * platform/graphics/filters/SourceGraphic.cpp:
        (WebCore::SourceGraphic::apply):
        * svg/graphics/filters/SVGFEFlood.cpp:
        (WebCore::FEFlood::apply):
        * svg/graphics/filters/SVGFEOffset.cpp:
        (WebCore::FEOffset::apply):

2009-06-18  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.
        
        https://bugs.webkit.org/show_bug.cgi?id=26499
        
        Support hardware-accelerationed rendering of video elements.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks):
        (WebCore::HTMLMediaElement::mediaPlayerRepaint):
        Just move these methods to group the render-related methods together.
        
        (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
        Call out method to ask the RenderLayerCompositor if presentation of this video
        can be acclerated. It might say no, if, for example, the video has a reflection.
        
        (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer):
        Fetch the GraphicsLayer from the RenderVideo that will host the movie layer.
        
        * html/HTMLMediaElement.h:
        Reordered the rendering-related methods, and added two methods related to video
        acceleration.
        
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::acceleratedRenderingStateChanged):
        Called by the rendering system when it determines that the video must go into, or
        fall off of the hardware-accelerated path.
        
        (WebCore::MediaPlayer::supportsAcceleratedRendering):
        Method to say whether the media engine supports accelerated rendering.
        
        * platform/graphics/MediaPlayer.h:
        (WebCore::MediaPlayerClient::mediaPlayerRepaint):
        (WebCore::MediaPlayerClient::mediaPlayerSizeChanged):
        Moved.
        
        (WebCore::MediaPlayerClient::mediaPlayerRenderingCanBeAccelerated):
        (WebCore::MediaPlayerClient::mediaPlayerGraphicsLayer):
        New methods to ask the client if the rendering system can support accelerated
        rendering, and to get a GraphicsLayer to plug the movie layer into.
        
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::supportsAcceleratedRendering):
        (WebCore::MediaPlayerPrivateInterface::acceleratedRenderingStateChanged):
        Forwarding methods from MediaPlayer.
        
        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        Some new methods related to using a QTMovieLayer, and to simplify the rendering mode logic.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::createQTMovieLayer):
        (WebCore::MediaPlayerPrivate::destroyQTMovieLayer):
        Methods to create and destroy the QTMovieLayer.
        
        (WebCore::MediaPlayerPrivate::currentRenderingMode):
        (WebCore::MediaPlayerPrivate::preferredRenderingMode):
        Methods to clarify the code that decides which of the 3 rendering modes to use.
        
        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
        Changed to use the new rendering mode methods.
        
        (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
        Destroy the layer if we have one.
        
        (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering):
        Small utility method.
        
        (WebCore::MediaPlayerPrivate::updateStates):
        Move the call to setUpVideoRendering() to before we send out the state notifications,
        so that we will have created the rendering objects already.
        
        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
        Return true if we have QTMovieLayer.
        
        (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
        We've been told that we went into or out of accelerated mode; maybe reset
        the renderer, and set the layer if we have to.
        
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::rendererContentChanged):
        We may need to udpate compositing layers if the video went into accelerated mode.
        
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::canUseDirectCompositing):
        Add smarts to deal with video, which allows us to avoid extra backing store.
        
        (WebCore::RenderLayerBacking::contentsBox):
        Use the videoBox to use the content layer for video layers.
        
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateLayerCompositingState):
        Poke the RenderVideo if the state changed.
        
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
        Handle an edge case when the video element itself is a stacking context
        because of opacity or transform.
        
        (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
        (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
        Allow video to throw us into compositing mode if the media engine supports it.
        
        * rendering/RenderLayerCompositor.h:
        New methods related to video.
        
        * rendering/RenderVideo.h:
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::updatePlayer):
        Call rendererContentChanged() to give the compositor a change to throw the video into
        compositing mode.
        
        (WebCore::RenderVideo::supportsAcceleratedRendering):
        (WebCore::RenderVideo::acceleratedRenderingStateChanged):
        (WebCore::RenderVideo::videoGraphicsLayer):
        Methods to allow the MediaPlayer to do rendering-related stuff via the media element.

2009-06-18  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Niko.

        https://bugs.webkit.org/show_bug.cgi?id=26385
        Root SVG element is not checked on requiredFeatures, requiredExtension like other elements

        Also do the isValid check for outer <svg>.

        Test: svg/custom/outer-svg-unknown-feature.svg

        * svg/SVGDocument.cpp:
        (WebCore::SVGDocument::childShouldCreateRenderer):
        * svg/SVGDocument.h:

2009-06-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix <rdar://problem/6913221> REGRESSION (Safari 3-4): Search field on
          apple.com cuts entered text

        Test: fast/forms/search-vertical-alignment.html

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::layout): Vertically center the
            the search field's inner block.

2009-06-18  Janne Koskinen  <janne.p.koskinen@digia.com>

        Reviewed by Simon Hausmann.

        Fix compilation with Symbian WINSCW compiler, which produced
        multiple definitions of the CSSPrimitiveValue conversion operators.

        It turns out that they are defined inline but not declared inline.

        Adding the inline keyword to the declaration fixes the build.

        * css/CSSPrimitiveValue.h:

2009-06-18  Markus Goetz <Markus.Goetz@nokia.com>

        Reviewed by Simon Hausman.

        Clarify in docs how to compile with debug information.

        * WebCore.pro:

2009-06-18  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Simon Hausmann.

        [Qt] When writing an URL to the clipboard, save the corresponding title
        in the mime data as well.

        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::writeURL):

2009-06-18  Jakub Wieczorek  <faw217@gmail.com>

        [Qt] Fix build. Add HTMLDataGridElement.

        * WebCore.pro:

2009-06-18  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Gtk build fix.

        Add HTMLDataGridElement header and IDL to the build script.

        * GNUmakefile.am:

2009-06-18  Chris Evans  <scarybeasts@gmail.com>

        Reviewed by Adam Barth.

        Fix 8-digit long hex entities. Fixes bug 26454
        https://bugs.webkit.org/show_bug.cgi?id=26454

        Test: fast/parser/eightdigithexentity.html

        * html/HTMLTokenizer.cpp: fix off-by-ones.

2009-06-18  David Levin  <levin@chromium.org>

        Fix chromium linux build.

        Fixes a mistake that happened during the complicated merge for
        landing r44775, r44776, r44777.

        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::create):

2009-06-17  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.
        
        https://bugs.webkit.org/show_bug.cgi?id=26499
        
        First step to making video rendering be hardware-accelerated:
        make <video> elements get self-painting RenderLayers, and add
        an isVideo() virtual method to RenderObject.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setReadyState):
        (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
        (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::shouldBeNormalFlowOnly):
        (WebCore::RenderLayer::isSelfPaintingLayer):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isVideo):
        * rendering/RenderVideo.h:
        (WebCore::RenderVideo::requiresLayer):
        (WebCore::RenderVideo::isVideo):

2009-06-17  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        Refactor a few common routines in the various Windows ports
        and reduce some duplicated code.

        (1) Create TransformationMatrix XFORM casting operator, and
            switch various XFORM structure uses to utilize it.
        (2) Push concatCTM call to GraphicsContextWin now that the
            TransformationMatrix can directly create XFORM (rather
            than converting to CGAffineTransform/cairo_matrix_t first.)

        * WebCore.vcproj/WebCore.vcproj: Add new BitmapInfo structure.
        * platform/graphics/transforms/TransformationMatrix.h:
        * platform/graphics/win/GraphicsContextCGWin.cpp:
        * platform/graphics/win/GraphicsContextCairoWin.cpp:
        * platform/graphics/win/GraphicsContextWin.cpp:
        (WebCore::GraphicsContextPlatformPrivate::scale):
        (WebCore::GraphicsContextPlatformPrivate::rotate):
        (WebCore::GraphicsContextPlatformPrivate::translate):
        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
        * platform/graphics/win/TransformationMatrixWin.cpp: Added.
        (WebCore::TransformationMatrix::operator XFORM): New operator

2009-06-17  Brent Fulgham  <bfulgham@webkit.org>

        Non-CG Windows build fix after @r44758.

        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderTheme::themeForPage):

2009-06-17  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        Refactor a few common routines in the various Windows ports
        and reduce some duplicated code.
        https://bugs.webkit.org/show_bug.cgi?id=26425.

        Refactor use of BITMAPINFO for the new BitmapInfo structure.

        * WebCore.vcproj/WebCore.vcproj:
        * platform/win/BitmapInfo.cpp: Added.
        (WebCore::bitmapInfoForSize):
        (WebCore::BitmapInfo::create):
        (WebCore::BitmapInfo::createBottomUp):
        * platform/win/BitmapInfo.h: Added.
        * platform/graphics/win/GraphicsContextCairoWin.cpp:
        * platform/graphics/win/GraphicsContextCGWin.cpp:
        * platform/graphics/win/TransformationMatrixWin.cpp: Added.
        (WebCore::TransformationMatrix::operator XFORM): New operator
        * platform/win/DragImageCGWin.cpp:
        (WebCore::allocImage):
        * platform/win/DragImageCairoWin.cpp:
        (WebCore::allocImage):
        * platform/win/PasteboardWin.cpp:
        (WebCore::Pasteboard::writeImage):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::paint):

2009-06-17  Adam Roben  <aroben@apple.com>

        Remove unnecessary 6th parameter from SOFT_LINK_OPTIONAL

        Reviewed by Mark Rowe.

        * platform/graphics/win/ColorSafari.cpp: Removed the 6th parameter and
        an unnecessary parameter name.
        * platform/win/SoftLinking.h: Removed the unused 6th parameter.

2009-06-17  Adam Roben  <aroben@apple.com>

        Make Settings::shouldPaintNativeControls default to true

        This matches the default up in WebKit (that was changed in r43318).

        Fixes Bug 26493: REGRESSION (r44758): First tab always uses Mac-style
        form controls
        <https://bugs.webkit.org/show_bug.cgi?id=26493>

        Reviewed by Darin Adler and Dave Hyatt.

        No test possible since DRT always uses Mac-style form controls.

        * page/Settings.cpp: Changed the initial value of
        gShouldPaintNativeControls to true.

        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderTheme::themeForPage): Added a FIXME about the design
        flaw here involving querying Settings before it's been initialized.

2009-06-17  David Levin  <levin@chromium.org>

        Fix chromium windows build.

        A mistake that happened during the complicated merge for
        landing r44775, r44776, r44777.

        * rendering/RenderThemeChromiumWin.h:
        (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
        (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):

2009-06-17  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/6981193> Crash in MediaControlInputElement::attachToParent

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaTextDisplayElement::attachToParent): NULL check element renderer or parent renderer.
        (WebCore::MediaControlInputElement::attachToParent): Ditto.

2009-06-17  David Hyatt  <hyatt@apple.com>

        Fix Windows build.  There's no HTMLDataGridElement.cpp file yet.

        * html/HTMLElementsAllInOne.cpp:

2009-06-17  David Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben and Anders Carlsson.

        Stub out the HTMLDataGridElement.

        * DerivedSources.make:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        * editing/htmlediting.cpp:
        (WebCore::canHaveChildrenForEditing):
        * html/HTMLDataGridElement.h: Added.
        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
        (WebCore::HTMLDataGridElement::tagPriority):
        * html/HTMLDataGridElement.idl: Added.
        * html/HTMLElement.cpp:
        (WebCore::inlineTagList):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::isAffectedByResidualStyle):
        * html/HTMLTagNames.in:

2009-06-17  David Levin  <levin@chromium.org>

        Reviewed by NOBODY (chromium build fix).

        Fix typo in previous changes.

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::defaultGUIFont):

2009-06-17  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26148
        Remove common code from RenderThemeChromiumWin that is shared with
        RenderThemeChromiumSkia.

        Also move supportsControlTints to RenderThemeChromiumLinux since it
        is linux specific.

        There are no tests changed because this just removes functions with
        duplicate implementations between the base and derived classes.

        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::supportsControlTints):
        * rendering/RenderThemeChromiumLinux.h:
        * rendering/RenderThemeChromiumSkia.cpp:
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::):
        (WebCore::getNonClientMetrics):
        (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
        (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
        (WebCore::RenderThemeChromiumWin::systemFont):
        (WebCore::RenderThemeChromiumWin::paintCheckbox):
        (WebCore::RenderThemeChromiumWin::paintRadio):
        (WebCore::RenderThemeChromiumWin::paintSliderThumb):
        (WebCore::RenderThemeChromiumWin::caretBlinkIntervalInternal):
        * rendering/RenderThemeChromiumWin.h:

2009-06-17  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26148
        Move RenderThemeChromiumSkia into its own file.  This is purely a code move.

        * rendering/RenderThemeChromiumLinux.cpp:
        * rendering/RenderThemeChromiumLinux.h:
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::):
        (WebCore::setSizeIfAuto):
        (WebCore::mediaElementParent):
        (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
        (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia):
        (WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia):
        (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet):
        (WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet):
        (WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet):
        (WebCore::RenderThemeChromiumSkia::supportsHover):
        (WebCore::RenderThemeChromiumSkia::supportsFocusRing):
        (WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor):
        (WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor):
        (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
        (WebCore::RenderThemeChromiumSkia::systemFont):
        (WebCore::RenderThemeChromiumSkia::minimumMenuListSize):
        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
        (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
        (WebCore::RenderThemeChromiumSkia::paintRadio):
        (WebCore::RenderThemeChromiumSkia::setRadioSize):
        (WebCore::brightenColor):
        (WebCore::paintButtonLike):
        (WebCore::RenderThemeChromiumSkia::paintButton):
        (WebCore::RenderThemeChromiumSkia::paintTextField):
        (WebCore::RenderThemeChromiumSkia::paintTextArea):
        (WebCore::RenderThemeChromiumSkia::paintSearchField):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
        (WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal):
        (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
        (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
        (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
        (WebCore::RenderThemeChromiumSkia::paintMenuList):
        (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
        (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft):
        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight):
        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop):
        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom):
        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft):
        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight):
        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop):
        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom):
        (WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal):
        (WebCore::RenderThemeChromiumSkia::menuListInternalPadding):
        * rendering/RenderThemeChromiumSkia.h:
        (WebCore::RenderThemeChromiumSkia::supportsControlTints):

2009-06-17  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26148
        Extract RenderThemeChromiumSkia out of RenderThemeChromiumLinux.  This
        is mostly a code shuffle.  The non-suffle changes are:
           1) Creation of a caretBlinkIntervalInternal.
           2) Moving of some inline functions into the implementation files.
           3) Changing of defaultGUIFont into a static class constant from a
              static function.  Also the type is changed to String.
           4) Changing of defaultFontSize into a static class constant from a
              static variable in the file scope.
           5) The static supportsFocus function was collapsed into
              supportsFocusRing.
           6) Split the extraDefaultStyleSheet into Skia and Linux versions.

        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
        (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia):
        (WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia):
        (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet):
        (WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet):
        (WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet):
        (WebCore::RenderThemeChromiumSkia::supportsHover):
        (WebCore::RenderThemeChromiumSkia::supportsFocusRing):
        (WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor):
        (WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor):
        (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
        (WebCore::RenderThemeChromiumSkia::systemFont):
        (WebCore::RenderThemeChromiumSkia::minimumMenuListSize):
        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
        (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
        (WebCore::RenderThemeChromiumSkia::paintRadio):
        (WebCore::RenderThemeChromiumSkia::setRadioSize):
        (WebCore::RenderThemeChromiumSkia::paintButton):
        (WebCore::RenderThemeChromiumSkia::paintTextField):
        (WebCore::RenderThemeChromiumSkia::paintTextArea):
        (WebCore::RenderThemeChromiumSkia::paintSearchField):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
        (WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal):
        (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
        (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
        (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
        (WebCore::RenderThemeChromiumSkia::paintMenuList):
        (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
        (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft):
        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight):
        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop):
        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom):
        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft):
        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight):
        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop):
        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom):
        (WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal):
        (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
        (WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux):
        (WebCore::RenderThemeChromiumLinux::systemColor):
        (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet):
        (WebCore::RenderThemeChromiumSkia::menuListInternalPadding):
        * rendering/RenderThemeChromiumLinux.h:

2009-06-17  Adam Roben  <aroben@apple.com>

        Add a SOFT_LINK_OPTIONAL macro

        This macro is useful when soft-linking functions that are present in
        only some versions of a particular library (e.g., APIs added in
        Windows Vista that aren't available on Windows XP).

        Reviewed by Ada Chan.

        * platform/graphics/win/ColorSafari.cpp:
        (WebCore::focusRingColor):
        Use the SoftLinking.h macros instead of doing the soft-link ourselves.
        Also removed an unused call to focusRingColor.isValid().

        * platform/win/SoftLinking.h: Added SOFT_LINK_OPTIONAL.

2009-06-17  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Gustavo Noronha.

        Fixes: https://bugs.webkit.org/show_bug.cgi?id=26470.
        The use of zero-width or zero-height rectangles in generating
        gradients caused Windows Cairo to crash, and webkitgtk to
        produce invalid images.

        We now test for NaN in the phase argument, which is calculated
        using fmodf and can blow up when the width/height values passed
        are zero.

        Test: fast/gradients/border-image-gradient-sides-and-corners.html

        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::Image::drawPattern):

2009-06-17  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Dimitri Glazkov.

        If loading a font fails because of the sandbox, we ask the browser process to
        try to load it by calling ensureFontLoaded. If it still fails after
        ensureFontLoaded, we hit a ASSERT_NOT_REACHED.

        This case happens once in a while during browser shutdown. The browser will
        queue a message to the renderer to shutdown, and will then stop answering sync
        messages from the renderer. If the renderer is still loading a page during this
        time, it might try to call the browser process to ask to load a font. The
        browser process will ignore the request, and the font will fail to load, even
        after the second try.

        This is unfortunate, but there is no real risk here, since the renderer will be
        going away as soon as it processes another message.
        
        This can't be layout tested as it depends on the sandbox.
        
        https://bugs.webkit.org/show_bug.cgi?id=26484

        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::fontContainsCharacter):

2009-06-17  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=26482
        <rdar://problem/6978590> When setting playback rate to 0, the audio element stops 
        playing (doesn't resume later)

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::setRate): Always set the rate, even when "paused".

        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::setRate): Ditto.

2009-06-17  Adam Roben  <aroben@apple.com>

        Add all the generated JS*.cpp files back to WebCore.vcproj

        They are not compiled by the vcproj directly. Instead they are
        compiled as part of DerivedSources.cpp. Having them listed in the
        vcproj makes them be included in Project Find, etc.

        Rubber-stamped in advance by Steve Falkenburg.

        * WebCore.vcproj/WebCore.vcproj:

2009-06-17  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Fisher.

        Don't fire redundant 'change' events for a file upload form.
        https://bugs.webkit.org/show_bug.cgi?id=26471

        * platform/FileChooser.cpp:
        (WebCore::FileChooser::chooseFiles): Suppress change event if the
        existing selected files and the incoming selected files are equal.
        (WebCore::FileChooser::chooseIcon): Returns 0 if there is no selected
        files.

2009-06-17  Adam Treat  <adam.treat@torchmobile.com>

        Reviewed by George Staikos.

        https://bugs.webkit.org/show_bug.cgi?id=23155
        Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.

        * platform/KeyboardCodes.h:

2009-06-17  George Staikos  <george.staikos@torchmobile.com>

        Reviewed by Adam Treat.

        https://bugs.webkit.org/show_bug.cgi?id=23155
        Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::getWindowsContext):
        * platform/win/SystemTimeWin.cpp:
        (WebCore::userIdleTime):

2009-06-17  Adam Roben  <aroben@apple.com>

        Speculative Mac build fix

        * page/Page.h: Forward-declare RenderTheme instead of including
        RenderTheme.h so that we don't need to make RenderTheme.h a private
        header for WebKit's benefit.

        * editing/SelectionController.cpp:
        * rendering/InlineTextBox.cpp:
        * rendering/RenderObject.cpp:
        Added #includes of RenderTheme.h.

2009-06-17  Adam Roben  <aroben@apple.com>

        Speculative Mac build fix

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderTheme::create): Added.

2009-06-17  Adam Roben  <aroben@apple.com>

        Speculative Mac build fix

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderTheme::themeForPage): Remove the name of an unused
        parameter.

2009-06-17  Adam Roben  <aroben@apple.com>

        Speculative Mac build fix

        * page/Page.cpp:
        (WebCore::Page::Page): Change the initializer order to match the
        declaration order.

2009-06-16  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Reviewed by Simon Hausmann.

        Follow up to bug https://bugs.webkit.org/show_bug.cgi?id=26278
        Patch that make WebCore have a RenderTheme per page

        Make the Qt implementation of RenderTheme create a theme per page,
        and use the QStyle associated with the view of each page, in order
        to make the QWidget setStyle() method work as advertised.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::RenderThemeQt):
        (WebCore::RenderThemeQt::qStyle):
        (WebCore::findFrameLineWidth):
        (WebCore::inflateButtonRect):
        (WebCore::RenderThemeQt::adjustRepaintRect):
        (WebCore::RenderThemeQt::isControlStyled):
        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
        (WebCore::RenderThemeQt::setButtonPadding):
        (WebCore::RenderThemeQt::paintButton):
        (WebCore::RenderThemeQt::paintTextField):
        (WebCore::RenderThemeQt::setPopupPadding):
        * platform/qt/RenderThemeQt.h:

2009-06-16  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Reviewed by Dave Hyatt and Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=26278
        Patch that make WebCore have a RenderTheme per page


        Create a different RenderTheme per page, so that RenderTheme has
        access to page specific theming. This is needed for the Qt port, as Qt
        supports setting the theme (style) per widget.

        This change was suggested and discussed with Dave Hyatt.

        More detailed:

        1) Create a theme per page or one global one, depending on the needs
           of the platform.
        2) Add an accesser to the theme from RenderObject.
        3) Change all uses of the theming to access the theme through
           RenderObject, using the global default theme as fallback, when the
           document of RenderObject has no page.
           When we don't have access to a RenderObject, use the default theme.
        4) Modify all RenderTheme platform implementations to work with the
           above changes, still creating only one global theme.


        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::boundingBoxRect):
        * css/CSSStyleSelector.cpp:
        (WebCore::loadFullDefaultStyle):
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        (WebCore::CSSStyleSelector::applyProperty):
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::setActive):
        (WebCore::ContainerNode::setHovered):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::focusedOrActiveStateChanged):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::parseMappedAttribute):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setChecked):
        (WebCore::HTMLInputElement::setIndeterminate):
        * page/Frame.cpp:
        (WebCore::Frame::selectionLayoutChanged):
        * page/FrameView.cpp:
        (WebCore::FrameView::updateControlTints):
        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h:
        (WebCore::Page::theme):
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::paintRow):
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::create):
        (WebCore::RenderTheme::themeForPage):
        (WebCore::RenderThemeGtk::RenderThemeGtk):
        (WebCore::RenderThemeGtk::~RenderThemeGtk):
        (WebCore::RenderThemeGtk::gtkEntry):
        (WebCore::RenderThemeGtk::gtkTreeView):
        * platform/gtk/RenderThemeGtk.h:
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::create):
        (WebCore::RenderTheme::themeForPage):
        * platform/qt/RenderThemeQt.h:
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::paint):
        * rendering/RenderMediaControls.cpp:
        (WebCore::determineState):
        * platform/wx/RenderThemeWx.cpp:
        (WebCore::RenderThemeWx::create):
        (WebCore::RenderTheme::themeForPage):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintTextMatchMarker):
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlInputElement::hitTest):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::theme):
        * rendering/RenderObject.h:
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::defaultTheme):
        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::create):
        (WebCore::RenderTheme::themeForPage):
        * rendering/RenderThemeChromiumLinux.h:
        (WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux):
        * rendering/RenderThemeChromiumMac.h:
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::create):
        (WebCore::RenderTheme::themeForPage):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::create):
        (WebCore::RenderTheme::themeForPage):
        * rendering/RenderThemeChromiumWin.h:
        (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
        (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderTheme::themeForPage):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::create):
        (WebCore::RenderTheme::themeForPage):
        * rendering/RenderThemeSafari.h:
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::create):
        (WebCore::RenderTheme::themeForPage):
        * rendering/RenderThemeWin.h:

2009-06-17  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/6974175> ASSERT in JITStubs.cpp at appsaccess.apple.com

        JSDOMWindowCustom was using PropertySlot::putValue, however this interface
        appears to be fundaementally incorrect - PropertySlots are only used to get
        values, all puts use PutPropertySlot.  However PutPropertySlot cannot be
        used in the fashion desired here - it only reports the caching type of a
        write that has been performed.

        (This caused a bug where the put should have triggered a transition, and
        failed to do so.)

        Removing the faulty case from the optimization leads to a ~0.5% progression
        on in-browser SunSpider (presumably the very first case was not being hit
        often, and the simplification here is beneficial).

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

2009-06-17  David Levin  <levin@chromium.org>

        Reviewed by NOBODY, layout tests fix.

        https://bugs.webkit.org/show_bug.cgi?id=26326
        This reverts commit r44751.

        Once that change was checked scrollbars/scrollbar-orientation.html started
        crashing on Windows.

        * dom/Document.cpp:
        (WebCore::Document::detach):
        * page/FrameView.cpp:
        * page/FrameView.h:
        * platform/Scrollbar.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::destroy):
        * rendering/RenderScrollbar.h:

2009-06-16  Kevin Watters  <kevinwatters@gmail.com>

        Reviewed by Kevin Ollivier.

        In ImageSource::setData, delete the old m_encoder before replacing it with a new one.
        
        https://bugs.webkit.org/show_bug.cgi?id=26458

        * platform/graphics/wx/ImageSourceWx.cpp:
        (WebCore::ImageSource::setData):

2009-06-16  David Levin  <levin@chromium.org>

        Reviewed by David Hyatt.

        REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction.
        https://bugs.webkit.org/show_bug.cgi?id=26326

        Test: scrollbars/scrollbar-crash-on-refresh.html

        * dom/Document.cpp:
        (WebCore::Document::detach):
        Gives the FrameView a change to do any necessary cleanup on
        Document::detach() which is where the renderArena gets detroyed.
        * page/FrameView.cpp:
        (WebCore::FrameView::detachCustomScrollbars):
        Gets rid of any custom scrollbars (if the docment supplied them).
        * page/FrameView.h:
        * platform/Scrollbar.h:
        (WebCore::Scrollbar::isCustomScrollbar):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::destroy):
        Removed the check for document()->frame().  If frame() is 0 in this code,
        then the call to animation() is also incorrect (since it does document()->frame()->animation()).
        * rendering/RenderScrollbar.h:
        (WebCore::RenderScrollbar::isCustomScrollbar):

2009-06-16  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adele Peterson.

        Fix of <rdar://6967547> Ctrl-C copies null value erasing text in clipboard in Safari.
        This patch kept the way events were firing as they were before, and Windows events are
        consistent with Mac.       

        * editing/Editor.cpp:
        (WebCore::Editor::tryDHTMLCopy): Added check for canCopy() before clearing PasteBoard
        (WebCore::Editor::tryDHTMLCut): Added check for canCut() before clearing PasteBoard

2009-06-16  Antti Koivisto  <antti@apple.com>

        Reviewed by Brady Eidson.

        <rdar://problem/6660037> CrashTracer: [USER] 46 crashes in Safari at com.apple.WebCore • WebCore::CachedCSSStyleSheet::addClient + 53
        
        When revalidating a resource, calling addClient() on one client might cause another to get removed.
        
        - made CachedResource::addClient() non-virtual and added virtual didAddClient()
        - in CachedResource::switchClientsToRevalidatedResource() add all clients to the client set of the revalidated resource first
        - check if the client is still in the set before invoking didAddClient() for it
        
        No test case, I didn't manage to construct one. You need some combination of 304 revalidation, stylesheets that
        reference each other via @imports and reloading.

        * WebCore.base.exp:
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::didAddClient):
        * loader/CachedCSSStyleSheet.h:
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::didAddClient):
        * loader/CachedFont.h:
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::didAddClient):
        * loader/CachedImage.h:
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::addClient):
        (WebCore::CachedResource::addClientToSet):
        (WebCore::CachedResource::switchClientsToRevalidatedResource):
        * loader/CachedResource.h:
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::didAddClient):
        * loader/CachedScript.h:
        * loader/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::didAddClient):
        * loader/CachedXSLStyleSheet.h:

2009-06-16  Simon Fraser  <simon.fraser@apple.com>

        No Review

        Fix code inside an #ifdef that draws the video framerate.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::paint):

2009-06-16  Jian Li  <jianli@chromium.org>

        Reviewed by Dimitri Glazkov.

        Bug 26456: Hook up V8 bindings for Worker's importScripts functionality.
        https://bugs.webkit.org/show_bug.cgi?id=26456

        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerCustom.cpp: Fixed missing exception code
          handling in Worker constructor for V8 bindings.
        (WebCore::CALLBACK_FUNC_DECL):

2009-06-16  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Maciej Stachowiak.

        Update of https://bugs.webkit.org/show_bug.cgi?id=26353.
        Provide an assignment operator to avoid improper reference
        counts on the Cairo font objects.  This brings the Windows
        Cairo port in line with the GTK+ port.

        * platform/graphics/win/FontPlatformData.h:
        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::operator=):

2009-06-16  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        Fix for <rdar://problem/6890126> Theme code should fetch the MediaControlElementType from 
        the MediaControlInputElement, rather than computing it again

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::percentLoaded): New, utility function for controller implementation.
        * html/HTMLMediaElement.h:

        * rendering/MediaControlElements.h:
        (WebCore::MediaControlInputElement::displayType): New, return m_displayType.

        * rendering/RenderMediaControls.cpp:
        (WebCore::RenderMediaControls::paintMediaControlsPart): Stop using MediaPlayer object, get button
        state from the button itself and get movie state from HTMLMediaElement.

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMediaMuteButton): Get state from button instead of MediaPlayer.
        (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto.

2009-06-16  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Bug 26450: Rename values of enum RedirectOriginCheck to make them
        clearer.
        https://bugs.webkit.org/show_bug.cgi?id=26450

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::create):
        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
        (WebCore::DocumentThreadableLoader::willSendRequest):
        * loader/DocumentThreadableLoader.h:
        * loader/ThreadableLoader.cpp:
        (WebCore::ThreadableLoader::create):
        (WebCore::ThreadableLoader::loadResourceSynchronously):
        * loader/ThreadableLoader.h:
        * workers/Worker.cpp:
        (WebCore::Worker::Worker):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::importScripts):
        * loader/WorkerThreadableLoader.cpp:
        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
        (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
        * loader/WorkerThreadableLoader.h:
        (WebCore::WorkerThreadableLoader::create):
        * workers/WorkerScriptLoader.cpp:
        (WebCore::WorkerScriptLoader::loadSynchronously):
        (WebCore::WorkerScriptLoader::loadAsynchronously):
        * workers/WorkerScriptLoader.h:
        (WebCore::WorkerContext::importScripts):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::loadRequestAsynchronously):

2009-06-16  Tony Chang  <tony@chromium.org>

        Reviewed by Darin Fisher.

        Fix a UMR in WebCore::BitStack by initializing new memory to 0.
        https://bugs.webkit.org/show_bug.cgi?id=26449
        No new tests, covered by purify.

        * editing/TextIterator.cpp:
        (WebCore::BitStack::push):

2009-06-16  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Xan Lopez.

        Test: fast/multicol/columns-shorthand-parsing.html 

        Fixes https://bugs.webkit.org/show_bug.cgi?id=26453.
        Null Cairo contextwill crash Windows Cairo build.

        * platform/graphics/win/GraphicsContextCairoWin.cpp:
        (WebCore::GraphicsContextPlatformPrivate::syncContext):
          Add a check for null context before attempting to
          retrieve the Cairo surface.

2009-06-16  Peter Kasting  <pkasting@google.com>

        Reviewed by Xan Lopez.

        https://bugs.webkit.org/show_bug.cgi?id=26447
        Fix animated GIF breakage in Cairo/wx ports.

        * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
        (WebCore::RGBA32Buffer::copyBitmapData):
        (WebCore::RGBA32Buffer::operator=):
        * platform/image-decoders/wx/ImageDecoderWx.cpp:
        (WebCore::RGBA32Buffer::copyBitmapData):
        (WebCore::RGBA32Buffer::operator=):

2009-06-16  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by John Sullivan
        
        <rdar://problem/6937882>
        
        Tweak "time remaining" and "time elapsed" fields in the overlay video controller.

        * css/mediaControlsQT.css:

2009-06-16  Jian Li  <jianli@chromium.org>

        Reviewed by Adam Barth and David Levin.

        Bug 26146: Change to use ThreadableLoader to load the worker script
        in order to check URL origin for redirection.
        https://bugs.webkit.org/show_bug.cgi?id=26146

        Test: http/tests/workers/worker-redirect.html

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * workers/Worker.cpp:
        (WebCore::Worker::Worker):
        (WebCore::Worker::notifyFinished):
        * workers/Worker.h:
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::importScripts):
        * workers/WorkerImportScriptsClient.cpp: Removed.
        * workers/WorkerImportScriptsClient.h: Removed.
        * workers/WorkerScriptLoader.cpp: Renamed from workers/WorkerImportScriptsClient.cpp.
          This to make it more generic so worker script loading could use it.
        (WebCore::WorkerScriptLoader::loadSynchronously):
        (WebCore::WorkerScriptLoader::loadAsynchronously):
        (WebCore::WorkerScriptLoader::didFinishLoading):
        (WebCore::WorkerScriptLoader::didFail):
        (WebCore::WorkerScriptLoader::didFailRedirectCheck):
        (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
        (WebCore::WorkerScriptLoader::notifyFinished):
        * workers/WorkerScriptLoader.h: Renamed from workers/WorkerImportScriptsClient.h.
          This to make it more generic so worker script loading could use it.
        * workers/WorkerScriptLoaderClient.h: Added.

2009-06-16  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Darin Adler.

        Use consistent GUID comparison functions.
        https://bugs.webkit.org/show_bug.cgi?id=26427

        * platform/win/WCDataObject.cpp:
        (WebCore::WCDataObject::QueryInterface):

2009-06-16  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Fix compiler warning.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_class_init):

2009-08-07  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>

        Reviewed by Eric Seidel.

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

        * WebKit/gtk/gdom/ConvertToGCharPrivate.h: Added.
        (copyAsGChar): added to help GObject bindings convert various types to glib's gchar* 

2009-06-16  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Remove dummy AtkStreamableContent implementation.

        It's completely empty, we'll add it back (and conditionally
        instead of unconditionally) when it does something.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (GetAtkInterfaceTypeFromWAIType):
        (getInterfaceMaskFromObject):

== Rolled over to ChangeLog-2009-06-16 ==
