ChangeLog-2008-08-10   [plain text]


2008-08-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Eric Seidel.

        - fix https://bugs.webkit.org/show_bug.cgi?id=20339
          REGRESSION (r35531-r35615): Acid3 crashes on Windows in CachedFont::getSVGFontById

        * dom/make_names.pl: Removed "using namespace WebCore::*Names"
        from *ElementFactory.cpp files.        

2008-08-10  Mark Rowe  <mrowe@apple.com>

        Reviewed by Cameron Zwarich.

        Fix crash in Acid3 in Windows and Gtk ports, introduced in r35590.

        * bindings/js/ScriptControllerGtk.cpp: Fix the logic.
        * bindings/js/ScriptControllerWin.cpp: Ditto.
        * bindings/js/ScriptControllerQt.cpp: Switch to isPluginView for consistency with Gtk and Windows.

2008-08-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix <rdar://problem/6074587> REGRESSION (34722): Unable to view AT&T wireless bill - window title contains markup, window is empty

        Test: fast/tokenizer/ampersand-in-special-tag.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseSpecial): Changed to only advance
        lastDecodedEntityPosition if an entity was found and decoded.

2008-08-10  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed (and updated) by Alp Toker.

        https://bugs.webkit.org/show_bug.cgi?id=16620
        [GTK] Autotools make dist and make check support

        Get make dist working.

        Note that not all possible configurations have been tested yet.

        * GNUmakefile.am:

2008-08-08  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin.

        This patch makes the findString and markAllMatchesForText functions 
        work with disconnected frames that are contained within 
        overflow:hidden blocks.

        * editing/Editor.cpp:
        (WebCore::Editor::rangeVisibility):
        (WebCore::Editor::firstVisibleRange):
        (WebCore::Editor::lastVisibleRange):
        * editing/Editor.h:
        (WebCore::Editor::):
        * page/Frame.cpp:
        (WebCore::Frame::findString):
        (WebCore::Frame::markAllMatchesForText):

2008-08-08  Maxime Britto  <britto@apple.com>

        Reviewed by Adele.

        Test: fast/events/scroll-to-anchor-in-overflow-hidden.html
        https://bugs.webkit.org/show_bug.cgi?id=20270
        Jump to an anchor wasn't working when the overflow:hidden CSS attribute was set on the page.

        * WebCore.base.exp:
        * dom/Element.cpp:
        (WebCore::Element::scrollIntoView):
        (WebCore::Element::scrollIntoViewIfNeeded):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::gotoAnchor):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::handleMouseDraggedEvent):
        * page/Frame.cpp:
        (WebCore::Frame::revealSelection):
        (WebCore::Frame::revealCaret):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollRectToVisible): Takes a new parameter "scrollToAnchor" since it's a special case of scroll. It passes this new bool to canBeProgrammaticallyScrolled. 
        (WebCore::RenderLayer::autoscroll):
        * rendering/RenderLayer.h:
        * rendering/RenderListBox.h:
        (WebCore::RenderListBox::canBeProgramaticallyScrolled):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::canBeProgramaticallyScrolled): If the call is coming from a scrollToAnchor we don't need scrollBars to accept.
        * rendering/RenderObject.h:
        * rendering/RenderTextControl.h:
        (WebCore::RenderTextControl::canBeProgramaticallyScrolled):

2008-08-08  Maxime Britto  <britto@apple.com>

        Reviewed by Adele.

        <rdar://problem/6137022>
        <https://bugs.webkit.org/show_bug.cgi?id=20331>
        REGRESSION(r35177-r35203): Scrolling slowly over a scrollable field scrolls the page instead of the field (20331)

        * page/EventHandler.cpp:
        (WebCore::scrollAndAcceptEvent): fixed the wrong cast for the wheel delta which was truncated to 0 on slow wheel scrolls.

2008-08-08  Dean Jackson  <dino@apple.com>

        Execute CSS Animations using new AnimationController
        https://bugs.webkit.org/show_bug.cgi?id=20119

        I still need to file some follow-on bugs that EricS noticed.

        Reviewed by Dave Hyatt

        Some new tests:
        * manual-tests/animate-duration.html: Added.
        * manual-tests/animate-left.html: Added.
        * manual-tests/animate-none.html: Added.

        * css/CSSStyleSelector.cpp:
        * dom/Document.cpp:
            - don't redo style when page is place into cache
        * page/AnimationController.cpp:
        * page/AnimationController.h:
            - execute the animations
        * rendering/RenderObject.cpp:
        * rendering/style/RenderStyle.h:
            - make border radii const (for blending)

2008-08-08  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        <rdar://problem/6136326> JSProfiler: Start/stop profiling button in the
        Web Inspector does not match the menu.

        * page/InspectorController.cpp:
        (WebCore::InspectorController::toggleRecordButton): Toggle the record
        button in the webInspector.
        (WebCore::InspectorController::startUserInitiatedProfiling):
        (WebCore::InspectorController::stopUserInitiatedProfiling):
        * page/InspectorController.h: 
        * page/inspector/ProfilesPanel.js: Move the UI part of the record button
        into its funtion so that it can be called from the Inspector controller.
        * page/inspector/inspector.js:

2008-08-08  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        <rdar://problem/6131187> Profiles don't show up immediately when run
        with the UI.

        * page/InspectorController.cpp:
        (WebCore::startProfiling): Added so that the inspector's JS code could
        call through to the same function used by the Develop menu.  This way
        both can call didFinishAllExecution() which puts the profile in the
        Web Inspector.
        (WebCore::stopProfiling): Ditto
        (WebCore::InspectorController::windowScriptObjectAvailable):
        (WebCore::InspectorController::stopUserInitiatedProfiling): Now calls
        didFinishAllExecution() to put the profile in the Web Inspector.  This
        should be safe since the UIs shouldn't work if JS is still running.
        * page/inspector/ProfilesPanel.js: Use the new functions.

2008-08-08  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix <rdar://problem/5961260> GDI text: transparent fill color text does not render if it it has a stroke or shadow

        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::Font::drawGlyphs):

2008-08-08  Adam Treat  <treat@kde.org>

        Reviewed by Simon.

        Return the canonical file path in Qt's listDirectory as WebCore::PluginDatabase
        uses this method to retrieve a list of possible plugins.  Many linux systems
        have nested symbolic links scattered throughout the plugin directories which
        resulted in the PluginDatabase loading the same plugin N times depending on
        the number of symbolic links.

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

2008-08-07  Anthony Ricaud  <rik24d@gmail.com>

        Change highlight time from 300ms to 500ms and fade effect from 1s to 2s

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

        Reviewed by Timothy Hatcher.

        * page/inspector/SourceFrame.js:

2008-08-07  Anthony Ricaud  <rik24d@gmail.com>

        The search is only performed if the field contains more than 3
        letters or if Enter is pressed.

        Search is now performed through a keyup event.

        Added a WebInspector.lastQuery to remember the last query and not
        perform it again (eg. the user hits a modifier key).

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

        Reviewed by Timothy Hatcher.

        * page/inspector/inspector.html: Removed the onsearch and incremental
        attributes
        * page/inspector/inspector.js:

2008-08-07  Steve Falkenburg  <sfalken@apple.com>

        Compile derived sources through an all-in-one cpp file.
        Fixes Windows release build on non-x64 systems by reducing the size of WebCore.lib from 1.5GB to 1GB.
        
        Reviewed by Mark Rowe.

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

2008-08-07  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Adam.

        <rdar://problem/5712917> Confusing console error message clear
        behavior (16791)
        https://bugs.webkit.org/show_bug.cgi?id=16791
        <rdar://problem/5831899> The Web Inspector does not correctly clear the
        console messages

        * page/InspectorController.cpp: Clear the message so they don't show up
        in the inspector after it has cleared them.
        (WebCore::clearMessages):
        (WebCore::InspectorController::clearConsoleMessages):
        (WebCore::InspectorController::windowScriptObjectAvailable):
        * page/InspectorController.h:
        * page/inspector/Console.js: Tell the InspectorController to clear the
        messages it's holding onto.

2008-08-07  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig

        Rename Marquee to RenderMarquee and move to its own file.
        https://bugs.webkit.org/show_bug.cgi?id=20319

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/HTMLMarqueeElement.cpp:
        * rendering/RenderBlock.cpp:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::styleChanged):
        * rendering/RenderLayer.h:
        * rendering/RenderMarquee.cpp: Added.
        (WebCore::RenderMarquee::RenderMarquee):
        (WebCore::RenderMarquee::marqueeSpeed):
        (WebCore::RenderMarquee::direction):
        (WebCore::RenderMarquee::isHorizontal):
        (WebCore::RenderMarquee::computePosition):
        (WebCore::RenderMarquee::start):
        (WebCore::RenderMarquee::suspend):
        (WebCore::RenderMarquee::stop):
        (WebCore::RenderMarquee::updateMarqueePosition):
        (WebCore::RenderMarquee::updateMarqueeStyle):
        (WebCore::RenderMarquee::timerFired):
        * rendering/RenderMarquee.h: Added.
        (WebCore::RenderMarquee::speed):
        (WebCore::RenderMarquee::reverseDirection):
        (WebCore::RenderMarquee::setEnd):

2008-08-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/6118816> Initial empty page or bookmarks view window has white strip where vertical scrollbar would be (which vanishes on resize)

        * page/Frame.cpp:
        (WebCore::Frame::setZoomFactor): If the view has never had a layout with
        the old zoom factor, then there is no need to explicitly call layout()
        here.

2008-08-07  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Geoff.

        <rdar://problem/6115981> Start the profiler in Heavy view

        * page/inspector/ProfileView.js:

2008-08-07  Alp Toker  <alp@nuanti.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=20313
        Add null check in String::fromUTF8()

        Make String::fromUTF8() consistent with other constructors by
        returning a null String when the input is null instead of crashing.

        * platform/text/String.cpp:
        (WebCore::String::fromUTF8):

2008-08-06  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fix after Frame -> ScriptController moves.

        * platform/wx/TemporaryLinkStubs.cpp:

2008-08-06  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        - Make XHR console message clearer.

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

2008-08-06  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        - Created a new function to create DOM links from text without
        converting back and forth from HTML and messing with escaping special
        characters.

        * page/inspector/Console.js:
        * page/inspector/inspector.js:
        * page/inspector/utilities.js:

2008-08-06  Eric Seidel  <eric@webkit.org>

        Reviewed by hyatt.

        Fix a large animation leak found on the buildbot
        (m_animations and m_transitions were never deleted)
        Drag RenderStyle (kicking and screaming) into the 21st century
        of memory management with a little application of OwnPtr.

        * rendering/style/RenderStyle.cpp:
        (WebCore::FillLayer::cullEmptyLayers):
        (WebCore::RenderStyle::diff):
        (WebCore::RenderStyle::contentDataEquivalent):
        (WebCore::RenderStyle::setContent):
        (WebCore::BindingURI::BindingURI):
        (WebCore::RenderStyle::setBoxShadow):
        (WebCore::ShadowData::ShadowData):
        (WebCore::RenderStyle::counterDirectives):
        (WebCore::RenderStyle::accessCounterDirectives):
        (WebCore::RenderStyle::adjustAnimations):
        (WebCore::RenderStyle::adjustTransitions):
        (WebCore::RenderStyle::accessAnimations):
        (WebCore::RenderStyle::accessTransitions):
        * rendering/style/RenderStyle.h:
        (WebCore::RenderStyle::clearAnimations):
        (WebCore::RenderStyle::clearTransitions):

2008-08-06  Brady Eidson  <beidson@apple.com>

        Reviewed by MitzPettel

        <rdar://problem/6078543> - Many LocalStorageThreads may be started

        The original decision to key LocalStorage sets to PageGroups was a poor one.

        It seems a much better solution is to key them to the actual path of on-disk storage,
        which also solves all of the avenues that could lead to a boundless number of threads.

        In this patch, I am not attempting to completely sever the attachment of LocalStorage
        to PageGroups as that would require a more substantial re-working of the lifetime
        between pages, groups, and local storage threads.

        * page/PageGroup.cpp:
        (WebCore::PageGroup::addPage):

        * storage/LocalStorage.cpp:
        (WebCore::localStorageMap):  Map paths to LocalStorage objects here.
        (WebCore::LocalStorage::localStorage): Return the shared LocalStorage object for this path,
          or create a new one if it doesn't yet exist.
        (WebCore::LocalStorage::LocalStorage):
        (WebCore::LocalStorage::~LocalStorage):  Add to remove the path->LocalStorage mapping
        * storage/LocalStorage.h:

2008-08-06  Beth Dakin  <bdakin@apple.com>

        Reviewed by Adele.

        Fix for <rdar://problem/6130724>

        Disconnected frames should not be allowed to resize the window.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::resizeBy):
        (WebCore::DOMWindow::resizeTo):

2008-08-05  David D. Kilzer  <ddkilzer@apple.com>

        Bug 20038: REGRESSION (r35151): Can't post comments on flickr.com

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

        Reviewed by Eric Seidel.

        Test: fast/forms/submit-to-url-fragment.html

        The problem was that isFormSubmission was not being set to true in
        FrameLoader::loadWithDocumentLoader() when we were actually
        submitting a form, causing the page to scroll instead of the form to
        be submitted.

        The isFormSubmission variable wasn't set to true because a FormState
        object was not being created in
        FrameLoader::loadFrameRequestWithFormAndValues().

        The FormState object was not being created because
        HTMLFormElement::submit(Event*, bool activateSubmitButton) would
        only set FrameLoader::m_formAboutToBeSubmitted to the current form
        if there was a "text field" element in the form (type = text,
        password, search or isindex).

        Thus when FrameLoader::submitForm(const FrameLoadRequest&, Event*)
        called FrameLoader::loadFrameRequestWithFormAndValues(), a null
        HTMLFormElement pointer would be sent and cause the above failures.

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::submit): Call new
        FrameLoader::setFormAboutToBeSubmitted() method outside the for
        loop so we always set FrameLoader::m_formAboutToBeSubmitted exactly
        once for any form submission.  The FrameLoader::recordFormValue()
        method is only called with the name/value pair of each text field.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::setFormAboutToBeSubmitted): Added method that
        only sets m_formAboutToBeSubmitted.
        (WebCore::FrameLoader::recordFormValue): Removed
        PassRefPtr<HTMLFormElement> argument since this method only sets
        name/value pairs on m_formValuesAboutToBeSubmitted now.
        (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Create a
        FormState object as long as submitForm is not null so that other
        FrameLoader methods know when a form is being submitted.
        * loader/FrameLoader.h:

2008-08-06  David D. Kilzer  <ddkilzer@apple.com>

        BUILD FIX: Add HTMLPlugInImageElement.cpp to all other build systems

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCoreSources.bkl:

2008-08-06  Dan Bernstein  <mitz@apple.com>

        - Windows build fix

        * WebCore.vcproj/WebCore.vcproj: Added PlugInImageElement.*

2008-08-06  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim and Darin.

        <rdar://problem/6126160> URLs in the console should be clickable.
        - Implemented and now use linkifyString() to parse console messages for
        URLs.

        * page/inspector/Console.js:
        * page/inspector/inspector.js:
        * page/inspector/utilities.js:

2008-07-02  David Kilzer  <ddkilzer@apple.com>

        Images using QT plugin do not display correctly

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

        Reviewed by Darin.

        Tests: fast/images/embed-image.html
               fast/images/object-image.html

        Use RenderImage instead of RenderPartObject for a renderer when
        the <embed> tag references an image.  Extract common code from
        HTMLEmbedElement and HTMLObjectElement into HTMLPlugInImageElement.

        * WebCore.xcodeproj/project.pbxproj: Added new source files.

        * html/HTMLEmbedElement.cpp: Cleaned up #include statements.
        (WebCore::HTMLEmbedElement::HTMLEmbedElement): Extend
        HTMLPlugInImageElement which extends HTMLPlugInElement.
        (WebCore::HTMLEmbedElement::parseMappedAttribute): Split codeAttr
        and srcAttr cases.  Create or clear HTMLImageLoader as needed for
        srcAttr.
        (WebCore::HTMLEmbedElement::rendererIsNeeded): Use
        HTMLPlugInElement::rendererIsNeeded() for images.
        (WebCore::HTMLEmbedElement::createRenderer): Create a
        RenderImage instead of a RenderPartObject for images.
        (WebCore::HTMLEmbedElement::attach): Create HTMLImageLoader,
        load image and populate RenderImage for images.
        (WebCore::HTMLEmbedElement::updateWidget): Don't call
        RenderPartObject::updateWidget() for images.
        (WebCore::HTMLEmbedElement::imageSourceAttributeName): Added.
        * html/HTMLEmbedElement.h: Removed unneeded namespace and class
        declarations.  Extend HTMLPlugInImageElement which extends
        HTMLPlugInElement.
        (WebCore::HTMLEmbedElement::imageSourceAttributeName): Added.
        (WebCore::HTMLEmbedElement::serviceType): Moved to
        HTMLPlugInImageElement.
        (WebCore::HTMLEmbedElement::url): Ditto.

        * html/HTMLObjectElement.cpp: Cleaned up #include statements.
        (WebCore::HTMLObjectElement::attach): Removed local variable.
        (WebCore::HTMLObjectElement::isImageType): Moved to
        HTMLPlugInImageElement.
        * html/HTMLObjectElement.h: Extend HTMLPlugInImageElement which
        extends HTMLPlugInElement.
        (WebCore::HTMLObjectElement::isImageType): Moved to
        HTMLPlugInImageElement.
        (WebCore::HTMLObjectElement::serviceType): Ditto.
        (WebCore::HTMLObjectElement::url): Ditto.

        * html/HTMLPlugInImageElement.cpp: Added.
        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Added.
        (WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement): Added.
        (WebCore::HTMLPlugInImageElement::isImageType): Moved from
        HTMLObjectElement.
        * html/HTMLPlugInImageElement.h: Added.
        (WebCore::HTMLPlugInImageElement::isImageType): Added from 
        HTMLObjectElement.
        (WebCore::HTMLPlugInImageElement::serviceType): Ditto.
        (WebCore::HTMLPlugInImageElement::url): Ditto.

        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::absoluteImageURL): Return urlString
        for embed elements with images.

2008-08-06  Marco Barisione  <marco.barisione@collabora.co.uk>

        Reviewed by Eric Seidel.

        http://bugs.webkit.org/show_bug.cgi?id=20295
        RegularExpression::match should not crash when a null string is passed

        RegularExpression::match used to pass null subject strings to
        jsRegExpExecute causing an ASSERT failure and then a crash.
        There is no need to fix also RegularExpression:search and
        RegularExpression::searchRev as they just call
        RegularExpression::match.

        * platform/text/RegularExpression.cpp:
        (WebCore::RegularExpression::match): Return -1 if the string is null.

2008-08-06  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Gtk build fix only

        * bindings/js/ScriptControllerGtk.cpp:
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::getValue):
        (WebCore::PluginView::~PluginView):

2008-08-06  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Fix the Qt build due to recent ScriptController refactoring.

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::getValue):
        (WebCore::PluginView::~PluginView):

2008-08-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Cameron Zwarich.

        Fix warnings and errors seen on Qt bot.
        Including one correctness fix for ThreadingQt.
        According to the Qt 4.4 docs, we were always passing
        seconds to "wait()" when we should have been passing
        milliseconds.
        
        Lots of float <-> int conversion warnings.

        * css/CSSCursorImageValue.cpp:
        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
        * dom/Element.cpp:
        (WebCore::adjustForLocalZoom):
        (WebCore::adjustForAbsoluteZoom):
        (WebCore::Element::setScrollLeft):
        (WebCore::Element::setScrollTop):
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchMouseEvent):
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::imageRect):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::innerHeight):
        (WebCore::DOMWindow::innerWidth):
        (WebCore::DOMWindow::scrollX):
        (WebCore::DOMWindow::scrollY):
        (WebCore::DOMWindow::scrollTo):
        * page/EventHandler.cpp:
        (WebCore::scrollAndAcceptEvent):
        * plugins/npapi.cpp:
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::getValue):
        (WebCore::PluginView::~PluginView):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::intrinsicSizeChanged):

2008-08-06  Eric Seidel  <eric@webkit.org>

        Build fix only, no review.

        Attempt to fix the Windows and Qt builds.

        * bindings/js/ScriptControllerWin.cpp: add runtime.h include
        * bindings/js/ScriptControllerQt.cpp: add QWidget include
        * page/win/FrameWin.cpp: remove bogus using namespace
        * plugins/PluginView.cpp:
        (WebCore::PluginView::bindingInstance): use script()
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::getValue): use script()
        (WebCore::PluginView::~PluginView): use script()

  2008-08-06  Eric Seidel  <eric@webkit.org>

        Build fix only, no review.

        Attempt to fix the Linux and --no-svg builds.

        * bindings/js/ScriptController.h: wrap RetainPtr include in PLATFORM(MAC)
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): add missing CSSProperties to switch

2008-08-06  Eric Seidel  <eric@webkit.org>

        Reviewed by Cameron Zwarich.

        Move more methods from Frame into ScriptController
        https://bugs.webkit.org/show_bug.cgi?id=20294
        
        Finally finish more of the work which Darin started long ago
        Move a few more Frame methods into ScriptController.
        I also took this opportunity to clean up some of the plugin
        code as well, and moved some of that into ScriptController.

        I removed Frame::clearScriptController() and ScriptController::clear() is now clearWindowShell()

        No functional changes, thus no test cases.

        * GNUmakefile.am:
        * WebCore.NPAPI.exp:
        * WebCore.base.exp:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::~ScriptController):
        (WebCore::ScriptController::bindingRootObject):
        (WebCore::ScriptController::createRootObject):
        (WebCore::ScriptController::windowScriptNPObject):
        (WebCore::ScriptController::createScriptObjectForPluginElement): New method.
        (WebCore::ScriptController::clearPlatformScriptObjects):
        (WebCore::ScriptController::disconnectPlatformScriptObjects):
        (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
        (WebCore::ScriptController::clearScriptObjects):
        * bindings/js/ScriptController.h:
        (WebCore::ScriptController::sourceURL):
        (WebCore::ScriptController::clearFormerWindow):
        * bindings/js/ScriptControllerGtk.cpp: Copied from WebCore/page/gtk/FrameGtk.cpp.
        (WebCore::Frame::createScriptInstanceForWidget):
        * bindings/js/ScriptControllerMac.mm: Added.
        (WebCore::ScriptController::createScriptInstanceForWidget):
        (WebCore::ScriptController::windowScriptObject):
        (WebCore::ScriptController::clearPlatformScriptObjects):
        (WebCore::ScriptController::disconnectPlatformScriptObjects):
        (WebCore::updateRenderingForBindings):
        (WebCore::ScriptController::initJavaJSBindings):
        * bindings/js/ScriptControllerQt.cpp: Copied from WebCore/page/gtk/FrameGtk.cpp.
        (WebCore::ScriptController::createScriptInstanceForWidget):
        * bindings/js/ScriptControllerWin.cpp: Copied from WebCore/svg/graphics/cg/SVGResourceMaskerCg.cpp.
        (WebCore::ScriptController::createScriptInstanceForWidget):
        * bindings/objc/DOM.mm:
        (-[DOMNode KJS::Bindings::]):
        * bindings/objc/DOMInternal.mm:
        (-[WebScriptObject _initializeScriptDOMNodeImp]):
        * bridge/jni/jni_jsobject.mm:
        (createRootObject):
        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
        * html/HTMLAppletElement.h:
        * html/HTMLEmbedElement.cpp:
        (WebCore::findWidgetRenderer):
        (WebCore::HTMLEmbedElement::renderWidgetForJSBindings):
        * html/HTMLEmbedElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::~HTMLObjectElement):
        (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
        (WebCore::HTMLObjectElement::detach):
        * html/HTMLObjectElement.h:
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
        (WebCore::HTMLPlugInElement::detach):
        (WebCore::HTMLPlugInElement::getInstance):
        (WebCore::HTMLPlugInElement::parseMappedAttribute):
        (WebCore::HTMLPlugInElement::getNPObject):
        * html/HTMLPlugInElement.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::clear):
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        (WebCore::Frame::~Frame):
        (WebCore::Frame::pageDestroyed):
        (WebCore::FramePrivate::FramePrivate):
        * page/Frame.h:
        * page/FramePrivate.h:
        * page/gtk/FrameGtk.cpp:
        * page/mac/FrameMac.mm:
        * page/qt/FrameQt.cpp:
        * page/win/FrameWin.cpp:
        (WebCore::computePageRectsForFrame):

2008-08-05  Steve Falkenburg  <sfalken@apple.com>

        Fix last timer fix.
        Add null check, clear timer using InterlockedExchange.
        
        Reviewed by Alice Liu.

        * platform/win/SharedTimerWin.cpp:
        (WebCore::clearTimer):
        (WebCore::queueTimerProc):
        (WebCore::stopSharedTimer):

2008-08-05  Steve Falkenburg  <sfalken@apple.com>

        Fix timer leak, flag.
        
        Timers need to be deleted explicitly, even if they fire.
        Also added WT_EXECUTEONLYONCE flag, since this is not a repeating timer.
        
        Reviewed by Ada Chan.

        * platform/win/SharedTimerWin.cpp:
        (WebCore::queueTimerProc):

2008-08-05  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin.

        <rdar://problem/6037398>
        ER: Deallocate WebKit objects on the main thread, even if released on secondary thread
        
        Add calls to WebCoreObjCScheduleDeallocateOnMainThread in dealloc methods of objects we expose.
        
        * bindings/objc/DOMRGBColor.mm:
        (-[DOMRGBColor dealloc]):
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject dealloc]):
        * platform/mac/SharedBufferMac.mm:
        (-[WebCoreSharedBufferData dealloc]):

2008-08-05  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin.

        Move the main thread deallocator here from WebKit.
        
        * WebCore.base.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/mac/WebCoreObjCExtras.c:
        (method_getImplementation):
        (deallocCallback):
        (WebCoreObjCScheduleDeallocateOnMainThread):
        * platform/mac/WebCoreObjCExtras.h:

2008-08-05  Dean Jackson  <dino@apple.com>

        Parse CSS Animations, including the new
        -webkit-animation properties and the @-webkit-keyframes rule.
        Adds some new interfaces for the style rules.
        
        https://bugs.webkit.org/show_bug.cgi?id=20088

        Reviewed by David Hyatt.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
            build config for new files
        * css/tokenizer.flex:
        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        * css/CSSParser.h:
            new @-webkit-keyframes parsing
        * css/CSSPropertyNames.in:
            -webkit-animation properties
        * css/CSSRule.h:
        * css/CSSStyleSelector.cpp:
        * css/CSSStyleSelector.h:
        * css/CSSValueKeywords.in:
        * css/StyleBase.h:
        * css/WebKitCSSKeyframeRule.cpp: Added.
        * css/WebKitCSSKeyframeRule.h: Added.
        * css/WebKitCSSKeyframesRule.cpp: Added.
        * css/WebKitCSSKeyframesRule.h: Added.

2008-08-05  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        - LayoutTests fix.  Log only to the Inspector because other listeners may not want
        XHR notifications, including DRT and the numerous tests that don't expect them.

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

2008-08-05  Timothy Hatcher  <timothy@apple.com>

        Makes DOM attribute editing start on double-click to match the styles
        pane. Links in attributes are now triggered with a single click again.

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

        Reviewed by Adam Roben.

        * English.lproj/localizedStrings.js: Removed some strings.
        * page/inspector/ElementsPanel.js:
        (WebInspector.DOMNodeTreeElement.prototype.onattach): Call
        _preventFollowingLinksOnDoubleClick.
        (WebInspector.DOMNodeTreeElement.prototype._preventFollowingLinksOnDoubleClick):
        Renamed from _makeURLsActivateOnModifiedClick. Simply sets the
        preventFollowOnDoubleClick property on all links.
        (WebInspector.DOMNodeTreeElement.prototype.onselect): Removed
        _selectedByCurrentMouseDown.
        (WebInspector.DOMNodeTreeElement.prototype.onmousedown): Moved
        editing code to ondblclick.
        (WebInspector.DOMNodeTreeElement.prototype.ondblclick): Calls
        _startEditing. Removed URL check.
        (WebInspector.DOMNodeTreeElement.prototype._updateTitle): Calls
        _preventFollowingLinksOnDoubleClick.
        * page/inspector/inspector.css:
        (.editing): Removed the text-decoration property.
        (.editing, .editing *): Added the text-decoration property here
        so it removes underlines on child elements.
        * page/inspector/inspector.js:
        (WebInspector.documentClick): Removed the followOnAltClick code.
        Added support for preventFollowOnDoubleClick, which sets a timeout
        on the first click where future clicks will cancel it (double click).
        If the timeout isn't canceled, the link is followed.

2008-08-05  Antti Koivisto  <antti@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/6112219> Video in standalone media document flashes when navigating away

        When navigating out from a page, MediaPlayer was set invisible and then immediately 
        made visible again causing flicker in some cases.
        
        The document is not yet marked being in page cache when willSaveToCache() is called.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::willSaveToCache):
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::updatePlayer):

2008-08-05  Dan Bernstein  <mitz@apple.com>

        - fix typo

        * page/mac/FrameMac.mm:

2008-08-05  Dan Bernstein  <mitz@apple.com>

        - try to fix the 64-bit build

        * page/mac/FrameMac.mm:

2008-08-05  Alp Toker  <alp@nuanti.com>

        Remove leftover mark pragma from r35568 to fix compiler warning spew.

        * rendering/style/RenderStyle.h:

2008-08-05  Kevin McCullough  <kmccullough@apple.com>

        - Added a test that checks for several edge cases (see description in
        test.

        * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Added.

2008-08-05  Dean Jackson  <dino@apple.com>

        Reviewed by Dave Hyatt

        Add support for CSS Animation properties to RenderStyle
        https://bugs.webkit.org/show_bug.cgi?id=20068

        (also fix some minor whitespace issues and remove debugging code)

        * css/CSSComputedStyleDeclaration.cpp:
        * css/CSSStyleSelector.cpp:
        * page/AnimationController.cpp:
        * rendering/style/RenderStyle.cpp:
        * rendering/style/RenderStyle.h:

2008-08-05  Kevin McCullough  <kmccullough@apple.com>

        - Updated a manual test to be an accurate description of what it is
        actually testing.

        * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html:

2008-08-05  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        <rdar://problem/5732836> XMLHttpRequest: Inspector should show network
        activity/XHR in Console (17233)

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

2008-08-05  Dean Jackson  <dino@apple.com>

        Fix the ChangeLog that was corrupted by r34545.

2008-08-04  Timothy Hatcher  <timothy@apple.com>

        Makes the selection surround just the name or value that was
        double clicked when editing CSS properties. This regressed when
        the Inspector started using focus/blur events, since a focus on
        a content editable region changes the selection.

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

        Reviewed by Adam Roben.

        * page/inspector/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.startEditing):
        Change the selection after calling WebInspector.startEditing,
        since WebInspector.startEditing will set an initial selection
        due to a focus event.

2008-08-04  Timothy Hatcher  <timothy@apple.com>

        Changes the editing behavior in the Inspector to commit changes
        when focus is lost, instead of reverting the changes.

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

        Reviewed by Adam Roben.

        * page/inspector/inspector.js:
        (WebInspector.startEditing): Call editingCommitted in blurEventListener
        instead of editingCancelled.

2008-08-04  Timothy Hatcher  <timothy@apple.com>

        Adds the ability to increment/decrement numbers in editable style
        properties with the arrow and page keys.

        Reviewed by Adam Roben.

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

        * page/inspector/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.updateAll):
        Updates all properties in the current section, or all sections
        depending in the argument passed.
        (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
        Call updateAll instead of having duplicate code.
        (WebInspector.StylePropertyTreeElement.prototype.startEditing):
        Assign the list element's handleKeyEvent to editingKeyDown.
        (WebInspector.StylePropertyTreeElement.prototype.editingKeyDown):
        Handles the Up and Down arrows keys. Finds the word based on the
        selection and extracts the number, prefix and suffix. Increments
        or decrements the number based on the key and modifiers. Replaces
        the original word with the new value and selects it. Also applies
        the style so the page reflects the changes live.
        (WebInspector.StylePropertyTreeElement.prototype.editingEnded):
        Delete the handleKeyEvent and originalCSSText properties.
        (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
        If originalCSSText exists, set the cssText to that value and call
        updateAll. Otherwise just call updateTitle like before.
        (WebInspector.StylePropertyTreeElement.prototype.editingCommitted):
        Factored out the style applying code to applyStyleText.
        (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
        Factored out from editingCommitted. Takes an argument that specifies
        if the interface should be updated when the style is applied.
        * page/inspector/inspector.js:
        (WebInspector.startEditing): Call the original key handler, if one
        existed before interrupting key events.
        * page/inspector/utilities.js:
        (getStyleTextWithShorthands): Helper to return CSS text that preserves
        shorthand values, since the cssText property only outputs longhands.

2008-08-04  Timothy Hatcher  <timothy@apple.com>

        Factors out the TextPrompt.scanBackwards function into a generic
        helper function on the Node prototype, named rangeOfWord.

        Reviewed by Adam Roben.

        * page/inspector/Console.js:
        (WebInspector.Console.prototype.completions): Use rangeOfWord.
        * page/inspector/TextPrompt.js:
        (WebInspector.TextPrompt.prototype.complete): Ditto.
        (WebInspector.TextPrompt.prototype.scanBackwards): Removed.
        * page/inspector/utilities.js:
        (Node.prototype.rangeOfWord): Added. Copied from TextPrompt.scanBackwards,
        and added a direction argument allowing scanning forward, backward or
        both directions from the offset.

2008-08-04  Timothy Hatcher  <timothy@apple.com>

        Fixes a bug where the property toggle button would not be hidden
        during editing.

        Reviewed by Adam Roben.

        * page/inspector/inspector.css:
        (li.editing .swatch, li.editing .enabled-button):
        Make the display !important, since a more specific rule for 
        .enabledbutton overrides display.

2008-08-05  Dan Bernstein  <mitz@apple.com>

        Reviewed by Geoffrey Garen.

        - remove redundant #imports from FrameMac.mm

        * page/mac/FrameMac.mm:

2008-08-04  Bernhard Kruepl  <kruepl@dbai.tuwien.ac.at>

        Reviewed by Dave Hyatt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=19094
        Corrected offsetTop for table cells by subtracting borderTopExtra

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::offsetTop):

2008-08-04  Dean Jackson  <dino@apple.com>

        Reviewed by Dave Hyatt.

        Improve AnimationController
        https://bugs.webkit.org/show_bug.cgi?id=19938

        - Transition class is now called Animation
        - new state-based AnimationController that can support CSS Animations
        - add support for -webkit-transition-delay
        - remove -webkit-transition-repeat-count (since it never existed officially)
        - updates the -webkit-transition shorthand to reflect removing repeat count
        - updates the Transition class so that properties can be shared with animations
        - adds a "now" keyword for -webkit-transition-delay
        - adds a new change type for style (changed by animation)
        - adds new event names (although they are not dispatched yet)
        - makes text stroke and text fill colors returned by RenderStyle const

        Tests:
        - manual-tests/transition-left.html
        - manual-tests/transition-delay.html
        - manual-tests/transition-timing-functions.html

        * css/CSSComputedStyleDeclaration.cpp:
        * css/CSSParser.cpp:
        * css/CSSParser.h:
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        * css/CSSStyleSelector.h:
        * css/CSSTimingFunctionValue.h:
        * css/CSSValue.h:
        * css/CSSValueKeywords.in:
        * css/WebKitCSSTransformValue.cpp:
        * dom/Document.cpp:
        * dom/Document.h:
        * dom/Element.cpp:
        * dom/EventNames.h:
        * dom/Node.cpp:
        * dom/Node.h:
        * history/CachedPage.cpp:
        * page/AnimationController.cpp:
        * page/AnimationController.h:
        * page/Frame.cpp:
        * rendering/RenderObject.cpp:
        * rendering/RenderWidget.cpp:
        * rendering/style/RenderStyle.cpp:
        * rendering/style/RenderStyle.h:

2008-08-04  Mike Belshe  <mike@belshe.com>

        Reviewed by Antti.
        
        Currently we create two copies of script in the HTMLTokenizer.
        One copy gets passed into the javascript engine, the other gets
        stored in the DOM.  Modify the HTMLParser so that it does not
        chunk the string into it's normal 64K chunks for script code,
        and modify the HTMLTokenizer to pass that same string into the
        JS engine.  On some sites (e.g. GMail), which have hundreds of
        KB of inline JS, this saves more than a MB of RAM to run the page.
        (Strings use 16bit strings, so 600KB of JS code == 1.2MB of memory)

        * html\HTMLParser.cpp
        * html\HTMLTokenizer.cpp

2008-08-04  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Remove extra braces left in from JSLock removal.

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

2008-08-02  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Implement the Access-control for Cross Site requests
        preflight cache.

        Tests: http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-header.html
               http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-method.html
               http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-timeout.html
               http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache.html

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/KURL.h:
        (WTF::):
        * platform/KURLHash.h: Added.
        (WebCore::KURLHash::hash):
        (WebCore::KURLHash::equal):
        (WTF::):
        * xml/XMLHttpRequest.cpp:
        (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
        (WebCore::preflightResultCache):
        (WebCore::appendPreflightResultCacheEntry):
        (WebCore::canSkipPrelight):
        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
        (WebCore::parseAccessControlAllowList):
        (WebCore::parseAccessControlMaxAge):
        (WebCore::XMLHttpRequest::didReceiveResponsePreflight):

2008-08-04  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Roben.

        Fix warning seen in MSVC converting ints to floats.

        * rendering/Length.h:
        (WebCore::Length::calcFloatValue):

2008-08-04  Eric Seidel  <eric@webkit.org>

        Reviewed by hyatt.

        Clean up Gradient constructors, make sure all members are initialized.

        * platform/graphics/Gradient.cpp:
        (WebCore::Gradient::Gradient):

2008-08-02  Maxime Britto  <britto@apple.com>

        Reviewed by Eric Seidel.

        <rdar://problem/6118969>
        https://bugs.webkit.org/show_bug.cgi?id=19971 
        Modifiy the cursor interactively when on panning mode (middle click auto scroll)
        When the panning is in progress the cursor is an arrow representing the direction of the current scroll

        * page/EventHandler.cpp:
        (WebCore::EventHandler::autoscrollTimerFired): Before each scroll we actualize the cursor to match the current direction
        (WebCore::EventHandler::setPanScrollCursor): determines the direction of the upcoming scroll.
        (WebCore::EventHandler::handleMouseMoveEvent):
        * page/EventHandler.h: 
        * platform/Cursor.h: Add propotypes for the new cursor functions
        * platform/gtk/CursorGtk.cpp: to avoid build break
        (WebCore::middlePanningCursor):
        (WebCore::eastPanningCursor):
        (WebCore::northPanningCursor):
        (WebCore::northEastPanningCursor):
        (WebCore::northWestPanningCursor):
        (WebCore::southPanningCursor):
        (WebCore::southEastPanningCursor):
        (WebCore::southWestPanningCursor):
        (WebCore::westPanningCursor):
        * platform/mac/CursorMac.mm: to avoid build break
        (WebCore::middlePanningCursor):
        (WebCore::eastPanningCursor):
        (WebCore::northPanningCursor):
        (WebCore::northEastPanningCursor):
        (WebCore::northWestPanningCursor):
        (WebCore::southPanningCursor):
        (WebCore::southEastPanningCursor):
        (WebCore::southWestPanningCursor):
        (WebCore::westPanningCursor):
        * platform/qt/CursorQt.cpp: to avoid build break
        (WebCore::middlePanningCursor):
        (WebCore::eastPanningCursor):
        (WebCore::northPanningCursor):
        (WebCore::northEastPanningCursor):
        (WebCore::northWestPanningCursor):
        (WebCore::southPanningCursor):
        (WebCore::southEastPanningCursor):
        (WebCore::southWestPanningCursor):
        (WebCore::westPanningCursor):
        * platform/win/CursorWin.cpp: Add specific icons for the panning as windows resizing icons are both sides arrows
        (WebCore::middlePanningCursor):
        (WebCore::eastPanningCursor):
        (WebCore::northPanningCursor):
        (WebCore::northEastPanningCursor):
        (WebCore::northWestPanningCursor):
        (WebCore::southPanningCursor):
        (WebCore::southEastPanningCursor):
        (WebCore::southWestPanningCursor):
        (WebCore::westPanningCursor):
        * platform/wx/CursorWx.cpp: to avoid build break
        (WebCore::middlePanningCursor):
        (WebCore::eastPanningCursor):
        (WebCore::northPanningCursor):
        (WebCore::northEastPanningCursor):
        (WebCore::northWestPanningCursor):
        (WebCore::southPanningCursor):
        (WebCore::southEastPanningCursor):
        (WebCore::southWestPanningCursor):
        (WebCore::westPanningCursor):

2008-08-02  Kevin Ollivier  <kevino@theolliviers.com>

        Move to using constants in accordance with discussions about wx renderer commit.

        * platform/wx/RenderThemeWx.cpp:
        (WebCore::RenderThemeWx::minimumMenuListSize):
        (WebCore::RenderThemeWx::popupInternalPaddingLeft):
        (WebCore::RenderThemeWx::popupInternalPaddingRight):
        (WebCore::RenderThemeWx::popupInternalPaddingTop):
        (WebCore::RenderThemeWx::popupInternalPaddingBottom):

2008-08-02  Wouter Bolsterlee  <wbolster@svn.gnome.org>

        Reviewed by Eric Seidel.

        * plugins/gtk/gtk2xtbin.h:

        https://bugs.webkit.org/show_bug.cgi?id=20034
        Fix malformed Vim modeline.

2008-08-01  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - tweak a comment

        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::draw):

2008-08-01  Jan Michael Alonzo  <jmalonzo@webkit.org>

        * ChangeLog: Fix date of previous commit (r35520)

2008-08-01  Marco Barisione  <marco.barisione@collabora.co.uk>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=19603
        [SOUP] segfault when closing a file using gio

        Call client->didFinishLoading() only after releasing all the gio
        resources.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::closeCallback):
        (WebCore::readCallback):

2008-08-01  Anders Carlsson  <andersca@apple.com>

        Reviewed by Jon.

        <rdar://problem/6120206>
        Crash when plug-in queries for NPPVpluginWantsAllNetworkStreams.
        
        Pass in a pointer to a void* to make sure that plug-ins don't overwrite the stack.
        
        * plugins/PluginStream.cpp:
        (WebCore::PluginStream::wantsAllStreams):

2008-08-01  Robin Dunn  <robin@alldunn.com>

        Reviewed by Eric Seidel.

        Native rendering implementations for form elements in the wx port.
        
        https://bugs.webkit.org/show_bug.cgi?id=19069

        * platform/wx/RenderThemeWx.cpp:
        (WebCore::RenderThemeWx::adjustRepaintRect):
        (WebCore::RenderThemeWx::paintButton):
        (WebCore::RenderThemeWx::paintTextField):
        (WebCore::RenderThemeWx::minimumMenuListSize):
        (WebCore::RenderThemeWx::adjustMenuListStyle):
        (WebCore::RenderThemeWx::paintMenuList):
        (WebCore::RenderThemeWx::adjustMenuListButtonStyle):
        (WebCore::RenderThemeWx::paintMenuListButton):
        (WebCore::RenderThemeWx::popupInternalPaddingLeft):
        (WebCore::RenderThemeWx::popupInternalPaddingRight):
        (WebCore::RenderThemeWx::popupInternalPaddingTop):
        (WebCore::RenderThemeWx::popupInternalPaddingBottom):

2008-07-30  David Hyatt  <hyatt@apple.com>

        Improvements to selection drawing.

        Clip out floating and positioned objects when drawing selection so
        that there is no "double painting" of selection when the selection spans both the space behind the positioned/floating
        object and the positioned/floating object itself.  Improves most Web pages.

        Do not paint left/right selection gaps if the object's edge is already outside the boundary (at a negative
        position).  Significantly improves the look of selections on digg.com, since it uses giant negative text-indent.

        Reviewed by Dan

        Covered by existing selection pixel tests.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isSelectionRoot):
        (WebCore::RenderBlock::paintSelection):
        (WebCore::clipOutPositionedObjects):
        (WebCore::RenderBlock::fillSelectionGaps):
        (WebCore::RenderBlock::fillLeftSelectionGap):
        (WebCore::RenderBlock::fillRightSelectionGap):

2008-08-01  Timothy Hatcher  <timothy@apple.com>

        Adds the ability to disable individual properties of a CSS rule.
        When hovering over a rule, checkboxes show up to the right of all
        properties and toggling a checkbox disables/enables the property.
        Behind the scenes the property is removed from the rule when disabled,
        but still remains in the list and in the computed style. When disabled
        the property has a line through it, and is faded in computed style.

        <rdar://problem/5712828> Support disabling individual CSS properties
        https://bugs.webkit.org/show_bug.cgi?id=14377

        Reviewed by Adam Roben.

        * page/inspector/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update): Include the
        inline style when it also has disabled properties. Call
        deleteDisabledProperty for any property that is in the style,
        since it might have been added back by the page. Remember all
        disabled properties so they show up in computed style.
        (deleteDisabledProperty): Helper function to delete all the
        right properties that track disabled properties.
        (WebInspector.StylePropertiesSection): Add the computed-style
        class when  the section is Computed Style.
        (WebInspector.StylePropertiesSection.prototype.onpopulate):
        Include disabled properties.
        (WebInspector.StylePropertyTreeElement): Added a disabled argument.
        (WebInspector.StylePropertyTreeElement.prototype.get/set disabled):
        Sets the _disabled property and calls updateState.
        (WebInspector.StylePropertyTreeElement.prototype.get priority):
        Return the priority of enabled or disabled properties.
        (WebInspector.StylePropertyTreeElement.prototype.get value):
        Return the value of enabled or disabled properties.
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Use the
        priority and value getter. Append the checkbox for root elements of
        an editable section.
        (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
        Add or remove properties from the rule and remember removed ones
        by adding three objects to the style: __disabledProperties,
        __disabledPropertyValues and __disabledPropertyPriorities.
        The __disabledProperties object will include all longhand
        properties of a shorthand for use by Computed Style.
        (WebInspector.StylePropertyTreeElement.prototype.updateState):
        Use the value getter. Update the disabled state.
        * page/inspector/inspector.css:
        * page/inspector/utilities.js:
        (Object.hasProperties): Added. Helper to test if an object
        has any properties.

2008-07-31  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin.

        <rdar://problem/5949410>
        Add the ability to transfer a given application cache to a new database.
        
        * WebCore.base.exp:
        Export ApplicationCacheStorage::storeCopyOfCache.
        
        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::~ApplicationCache):
        Don't call cacheDestroyed for our special "copy" groups.
        
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
        (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
        Add a "copy" flag to the ApplicationCacheGroup constructor. A "copied" group is special
        and can only be stored to disk.
        
        * loader/appcache/ApplicationCacheGroup.h:
        (WebCore::ApplicationCacheGroup::isCopy):
        New getter.
        
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::store):
        Make sure to set the storageID when storing an application resource.
        
        (WebCore::ApplicationCacheStorage::storeNewestCache):
        Change this to return true/false depending on whether storing the cache succeeded or not.
        
        (WebCore::ApplicationCacheStorage::storeCopyOfCache):
        New method which stores a given cache in a new storage (database file).
        
        * loader/appcache/ApplicationCacheStorage.h:
        Add new methods.

2008-07-31  John Sullivan  <sullivan@apple.com>

        WebCore part of <rdar://problem/6116650> Text-only zoom setting should be stored in WebKit prefs

        Reviewed by Hyatt

        * WebCore.base.exp:
        export symbol for WebCoreSettings::setZoomsTextOnly()
        
        * page/Frame.cpp:
        (WebCore::Frame::isZoomFactorTextOnly):
        use value from Settings instead of data member
        (WebCore::Frame::shouldApplyTextZoom):
        call isZoomFactorTextOnly() to get value instead of accessing now-removed data member
        (WebCore::Frame::shouldApplyPageZoom):
        ditto
        (WebCore::Frame::setZoomFactor):
        set value into Settings rather than into data member
        (WebCore::FramePrivate::FramePrivate):
        don't set initial value of now-removed data member; this is managed by Settings now
        
        * page/FramePrivate.h:
        removed m_zoomFactorIsTextOnly
        
        * page/Settings.cpp:
        (WebCore::Settings::setZoomsTextOnly):
        new function, sets values and reapplies styles in all frames
        
        * page/Settings.h:
        (WebCore::Settings::zoomsTextOnly):
        new function, returns value of new data member

2008-07-31  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        Null-check parent clip rects, because they may not have been
        set up yet.
        https://bugs.webkit.org/show_bug.cgi?id=20243

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

2008-07-31  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/6058958> REGRESSION (r34210): Seams are visible in border-image

        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::draw): To work around a Core Graphics
        interpolation issue, reverted to using a temporary subimage for drawing
        a portion of the image with scaling and high-quality interpolation in
        effect.

2008-07-31  chris fleizach  <cfleizach@apple.com>

        Reviewed by Alice Liu

        <rdar://problem/3563671> VO doesn't highlight characters when interacting when static text in web areas

        Need to expose the AXBoundsForRange parameter which allows an AX client to get the visible bounds
        for individual characters on a webpage.

        Test: accessibility/bounds-for-range.html

        * ChangeLog:
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
        * page/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

2008-07-31  Kevin Ollivier <kevino@theolliviers.com>

        Second attempt at Windows/wx build fix. Instead of avoiding inclusion of windows.h,
        use defines, etc. to avoid conflicts in each affected file.

        * config.h:
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        * platform/wx/PopupMenuWx.cpp:

2008-07-31  Erik Bunce  <elbunce@thehive.com>

        Reviewed by Simon.

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

        Include the Writing Direction sub-menu in the context menu of all
        platforms but GTK. This fixes a regression introduced by revision
        34426.

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):

2008-07-31  Brady Eidson  <beidson@apple.com>

        Reviewed by Adam and Hyatt

        Fix for <rdar://problem/6099748>

        Adds a "don't enforce CSS mime type in strict mode" quirk for iWeb 2

        * WebCore.base.exp:

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

        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::canUseSheet):
        * loader/CachedCSSStyleSheet.h:
        (WebCore::CachedCSSStyleSheet::sheetText): 
        * page/Settings.cpp:

        (WebCore::Settings::Settings):
        (WebCore::Settings::setEnforceCSSMIMETypeInStrictMode):
        * page/Settings.h:
        (WebCore::Settings::enforceCSSMIMETypeInStrictMode):

2008-07-31  Erik Bunce  <elbunce@thehive.com>

        Reviewed by Simon.

        Added the ability to get SQLite headers and source from the location 
        specified via the SQLITE3SRCDIR environtment variable.

        * WebCore.pro:

2008-07-31  Alexey Proskuryakov  <ap@webkit.org>

        Rubber-stamped by Maciej.

        Eliminate JSLock (it was already disabled, removing the stub implementaion and all
        call sites now).

        * ForwardingHeaders/kjs/JSLock.h: Removed.
        * WebCore.vcproj/WebCore.vcproj:
        * bindings/js/GCController.cpp:
        (WebCore::collect):
        (WebCore::GCController::gcTimerFired):
        (WebCore::GCController::garbageCollectNow):
        * 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/JSDOMWindowBase.cpp:
        (WebCore::DOMWindowTimer::~DOMWindowTimer):
        (WebCore::JSDOMWindowBase::clear):
        (WebCore::JSDOMWindowBase::timerFired):
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSAbstractEventListener::handleEvent):
        (WebCore::JSLazyEventListener::parseCode):
        * bindings/js/JSNSResolver.cpp:
        (WebCore::JSNSResolver::lookupNamespaceURI):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::acceptNode):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluate):
        (WebCore::ScriptController::clear):
        (WebCore::ScriptController::createHTMLEventHandler):
        (WebCore::ScriptController::createSVGEventHandler):
        (WebCore::ScriptController::initScript):
        (WebCore::ScriptController::updateDocument):
        * bindings/objc/WebScriptObject.mm:
        (_didExecute):
        (-[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):
        * bridge/c/c_class.cpp:
        (KJS::Bindings::CClass::~CClass):
        (KJS::Bindings::CClass::methodsNamed):
        (KJS::Bindings::CClass::fieldNamed):
        * bridge/c/c_instance.cpp:
        (KJS::Bindings::CInstance::invokeMethod):
        (KJS::Bindings::CInstance::invokeDefaultMethod):
        (KJS::Bindings::CInstance::getPropertyNames):
        * bridge/c/c_runtime.cpp:
        (KJS::Bindings::CField::valueFromInstance):
        (KJS::Bindings::CField::setValueToInstance):
        * bridge/c/c_utility.cpp:
        (KJS::Bindings::convertValueToNPVariant):
        (KJS::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:
        (KJS::Bindings::dispatchJNICall):
        * bridge/jni/jni_runtime.cpp:
        (appendClassName):
        (JavaMethod::signature):
        * bridge/jni/jni_runtime.h:
        (KJS::Bindings::JavaString::JavaString):
        (KJS::Bindings::JavaString::_commonInit):
        (KJS::Bindings::JavaString::~JavaString):
        (KJS::Bindings::JavaString::UTF8String):
        * bridge/jni/jni_utility.cpp:
        (KJS::Bindings::convertValueToJValue):
        * bridge/npruntime.cpp:
        (_NPN_GetStringIdentifier):
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::moveGlobalExceptionToExecState):
        (ObjcInstance::invokeMethod):
        (ObjcInstance::invokeDefaultMethod):
        (ObjcInstance::setValueOfUndefinedField):
        (ObjcInstance::getValueOfUndefinedField):
        * bridge/objc/objc_runtime.mm:
        (ObjcField::valueFromInstance):
        (ObjcField::setValueToInstance):
        * bridge/objc/objc_utility.mm:
        (KJS::Bindings::convertValueToObjcValue):
        (KJS::Bindings::convertNSStringToString):
        (KJS::Bindings::convertObjcValueToValue):
        * bridge/qt/qt_instance.cpp:
        (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
        (KJS::Bindings::QtInstance::~QtInstance):
        (KJS::Bindings::QtInstance::getQtInstance):
        (KJS::Bindings::QtInstance::getRuntimeObject):
        * bridge/qt/qt_runtime.cpp:
        (KJS::Bindings::convertValueToQVariant):
        (KJS::Bindings::convertQVariantToValue):
        (KJS::Bindings::QtRuntimeMetaMethod::call):
        (KJS::Bindings::QtRuntimeConnectionMethod::call):
        (KJS::Bindings::QtConnectionObject::QtConnectionObject):
        (KJS::Bindings::QtConnectionObject::execute):
        * bridge/runtime.cpp:
        (KJS::Bindings::Instance::createRuntimeObject):
        * bridge/testbindings.cpp:
        (main):
        * bridge/testbindings.mm:
        (main):
        * bridge/testqtbindings.cpp:
        (main):
        * dom/Document.cpp:
        (WebCore::Document::~Document):
        * dom/Node.cpp:
        (WebCore::Node::setDocument):
        * history/CachedPage.cpp:
        (WebCore::CachedPage::CachedPage):
        (WebCore::CachedPage::restore):
        (WebCore::CachedPage::clear):
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::createNPObject):
        * loader/FrameLoader.cpp:
        (WebCore::getString):
        * page/Frame.cpp:
        (WebCore::Frame::bindingRootObject):
        (WebCore::Frame::windowScriptNPObject):
        (WebCore::Frame::clearScriptObjects):
        * page/InspectorController.cpp:
        (WebCore::jsStringRef):
        (WebCore::ConsoleMessage::ConsoleMessage):
        (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
        (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
        (WebCore::getResourceDocumentNode):
        (WebCore::search):
        (WebCore::inspectedWindow):
        (WebCore::wrapCallback):
        (WebCore::currentCallFrame):
        (WebCore::profiles):
        (WebCore::InspectorController::focusNode):
        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
        (WebCore::InspectorController::addDatabaseScriptResource):
        (WebCore::InspectorController::addScriptProfile):
        * page/JavaScriptCallFrame.cpp:
        (WebCore::JavaScriptCallFrame::evaluate):
        * page/JavaScriptProfileNode.cpp:
        (WebCore::getTotalTime):
        (WebCore::getSelfTime):
        (WebCore::getTotalPercent):
        (WebCore::getSelfPercent):
        (WebCore::getNumberOfCalls):
        (WebCore::getChildren):
        (WebCore::getVisible):
        * page/Page.cpp:
        * page/mac/FrameMac.mm:
        (WebCore::Frame::windowScriptObject):
        * page/qt/FrameQt.cpp:
        * plugins/PluginView.cpp:
        (WebCore::PluginView::start):
        (WebCore::getString):
        (WebCore::PluginView::performRequest):
        (WebCore::PluginView::bindingInstance):
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::paint):
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::handleMouseEvent):
        (WebCore::PluginView::setNPWindowRect):
        (WebCore::PluginView::stop):
        (WebCore::PluginView::init):
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::setNPWindowRect):
        (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):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::clearResponse):
        (WebCore::XMLHttpRequest::didFinishLoading):
        (WebCore::XMLHttpRequest::didReceiveData):

2008-07-30  Timothy Hatcher  <timothy@apple.com>

        Fix various minor bugs with style editing in the Inspector.

        - Restores the scroll position to 0,0 when finished editing a
        string that was longer than the editing input area.

        - Adjusts the margin of the list item to ensure the text does
        not shift when entering and exiting editing mode.

        - Reliably remembers if a shorthand has children when the
        children haven't been populated yet.

        - Reliably remembers if a shorthand was expanded, and expands
        if needed after editing finishes.

        - Hides color swatches when editing.

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

        Reviewed by Adam Roben.

        * page/inspector/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.startEditing):
        Store the expanded state and children state in wasExpanded and
        reallyHasChildren properties.
        (WebInspector.StylePropertyTreeElement.prototype.editingEnded):
        Removed the wasExpanded argument and use the reallyHasChildren and
        wasExpanded properties to restore state. Deletes the state properties.
        (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
        Removed the wasExpanded argument.
        (WebInspector.StylePropertyTreeElement.prototype.editingCommitted):
        Removed the wasExpanded argument.
        * page/inspector/inspector.css: Tweak the margin and hides the color
        swatches. ALso removes a rule that was not needed.
        * page/inspector/inspector.js:
        (WebInspector.startEditing): Restore the scrollLeft and scrollTop
        to zero when editing finishes.

2008-07-30  Alice Liu  <alice.liu@apple.com>

        Implement userIdleTime() for Windows, and place a band-aid over other
        platform implementations of userIdleTime().  This will fix the issue
        of indefinitely postposing releasing pages from the PageCache
        on non-Mac platforms, causing us to hang onto just about everything 
        else about a web page.
        
        Reviewed by Sam Weinig.

        * platform/gtk/TemporaryLinkStubs.cpp:
        * platform/wx/TemporaryLinkStubs.cpp:
        * platform/qt/TemporaryLinkStubs.cpp:
        (WebCore::userIdleTime): set to FLT_MAX

        * platform/win/SystemTimeWin.cpp:
        (WebCore::userIdleTime): implemented

2008-07-30  Beth Dakin  <bdakin@apple.com>

        Reviewed by Anders Carlsson.

        Fixes <rdar://problem/6041390>

        Adds the ability to have a frame that is "disconnected" from the 
        main frame from the perspective of top and parent in 
        Javascript.

        * WebCore.base.exp:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::parent):
        (WebCore::DOMWindow::top):
        * page/Frame.cpp:
        (WebCore::Frame::isDisconnectedFrame):
        (WebCore::Frame::setIsDisconnectedFrame):
        (WebCore::FramePrivate::FramePrivate):
        * page/Frame.h:
        * page/FramePrivate.h:
        * page/FrameTree.cpp:
        (WebCore::FrameTree::parent):
        (WebCore::FrameTree::top):
        * page/FrameTree.h:

2008-07-25  Eric Seidel  <eric@webkit.org>

        Reviewed by Justin.

        Crash Safari when dragging images into Google presentations
        https://bugs.webkit.org/show_bug.cgi?id=20161

        Test: manual-tests/remove-on-drop-crash.html

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):
        * manual-tests/remove-on-drop-crash.html: Added.

2008-07-30  Christian Dywan  <christian@twotoasts.de>

        Reviewed by Mark.

        Build fix for Cairo < 1.6

        * platform/graphics/cairo/PathCairo.cpp:
        (WebCore::Path::boundingRect): use cairo_stroke_extends for < 1.6

2008-07-29  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Geoff.

        <rdar://problem/6110314> Crash in profiler dereferencing null frame or
        page (20214)
        - Null check.

        * page/Console.cpp:
        (WebCore::Console::finishedProfiling):

2008-07-30  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=18070
        
        Full page zoom needs to work properly with JS mouse events.  Make sure to adjust the coordinates of the
        JS mouse event to account for zoom.

        Reviewed by olliej

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchMouseEvent):

2008-07-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Update Cross-site XMLHttpRequests using Access control to
        the latest spec. (Editor's Draft 8 July 2008)

        - This leaves us at about the same place as we previously were
          still needing preflight caching and better redirect support.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * xml/AccessControlList.cpp: Removed.
        * xml/AccessControlList.h: Removed.
        * xml/AccessItem.cpp: Removed.
        * xml/AccessItem.h: Removed.
        * xml/AccessItemRule.cpp: Removed.
        * xml/AccessItemRule.h: Removed.
        * xml/XMLHttpRequest.cpp:
        (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest):
        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
        (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
        (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
        (WebCore::XMLHttpRequest::abort):
        (WebCore::XMLHttpRequest::clearRequest):
        (WebCore::XMLHttpRequest::didFinishLoading):
        (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
        (WebCore::XMLHttpRequest::accessControlCheck):
        (WebCore::XMLHttpRequest::didReceiveResponse):
        (WebCore::parseAccessControlAllowList):
        (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
        * xml/XMLHttpRequest.h:

2008-07-29  Kevin Calhoun  <kcalhoun@apple.com>

        Reviewed by Adele.

        Fix for <rdar://problem/6060647> Adopt QTMovieOpenForPlaybackAttribute flag

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):

2008-07-29  Kevin Calhoun  <kcalhoun@apple.com>

        Reviewed by Adele.

        Fix for <rdar://problem/6031021> Make standalone video render more like the quicktime plugin to improve performance

        For standalone video, use QTMovieView to draw.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::createQTMovieView): Moved nil checks to setUpVideoRendering.
         Associate the QTMovieView with the WebCoreMovieObserver.
         If we're in a media document, allow QTMovieView to render in its default mode; otherwise tell it to draw synchronously. 
        (WebCore::MediaPlayerPrivate::detachQTMovieView): Set the WebCoreMovieObserver's view to nil.
        (WebCore::MediaPlayerPrivate::createQTVideoRenderer): Nil check is now in setUpVideoRendering, which is the only caller of this.
        (WebCore::MediaPlayerPrivate::setUpVideoRendering): Added nil checks.  Call createQTMovieView for media documents.
        (WebCore::MediaPlayerPrivate::tearDownVideoRendering): Call detachQTMovieView if a QTMovieView exists.
        (WebCore::MediaPlayerPrivate::setRect): Call setFrame on the QTMovieView if necessary.
        (-[WebCoreMovieObserver menuForEventDelegate:]): Added. Returns the frame view's menu.
        (-[WebCoreMovieObserver setView:]): Added.

2008-07-29  Adele Peterson  <adele@apple.com>

        Reviewed by Dan Bernstein.

        Fix for <rdar://problem/6073372> Move built-in controls below <video> element for standalone media documents

        * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added -webkit-full-page-media pseudo class.
        * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoFullPageMedia.
        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added case to
        apply PseudoFullPageMedia for elements in a full page media document.

        * css/html4.css: Added rule to shift control panel down for video in standalone media documents.

        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::lowestPosition): Added implementation that takes the controls into account.
        This makes sure that scrollbars on the page will account for controls not directly contained in the RenderMedia.
        (WebCore::RenderMedia::rightmostPosition): ditto.
        (WebCore::RenderMedia::leftmostPosition): ditto.
        * rendering/RenderMedia.h:

2008-07-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        <rdar://problem/6084585> Investigate upload progress events.

        - Add progress notifications for data being sent via a ResourceHandle.
        - Add XMLHttpRequestUpload support.

        Upload notifications only work on the Mac right now as the CFNetwork API
        on windows does not expose enough information.

        Tests: http/tests/xmlhttprequest/upload-onload-event.html
               http/tests/xmlhttprequest/upload-onloadstart-event.html
               http/tests/xmlhttprequest/upload-onprogress-event.html
               http/tests/xmlhttprequest/upload-progress-events.html

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSEventTargetBase.cpp:
        (WebCore::toJS):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::mark):
        * bindings/js/JSXMLHttpRequestUploadCustom.cpp: Added.
        (WebCore::JSXMLHttpRequestUpload::mark):
        (WebCore::JSXMLHttpRequestUpload::onabort):
        (WebCore::JSXMLHttpRequestUpload::setOnabort):
        (WebCore::JSXMLHttpRequestUpload::onerror):
        (WebCore::JSXMLHttpRequestUpload::setOnerror):
        (WebCore::JSXMLHttpRequestUpload::onload):
        (WebCore::JSXMLHttpRequestUpload::setOnload):
        (WebCore::JSXMLHttpRequestUpload::onloadstart):
        (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
        (WebCore::JSXMLHttpRequestUpload::onprogress):
        (WebCore::JSXMLHttpRequestUpload::setOnprogress):
        (WebCore::JSXMLHttpRequestUpload::addEventListener):
        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
        (WebCore::JSXMLHttpRequestUpload::dispatchEvent):
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::toXMLHttpRequestUpload):
        * dom/EventTarget.h:
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::didSendData):
        * loader/ResourceLoader.h:
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::didSendData):
        * loader/SubresourceLoader.h:
        * loader/SubresourceLoaderClient.h:
        (WebCore::SubresourceLoaderClient::didSendData):
        * page/DOMWindow.idl:
        * platform/network/FormData.cpp:
        (WebCore::FormData::FormData):
        * platform/network/FormData.h:
        (WebCore::FormData::alwaysStream):
        (WebCore::FormData::setAlwaysStream):
        * platform/network/ResourceHandleClient.h:
        (WebCore::ResourceHandleClient::didSendData):
        * platform/network/mac/FormDataStreamMac.h:
        * platform/network/mac/FormDataStreamMac.mm:
        (WebCore::getStreamFormDataMap):
        (WebCore::getStreamResourceHandleMap):
        (WebCore::associateStreamWithResourceHandle):
        (WebCore::disassociateStreamWithResourceHandle):
        (WebCore::DidSendDataCallbackData::DidSendDataCallbackData):
        (WebCore::performDidSendDataCallback):
        (WebCore::formCreate):
        (WebCore::formFinalize):
        (WebCore::formRead):
        (WebCore::setHTTPBody):
        (WebCore::httpBodyFromStream):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::cancel):
        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
        (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::~XMLHttpRequest):
        (WebCore::XMLHttpRequest::upload):
        (WebCore::XMLHttpRequest::open):
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::createRequest):
        (WebCore::XMLHttpRequest::abort):
        (WebCore::XMLHttpRequest::networkError):
        (WebCore::XMLHttpRequest::abortError):
        (WebCore::XMLHttpRequest::didSendData):
        * xml/XMLHttpRequest.h:
        (WebCore::XMLHttpRequest::optionalUpload):
        * xml/XMLHttpRequest.idl:
        * xml/XMLHttpRequestUpload.cpp: Added.
        (WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
        (WebCore::XMLHttpRequestUpload::addEventListener):
        (WebCore::XMLHttpRequestUpload::removeEventListener):
        (WebCore::XMLHttpRequestUpload::dispatchEvent):
        (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
        (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
        (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
        (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
        (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
        (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
        * xml/XMLHttpRequestUpload.h: Added.
        (WebCore::XMLHttpRequestUpload::create):
        (WebCore::XMLHttpRequestUpload::toXMLHttpRequestUpload):
        (WebCore::XMLHttpRequestUpload::associatedXMLHttpRequest):
        (WebCore::XMLHttpRequestUpload::disconnectXMLHttpRequest):
        (WebCore::XMLHttpRequestUpload::setOnAbortListener):
        (WebCore::XMLHttpRequestUpload::onAbortListener):
        (WebCore::XMLHttpRequestUpload::setOnErrorListener):
        (WebCore::XMLHttpRequestUpload::onErrorListener):
        (WebCore::XMLHttpRequestUpload::setOnLoadListener):
        (WebCore::XMLHttpRequestUpload::onLoadListener):
        (WebCore::XMLHttpRequestUpload::setOnLoadStartListener):
        (WebCore::XMLHttpRequestUpload::onLoadStartListener):
        (WebCore::XMLHttpRequestUpload::setOnProgressListener):
        (WebCore::XMLHttpRequestUpload::onProgressListener):
        (WebCore::XMLHttpRequestUpload::eventListeners):
        (WebCore::XMLHttpRequestUpload::refEventTarget):
        (WebCore::XMLHttpRequestUpload::derefEventTarget):
        * xml/XMLHttpRequestUpload.idl: Added.

2008-07-29  Maxime Britto  <britto@apple.com>

        Reviewed by Darin.

        <rdar://problem/6095023> "When pan-scrolling, mouse click on hyperlink stop the pan-Scroll but follow the link after that."
        With this patch we now stop the pan scroll and swallow the event to prevent any following action.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent): If we were in pan scrolling mode we no longer just stop the pan scroll and continue with the function, we now stop and return true to attest that we swallowed the event.

2008-07-29  Maxime Britto  <britto@apple.com>

        Reviewed by adele.

        Test: fast/events/autoscroll-in-textfield.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::canBeProgramaticallyScrolled): reverted a bad change introduced in r35244
        nb:the test case introduced in r35244 is still working.

2008-07-29  Maxime Britto  <britto@apple.com>

        Reviewed by adele.
        This test verifies that the autoscroll works within textfields.

        * fast/events/autoscroll-in-textfield-expected.txt: Added.
        * fast/events/autoscroll-in-textfield.html: Added.

2008-07-29  Adele Peterson  <adele@apple.com>

        Reviewed by Sammy Weinig.

        Fix for <rdar://problem/6103024>
        When a QT movie is loaded directly in the browser, I can't pause it by single-clicking on the video

        Test: media/video-click-dlbclick-standalone.html

        * loader/MediaDocument.cpp: (WebCore::MediaDocument::defaultEventHandler): For standalone media documents,
        match the default Quicktime plugin behavior to allow clicking and double-clicking to pause and play the media.
        * loader/MediaDocument.h: Added defaultEventHandler.

        * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::defaultEventHandler): Return early if the event has been handled.
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlMuteButtonElement::defaultEventHandler): Correct what was probably a typo.  Instead of "event->defaultHandled()",
         it is supposed to be "event->setDefaultHandled()".
        (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto.
        (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto.
        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto.

2008-07-29  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/6059648> Some content not visible when the window is short at courtneyalbright.com

        Test: fast/overflow/float-in-relpositioned.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::lowestPosition): Add this block's relative offset
        to floats' and positioned objects' lowest position.
        (WebCore::RenderBlock::rightmostPosition): Ditto.
        (WebCore::RenderBlock::leftmostPosition): Ditto.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::lowestPosition): Removed redundant test.
        (WebCore::RenderBox::rightmostPosition): Ditto.
        (WebCore::RenderBox::leftmostPosition): Ditto.

2008-07-29  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/6048566> Repaint original element's position, not its offset position

        Test: fast/repaint/layout-state-relative.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::absolutePosition): Changed the LayoutState-enabled
        code path to account for the object's relative offset.
        (WebCore::RenderBox::computeAbsoluteRepaintRect): Ditto.

2008-07-29  Keishi Hattori  <casey.hattori@gmail.com>

        Fixed Bug 19158: Inspector should support console.group/console.groupEnd

        <https://bugs.webkit.org/show_bug.cgi?id=19158>

        Reviewed by Tim Hatcher and Adam Roben.

        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::group): Added.
        * page/Console.cpp:
        (WebCore::Console::group): Added.
        (WebCore::Console::groupEnd): Added.
        * page/Console.h:
        (WebCore::):
        * page/Console.idl: Added group/groupEnd.
        * page/InspectorController.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        (WebCore::InspectorController::InspectorController): Added m_groupLevel.
        (WebCore::InspectorController::addMessageToConsole): Added groupLevel argument.
        (WebCore::InspectorController::startGroup): Increments m_groupLevel by one and calls js function if needed.
        (WebCore::InspectorController::endGroup): Decrements m_groupLevel by one and calls js function if needed.
        (WebCore::InspectorController::addScriptConsoleMessage): Added groupLevel argument.
        (WebCore::InspectorController::didCommitLoad): Resets m_groupLevel.
        * page/InspectorController.h:
        * page/inspector/Console.js:
        (WebInspector.Console): Added groupLevel and currentGroup topGroup.
        (WebInspector.Console.addMessage): Calls addMessage method in the currentGroup.
        (WebInspector.Console.startGroup): Added.
        (WebInspector.Console.endGroup): Added.
        (WebInspector.Console.clearMessages): Resets groupLevel and currentGroup.
        (WebInspector.ConsoleMessage): Added groupLevel property.
        (WebInspector.ConsoleMessage.MessageLevel.GroupTitle): Added.
        (WebInspector.ConsoleGroup): Added.
        (WebInspector.ConsoleGroup.addMessage): Adds console message to group.
        (WebInspector.ConsoleGroup._titleClicked): Adds "collapsed" style class.
        * page/inspector/inspector.css:
        * page/inspector/inspector.js:
        (WebInspector.startGroupInConsole): Calls console.startGroup
        (WebInspector.endGroupInConsole): Calls console.endGroup

2008-07-29  Adam Roben  <aroben@apple.com>

        Add names for WebCore's threads

        Reviewed by Anders Carlsson.

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::open):
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::start):
        * storage/LocalStorageThread.cpp:
        (WebCore::LocalStorageThread::start):
        Pass in names to createThread.

        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::runLoaderThread):
        (WebCore::ResourceHandle::loaderRunLoop):
        Changed to use WTF::createThread.

2008-07-28  Anders Carlsson  <andersca@apple.com>

        Reviewed by Kevin Decker.

        Based on a patch from Dimcho Balev.
        
        Windows part of 
    
        https://bugs.webkit.org/show_bug.cgi?id=18676
        <rdar://problem/6106578>
        Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs

        * plugins/PluginStream.cpp:
        (WebCore::PluginStream::wantsAllStreams):
        * plugins/PluginStream.h:

2008-07-28  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig

        Test: security/autocomplete-cleared-on-back.html

        <rdar://problem/6093281> - autocomplete="off" should work when going back

        Taken care of in two ways:
        1 - Listening for the page cache notification to clear the form, in cases where the page
            is being restored from the page cache
        2 - Not saving such form elements when doing the normal "save state" to a history item,
            for cases with no page cache

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::~HTMLFormElement):
        (WebCore::HTMLFormElement::parseMappedAttribute):
        (WebCore::HTMLFormElement::didRestoreFromCache):
        (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
        (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
        * html/HTMLFormElement.h:

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::~HTMLInputElement):
        (WebCore::HTMLInputElement::setInputType):
        (WebCore::HTMLInputElement::saveState):
        (WebCore::HTMLInputElement::parseMappedAttribute):
        (WebCore::HTMLInputElement::needsCacheCallback):
        (WebCore::HTMLInputElement::registerForCacheCallbackIfNeeded): Only register if the type or attribute
          indicate we should.
        (WebCore::HTMLInputElement::unregisterForCacheCallbackIfNeeded): Only unregister if both the type
          and attribute are clear of needing registration.
        (WebCore::HTMLInputElement::didRestoreFromCache):
        (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
        (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
        * html/HTMLInputElement.h:

2008-07-28  David Hyatt  <hyatt@apple.com>

        Add support for CSS variable declaration blocks.

        Reviewed by Sam

        Added tests in fast/css/variables.

        * css/CSSGrammar.y:
        * css/CSSMutableStyleDeclaration.h:
        (WebCore::CSSMutableStyleDeclaration::isMutableStyleDeclaration):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::addVariableDeclarationBlock):
        * css/CSSParser.h:
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::cssText):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::addMatchedDeclaration):
        (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
        * css/CSSStyleSelector.h:
        * css/CSSValueList.h:
        (WebCore::CSSValueList::isValueList):
        * css/CSSVariablesDeclaration.cpp:
        (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
        (WebCore::CSSVariablesDeclaration::getVariableValue):
        (WebCore::CSSVariablesDeclaration::removeVariable):
        (WebCore::CSSVariablesDeclaration::addParsedVariable):
        (WebCore::CSSVariablesDeclaration::getParsedSimpleVariable):
        (WebCore::CSSVariablesDeclaration::getParsedComplexVariable):
        * css/CSSVariablesDeclaration.h:
        (WebCore::CSSVariablesDeclaration::create):
        * css/StyleBase.cpp:
        (WebCore::StyleBase::cssText):
        * css/StyleBase.h:
        (WebCore::StyleBase::isValueList):
        (WebCore::StyleBase::isMutableStyleDeclaration):

2008-07-28  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam.

        <rdar://problem/6098335>
        https://bugs.webkit.org/show_bug.cgi?id=20150
        
        Handle willSendRequest correctly.

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::willSendRequest):
        Make sure to keep the previous URL around so we know when to call willSendRequest.
        
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::processSyncLoadResults):
        Abort if we don't have access to the response URL.
        
        (WebCore::XMLHttpRequest::willSendRequest):
        Dispatch a network error if we can't access the new URL.

2008-07-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Renamed "ConstructTypeNative" => "ConstructTypeHost".
        
2008-07-28  Anders Carlsson  <andersca@apple.com>

        Reviewed by Kevin Decker.

        Based on a patch by Dimcho Balev.

        https://bugs.webkit.org/show_bug.cgi?id=18676
        <rdar://problem/6106578>
        Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
        
        * bridge/npapi.h:
        Add new enum values.
        
        * loader/NetscapePlugInStreamLoader.cpp:
        (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
        When the plug-in indicates that it wants all streams to be delivered, don't cancel the stream
        if an error occurs.
        
        * loader/NetscapePlugInStreamLoader.h:
        (WebCore::NetscapePlugInStreamLoaderClient::wantsAllStreams):
        Add new client method.

2008-07-27  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=20176
        querySelectorAll id optimization no longer working

        Turn the querySelector/querySelectorAll id optimization back on
        for only strict and almost strict mode.  In quirks mode, the optimiztion
        won't work as the id match is not case sensitive.

        Tests: fast/dom/SelectorAPI/caseID-almost-strict.html
               fast/dom/SelectorAPI/caseID-strict.html
               fast/dom/SelectorAPI/caseID.html

        * dom/Node.cpp:
        (WebCore::Node::querySelector):
        (WebCore::Node::querySelectorAll):
        * dom/SelectorNodeList.cpp:
        (WebCore::createSelectorNodeList):
        * dom/SelectorNodeList.h:

2008-07-27  Anatoli Papirovski  <apapirovski@mac.com>

        Reviewed by Dave Hyatt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=14346
        Modified the css parser:
        - not to fail when closing braces are not found for 
          a declaration at the end of the file
        - not to accept "!important fail" as valid
        - to keep accepting @import when it comes after invalid @ rules
        - not to drop the whole @media block when there's an error before the 
          closing brace
        + some other minor css parsing revisions.

        CSSGrammar.y tweaked by David Kilzer to fix Tiger builds.

        * css/CSSGrammar.y:

2008-07-27  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Eric Seidel.

        Use --outputDir instead of --output when invoking make_names.pl
        There's no option named "output" in make_names.pl

        * GNUmakefile.am:
        * WebCore.pro:
        * DerivedSources.make: Remove --output. Not necessary here.
        * bindings/scripts/generate-bindings.pl: Rename --outputdir to
          --outputDir for consistency with make_names.pl

2008-07-26  Dirk Schulze  <vbs85@gmx.de>

        Reviewed by Eric Seidel.

        http://bugs.webkit.org/show_bug.cgi?id=18694
        [CAIRO] Problem with rotation in a given matrix in SVG

        Changed values given to AffineTransform.

        * platform/graphics/cairo/AffineTransformCairo.cpp:
        (WebCore::AffineTransform::AffineTransform):
        (WebCore::AffineTransform::setMatrix):

2008-07-26  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Mark Rowe.

        Call curl_global_cleanup() to release resources acquired by curl_global_init()

        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::~ResourceHandleManager):

2008-07-26  Marc Ordinas i Llopis  <marc.ordinasillopis@collabora.co.uk>

        Reviewed by Simon Hausmann.

        Bug 18938: [GTK] Plugins not resized
        https://bugs.webkit.org/show_bug.cgi?id=18938

        * plugins/PluginView.cpp:
        (WebCore::PluginView::setFrameGeometry): When viewing a full-page
        plugin in unix, geometry changes have to be passed to the plugin.

2008-07-26  Keishi Hattori  <casey.hattori@gmail.com>

        Reviewed by Adam Roben.

        Add console.time/timeEnd.
        https://bugs.webkit.org/show_bug.cgi?id=19159

        * manual-tests/inspector/console-time.html: Added. Test cases for console.time/timeEnd.
        * page/Console.cpp:
        (WebCore::Console::time): Added.
        (WebCore::Console::timeEnd): Added.
        * page/Console.h:
        * page/Console.idl: Added console.time/timeEnd.
        * page/InspectorController.cpp:
        (WebCore::InspectorController::startTiming): Added.
        (WebCore::InspectorController::stopTiming): Added.
        * page/InspectorController.h:

2008-07-26  Dirk Schulze  <vbs85@gmx.de>

        Reviewed by Nikolas Zimmermann.

        Fixes rendering issues with gradients in SVG/Cairo.

        * platform/graphics/cairo/PathCairo.cpp:
        (WebCore::Path::boundingRect):
        * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
        (WebCore::applyStrokeStyleToContext):
        (WebCore::SVGPaintServerGradient::setup):

2008-07-26  Dirk Schulze  <vbs85@gmx.de>

        Reviewed by Nikolas Zimmermann.

        Added pattern-support for SVG in Cairo.

        * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
        (WebCore::applyStrokeStyleToContext):
        (WebCore::SVGPaintServerPattern::setup):

2008-07-26  Keishi Hattori  <casey.hattori@gmail.com>

        Reviewed by Adam Roben.

        Fixed bug 18540: console.log('multiple', 'strings') quotes all strings after the first
        <https://bugs.webkit.org/show_bug.cgi?id=18540>

        * page/inspector/Console.js:
        (WebInspector.ConsoleMessage.prototype._format): String arguments are appended without formatting.

2008-07-26  Anthony Ricaud  <rik24d@gmail.com>

        Reviewed by Tim Hatcher.

        <https://bugs.webkit.org/show_bug.cgi?id=20055> Line highlighting should last longer

        Restore the fade out effect after highlighting.

        * page/inspector/SourceFrame.js: Add a class for fade-out effects and sets it at the end of highlighting time.

2008-07-26  Michelangelo De Simone  <michelangelo@me.com>

        Reviewed by Adele Petersen.

        Added the simple willValidate attribute to form controls according to
        WebForms 2 spec.

        URL: http://www.w3.org/TR/web-forms-2/#willvalidate

        Tests: fast/forms/willvalidate-000.html
               fast/forms/willvalidate-001.html
               fast/forms/willvalidate-002.html
               fast/forms/willvalidate-003.html
               fast/forms/willvalidate-004.html
               fast/forms/willvalidate-005.html
               fast/forms/willvalidate-006.html
               fast/forms/willvalidate-007.html
               fast/forms/willvalidate-008.html
               fast/forms/willvalidate-009.html

        * html/HTMLButtonElement.h: Added willValidate(), always false.
        * html/HTMLButtonElement.idl: willValidate attribute exposed.
        * html/HTMLFieldSetElement.h: Added willValidate(), always false.
        * html/HTMLFieldSetElement.idl: willValidate attribute exposed.
        * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::willValidate):
        Added base willValidate() implementation.
        * html/HTMLFormControlElement.h: Added willValidate().
        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::willValidate):
        Added willValidate(), checks for input type.
        * html/HTMLInputElement.h: Added willValidate()
        * html/HTMLInputElement.idl: willValidate attribute exposed.
        * html/HTMLSelectElement.idl: willValidate attribute exposed.
        * html/HTMLTextAreaElement.idl: willValidate attribute exposed.

2008-07-26  Mark Rowe  <mrowe@apple.com>

        Build fix.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::load): Use 0 rather than nil as this is a C++ file.

2008-07-26  Mark Rowe  <mrowe@apple.com>

        Build fix.

        * loader/FrameLoader.h: Use 0 rather than nil as this is a C++ header.

2008-07-26  Daniel Jalkut  <jalkut@red-sweater.com>

        Reviewed by Geoff Garen.

        Revised the FrameLoader class to clean up a variety of load methods, and hopefully
        move things closer to integrating into a smaller set of load methods. To this
        end, I renamed many of the overloaded load() methods to have more meaningful and 
        easier to search names.  I added comments to the header file to provide clues as 
        to how many of the load methods are being used, and how they fit into the loading 
        process. I suspect that the renamed methods and comments indicating their present 
        usage will facilitate easier cleanup by myself and others as inspiration strikes.

        Updated clients of FrameLoader where necessary to adapt to the new method names and signatures.

        Combined the 3 canLoad() methods into a single canLoad which expresses the 
        intended logic of the 3 with a single method interface.

        Removed unnecessary "treatAsLocal" attribute of CachedResource. It was only called from
        one place in FrameLoader.cpp, and it derived at initialization time by calling back to FrameLoader.

        Removed unused userGesture parameter to one variant of the urlSelected method, and 
        moved one of the urlSelected methods so that it lives nearer to its overloaded 
        sibling.

        * WebCore.base.exp:
        * loader/Cache.cpp:
        (WebCore::Cache::requestResource):
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::CachedResource):
        * loader/CachedResource.h:
        (WebCore::CachedResource::errorOccurred):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::createWindow):
        (WebCore::FrameLoader::urlSelected):
        (WebCore::FrameLoader::loadURLIntoChildFrame):
        (WebCore::FrameLoader::loadPlugin):
        (WebCore::FrameLoader::loadFrameRequestWithFormState):
        (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
        (WebCore::FrameLoader::loadURL):
        (WebCore::FrameLoader::loadWithNavigationAction):
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::loadWithDocumentLoader):
        (WebCore::FrameLoader::canLoad):
        (WebCore::FrameLoader::reloadAllowingStaleData):
        (WebCore::FrameLoader::reload):
        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
        (WebCore::FrameLoader::submitForm):
        (WebCore::FrameLoader::loadPostRequest):
        (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
        (WebCore::FrameLoader::loadItem):
        * loader/FrameLoader.h:
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::create):
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected):

2008-07-26  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Fix https://bugs.webkit.org/show_bug.cgi?id=20122
        <rdar://problem/6089522>
        REGRESSION (r35075-r35110): Cannot enlarge images at Apple Store product page

        Use strict parsing when in AlmostStrict mode.

        Tests: fast/dom/SelectorAPI/dumpNodeList-almost-strict.html
               fast/dom/SelectorAPI/id-fastpath-almost-strict.html
               fast/dom/SelectorAPI/id-fastpath-strict.html

        * dom/Node.cpp:
        (WebCore::Node::querySelector):
        (WebCore::Node::querySelectorAll):

2008-07-25  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        Switch off QPainter's anti aliasing when painting the widgets using QStyle
        because otherwise the widgets will look blurry and not crisp.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::StylePainter::StylePainter):
        (WebCore::StylePainter::~StylePainter):
        * platform/qt/RenderThemeQt.h:

2008-07-25  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        - fix crash due to re-entering purgeInactiveFontData() now that it is
          called by releaseFontData()

        Not testable in DumpRenderTree

        * platform/graphics/FontCache.cpp:
        (WebCore::FontCache::purgeInactiveFontData): Added a reentry guard.

2008-07-25  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam

        Test: security/set-form-autocomplete-attribute.html

        Part of the fix for <rdar://problem/6093281> - Improper handling of autocomplete

        The autocomplete attribute works on both <form> and <input> elements, but was not
        inherited properly when someone asked an <input> if it should autocomplete.

        I fixed this up based on the rules in the current WF2 spec so if the <input> element
        has its own autocomplete attribute set, it will follow that but otherwise it will
        inherit from its parent <form>

        * WebCore.base.exp:

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::init):
        (WebCore::HTMLInputElement::autoComplete):
        (WebCore::HTMLInputElement::parseMappedAttribute):
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::):

2008-07-25  Wouter Bolsterlee  <uws+webkit@xs4all.nl>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=20078
        [GTK] Use G_* macros instead of deprecated GTK_* macros in gtk2xtbin.h

        * plugins/gtk/gtk2xtbin.h:

2008-07-25  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam.

        Add workaround for a Leopard bug which causes webarchive/test-xml-stylesheet.xml to fail.

        * platform/network/mac/WebCoreURLResponse.mm:
        (-[NSURLResponse _webcore_MIMEType]):

2008-07-25  chris fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin

        <rdar://problem/6084806> AX: REGRESSION: returned line number from TextArea is incorrect

        Tests: accessibility/textarea-insertion-point-line-number.html
               accessibility/textarea-line-for-index.html

        * page/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::lineForPosition):
        * page/AccessibilityObject.h:
        * page/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

2008-07-25  Jacob Refstrup  <jacob.refstrup@hp.com>

        Reviewed by mitz.

        - fix https://bugs.webkit.org/show_bug.cgi?id=17906
        <rdar://problem/5805741> white-space: pre-wrap or -webkit-line-break: after-white-space text can overlap float at end of line
        
        Test: fast/block/float/editable-text-overlapping-float.html

        * rendering/RenderBlock.h:
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::skipTrailingWhitespace):
        - renamed to reflect usage and removed call to position floats; 
          they only get added
        (WebCore::RenderBlock::skipLeadingWhitespace):
        - renamed to reflect usage
        (WebCore::RenderBlock::findNextLineBreak):
        - use skipTrailingWhitespace at end of line (as before but with new
          name)

2008-07-25  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        - Finish fixing https://bugs.webkit.org/show_bug.cgi?id=17097
          <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound

        * platform/graphics/FontCache.cpp:
        (WebCore::FontDataCacheKeyTraits): Changed needsDestruction to true because FontPlatformData
        instances hold references to the platform resources and release them in the destructor.
        (WebCore::cTargetInactiveFontData): Added, replacing cInactiveFontDataPurgeRatio with the
        number of inactive FontData instances to leave in the cache when automatically purging.
        (WebCore::FontCache::getCachedFontData): Moved the code that checks if there are too many
        inactive FontData instances and if so calls purgeInactiveFontData() from here...
        (WebCore::FontCache::releaseFontData): ... to here.
        (WebCore::FontCache::purgeInactiveFontData): Added code to also purge the platform font data
        cache. All FontPlatformData instances that do not have entries in the font data cache are
        removed, thus releasing the platform resources (such as HFONTs and NSFonts).

2008-07-24  David Hyatt  <hyatt@apple.com>

        Add support for an alternate syntax for CSS variables.  Testers on www-style will be able to try out
        both versions of the syntax in WebKit to help us make a decision regarding which one to go with.

        Reviewed by Dan

        Added fast/css/variables/alternate-syntax/ (duplicated all existing CSS variables tests)

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::createVariablesRule):
        (WebCore::CSSParser::checkForVariables):
        * css/CSSParser.h:
        * css/CSSParserValues.cpp:
        (WebCore::CSSParserValue::isVariable):
        (WebCore::CSSParserValueList::addValue):
        (WebCore::CSSParserValueList::deleteValueAt):
        (WebCore::CSSParserValue::createCSSValue):
        * css/CSSParserValues.h:
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::cleanup):
        (WebCore::CSSPrimitiveValue::getStringValue):
        (WebCore::CSSPrimitiveValue::cssText):
        (WebCore::CSSPrimitiveValue::parserValue):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::):
        (WebCore::CSSPrimitiveValue::isVariable):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::addMatchedDeclaration):
        * css/CSSVariablesRule.cpp:
        (WebCore::CSSVariablesRule::CSSVariablesRule):
        (WebCore::CSSVariablesRule::cssText):
        * css/CSSVariablesRule.h:
        (WebCore::CSSVariablesRule::create):
        * css/maketokenizer:
        * css/tokenizer.flex:

2008-07-25  Maxime Britto  <britto@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://6102387> "REGRESSION: horizontal scroll with the mouse wheel is inverted on some subframes"

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleWheelEvent): Inverted the scroll direction relative to the delta value (positive scrolls left,negative scrolls right)

2008-07-25  Adele Peterson  <adele@apple.com>

        Another build fix.

        * platform/win/PlatformScrollBarSafari.cpp:
        (WebCore::PlatformScrollbar::paint):

2008-07-25  Adele Peterson  <adele@apple.com>

        More build fixes.

        * platform/win/PlatformScrollBarSafari.cpp:
        (WebCore::PlatformScrollbar::paint):

2008-07-25  Adele Peterson  <adele@apple.com>

        Build fix.

        * platform/win/PlatformScrollBarSafari.cpp:

2008-07-24  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon

        Provide access to the underlying QKeyEvent in PlatformKeyboardEvent.

        * platform/PlatformKeyboardEvent.h: add accessor and member.
        * platform/qt/PlatformKeyboardEventQt.cpp: copy pointer in ctor.
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

2008-07-25  Simon Hausmann  <hausmann@webkit.org>

        Fix linking of QtWebKit against the statically built JavaScriptCore
        library, under Windows/Mac we may need _d/_debug suffixes.

        * WebCore.pro:

2008-07-25  Simon Hausmann  <hausmann@webkit.org>

        Rubber-stamped by Lars.

        Fix the Qt build by adapting to the latest ArgList API changes and
        replacing the inclusion of npapi.h in MainThreadScheduler with a forward
        declaration of NPP to avoid an include conflict. npapi.h on X11 includes
        X headers, which include wonderful defines such as "#define Status" that
        cause conflicts.

        * bridge/qt/qt_runtime.cpp:
        (KJS::Bindings::findMethodIndex):
        (KJS::Bindings::QtRuntimeConnectionMethod::call):
        * plugins/PluginMainThreadScheduler.h:

2008-07-25  Simon Hausmann  <hausmann@webkit.org>

        Discussed with and rubber-stamped by Lars.

        Fix the build system for the Qt port.

        Recent JavaScriptCore changes require the addition of JavaScriptCore/API to the
        include search path. With a build process that combines JavaScriptCore and
        WebCore in one build process/Makefile the existance of
        JavaScriptCore/API/Node.h and WebCore/dom/Node.h causes include conflicts.

        This commit solves this by introducing a separate build of JavaScriptCore into
        a static library.

        As a result of the split-up a race-condition due to broken dependencies of
        regular source files to header files of generated sources showed up very
        frequently when doing parallel builds (which the buildbot does). This commit at
        the same time tries to address the dependency problem by making the
        addExtraCompiler() function also generate a pseudo extra compiler that
        represents the header file output, so that qmake is aware of the creation of
        the header file for dependency calculation.

        At the same time I removed a lot of cruft from the pro files to ease maintenance.

        * WebCore.pro:

2008-07-24  kevino  <kevino@theolliviers.com>

        wx build fix on Win for plugins coode.

        * plugins/PluginDatabase.cpp:
        * plugins/PluginView.cpp:
        (WebCore::PluginView::PluginView):
        * plugins/PluginView.h:

2008-07-24  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Make isElementNode() non-virtual for a speedup on many benchmarks
        including 20% on http://ejohn.org/apps/fragment/.

        - Replace Node::m_attrWasSpecifiedOrElementHasRareData with bits in 
          Element and Attr where space was available.  Use the new free bit
          to represent if an node is an element or not.

        * dom/Attr.cpp:
        (WebCore::Attr::Attr):
        * dom/Attr.h:
        (WebCore::Attr::specified):
        (WebCore::Attr::setSpecified):
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::ContainerNode):
        * dom/ContainerNode.h:
        * dom/Element.cpp:
        (WebCore::Element::Element):
        * dom/Element.h:
        (WebCore::Element::hasRareData):
        (WebCore::Element::setHasRareData):
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::EventTargetNode):
        * dom/EventTargetNode.h:
        * dom/Node.cpp:
        (WebCore::Node::Node):
        * dom/Node.h:
        (WebCore::Node::isElementNode):

2008-07-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/6082111> REGRESSION (r31876): Root element with percent height does not resize when resizing the window vertically

        Not testable in DumpRenderTree

        * rendering/RenderView.cpp:
        (WebCore::RenderView::layout): Ensured that all children with percentage
        heights get laid out again if the height changes.

2008-07-24  kevino  <kevino@theolliviers.com>

        Windows build fix for wx. wx doesn't implement pan scrolling yet. 

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleAutoscroll):
        (WebCore::EventHandler::autoscrollTimerFired):
        (WebCore::EventHandler::stopAutoscrollTimer):
        (WebCore::EventHandler::handleMousePressEvent):

2008-07-24  David Hyatt  <hyatt@apple.com>

        Fix for bug 18673, crash when using full page zoom on generated content.  Don't call
        intrinsicSizeChanged when we are first setting our style.

        Reviewed by olliej

        * ChangeLog:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::setStyle):

2008-07-24  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric.

        Bug 20053: .in files should use a custom format instead of XML

        - Remove our XML parser perl module (XML::Tiny)

        - Add a custom perl parser

        - Move XML files to the new format

        * bindings/scripts/InFilesParser.pm: Added.
        * bindings/scripts/XMLTiny.pm: Removed.
        * dom/make_names.pl: Switched to our new
        parser.

        * html/HTMLAttributeNames.in: Switched to
        our custom format.
        * html/HTMLTagNames.in: Ditto.
        * svg/svgattrs.in: Ditto.
        * svg/svgtags.in: Ditto.
        * svg/xlinkattrs.in: Ditto.
        * xml/xmlattrs.in: Ditto.

2008-07-23  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric.

        Bug 19588: CRASH doing open() on destroyed window
        https://bugs.webkit.org/show_bug.cgi?id=19588

        Add frame's page null check as it could have been
        detached from the page.

        Test: fast/frames/crash-removed-iframe.html

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::windowProtoFuncOpen):
        * page/FrameTree.cpp:
        (WebCore::FrameTree::find):

2008-07-23  Dan Bernstein  <mitz@apple.com>

        Reviewed by Alexey Proskuryakov.

        - fix a leak when using hex color values in CSS variables

        - fix CSSOM access to hex color values in variables declarations

        Test: fast/css/variables/color-hex-test.html

        Added a new unit/type, CSS_PARSER_HEXCOLOR, which serves as the unit for
        CSSParserValues coming from colors in hex notation. CSSParserValues can
        no longer have CSS_RGBCOLOR as their unit. CSS_PARSER_HEXCOLOR is also
        used as the type for CSSValues in CSS variables declarations where the
        parser value was a hex color. However the type of all other color
        CSSValues remains CSS_RGBCOLOR.

        * css/CSSGrammar.y: Changed to use the new CSS_PARSER_HEXCOLOR value
        for color values in hex notation.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseColorFromValue): Updated for the new unit.
        * css/CSSParserValues.cpp:
        (WebCore::CSSParserValue::createCSSValue): Ditto.
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::cleanup): Fixed the leak by deref()ing the
        string containing the color.
        (WebCore::CSSPrimitiveValue::cssText): Added support for
        CSS_PARSER_HEXCOLOR for when serializing variable values.
        (WebCore::CSSPrimitiveValue::parserValue): Updated for the new unit.
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::): Added a new unti, CSS_PARSER_HEXCOLOR.

2008-07-23  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dan Bernstein.

        Fix for <rdar://problem/5997215> display: table-row-group 
        for :before content causes a crash
 
        The actual bug fix here is to ddd the generated content container 
        as a child before adding any of the generated content to the 
        container. There are two correctness fixes as well that deal with 
        style changes and correctly.

        This patch also makes Node::diff() a static function.

        * dom/Node.cpp:
        (WebCore::Node::diff):
        * dom/Node.h:
        (WebCore::Node::):
        (WebCore::Node::recalcStyle):
        * rendering/RenderContainer.cpp:
        (WebCore::findBeforeAfterParent):
        (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::recalcStyle):

2008-07-23  Timothy Hatcher  <timothy@apple.com>

        Updates the elements DOM tree when nodes are added or removed from
        the inspected document.

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

        Reviewed by Adam Roben.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::dispatchWindowObjectAvailable): Added a call to
        InspectorController::inspectedWindowScriptObjectCleared.
        * page/InspectorController.cpp:
        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
        Calls the WebInspector.inspectedWindowCleared script function.
        * page/InspectorController.h:
        * page/inspector/ElementsPanel.js:
        (WebInspector.ElementsPanel): Create the event listener callback wrappers.
        (WebInspector.ElementsPanel.prototype.show): Call _updateModifiedNodes if
        there are any recently modified nodes.
        (WebInspector.ElementsPanel.prototype.reset): Remove previous mutation event listeners.
        Adds a check for InspectorController.isWindowVisible to prevent adding
        event listeners when the window isn't visible.
        (WebInspector.ElementsPanel.prototype.inspectedWindowCleared): 
        (WebInspector.ElementsPanel.prototype._addMutationEventListeners): Add DOMNodeInserted,
        DOMNodeRemoved and DOMContentLoaded event listeners to the passed in window or window's document.
        (WebInspector.ElementsPanel.prototype._removeMutationEventListeners): Removes the event listeners
        added in _addMutationEventListeners.
        (WebInspector.ElementsPanel.prototype.updateMutationEventListeners): Call _addMutationEventListeners
        again to reinstate the listners if the document changed or window cleared them.
        (WebInspector.ElementsPanel.prototype.registerMutationEventListeners): Append the window to
        _mutationMonitoredWindows and call _addMutationEventListeners.
        (WebInspector.ElementsPanel.prototype.unregisterMutationEventListeners): Remove the window from
        _mutationMonitoredWindows and call _removeMutationEventListeners.
        (WebInspector.ElementsPanel.prototype.unregisterAllMutationEventListeners): Call
        _removeMutationEventListeners for all windows in _mutationMonitoredWindows and
        clear _mutationMonitoredWindows.
        (WebInspector.ElementsPanel.prototype._contentLoaded): Append the node and parent
        to the recentlyModifiedNodes array. Call _updateModifiedNodesSoon if visible.
        (WebInspector.ElementsPanel.prototype._nodeInserted): Ditto.
        (WebInspector.ElementsPanel.prototype._nodeRemoved): Ditto.
        (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon): Call
        _updateModifiedNodes on a zero timeout.
        (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Iterate over
        the recentlyModifiedNodes array and call updateChildren on all the parent
        elements that had changes. Only calls updateChildren once per parent element.
        (WebInspector.ElementsPanel.prototype._isAncestorIncludingParentFrames): Return
        false if the nodes are the same. Return true if the nodes are the same while
        looking at ancestor frame elements. THis use to return false, which was incorrect.
        (WebInspector.DOMNodeTreeElement.prototype.onpopulate): Call updateChildren.
        (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Copied from
        onpopulate and changed to rebuild the children elements by adding new children,
        moving existing children and removed old children.
        (WebInspector.DOMNodeTreeElement.prototype.onexpand): If the node has a contentDocument
        call registerMutationEventListeners to track any mutations.
        * page/inspector/inspector.js:
        (WebInspector.inspectedWindowCleared): Call ElementsPanel.inspectedWindowCleared.
        * page/inspector/treeoutline.js:
        (TreeElement.prototype.get hasChildren): Return _hasChildren.
        (TreeElement.prototype.set hasChildren): Set _hasChildren and update the className.
        (TreeElement.prototype.hasAncestor): Return true if the element has the passed in ancestor.
        (TreeElement.prototype.expand): Fix an exception that can happen if expand is
        called before _attach.
        * WebCore/manual-tests/inspector/dom-mutation.html: Added.
        * WebCore/manual-tests/inspector/resources/mutate-frame-2.html: Added.
        * WebCore/manual-tests/inspector/resources/mutate-frame.html: Added.

2008-07-22  Timothy Hatcher  <timothy@apple.com>

        Fix an exception that occurred when double clicking the closing tag
        of an element in the DOM tree.

        Reviewed by Anders Carlsson.

        * page/inspector/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype._ondblclick): Null check
        element.ondblclick.

2008-07-22  Timothy Hatcher  <timothy@apple.com>

        Fix a regression where elements in subframes would not be revealed
        or selected when inspected from the context menu. This was caused by
        JavaScript equality is not being true for JSInspectedObjectWrappers
        of the same node wrapped with different global ExecStates. This change
        adds a helper function that uses isSameNode to compare wrapped nodes.

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

        Reviewed by Adam Roben.

        * page/inspector/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.set rootDOMNode): Use objectsAreSame
        to compare nodes.
        (WebInspector.ElementsPanel.prototype.set focusedDOMNode): Ditto.
        (WebInspector.ElementsPanel.prototype.set hoveredDOMNode): Ditto. 
        (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Ditto.
        (WebInspector.ElementsPanel.prototype.revealNode): Ditto.
        (WebInspector.ElementsPanel.prototype.updateBreadcrumb): Ditto.
        (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Ditto.
        * page/inspector/treeoutline.js:
        (TreeOutline.prototype.findTreeElement): Add an equal argument
        to accept a functions to compare two representedObjects. Defaults
        to strict equal if not supplied. All current clients pass objectsAreSame.
        * page/inspector/utilities.js:
        (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Use objectsAreSame
        to compare nodes.
        (Node.prototype.enclosingNodeOrSelfWithClass): Ditto.
        (Element.prototype.query): Use the ownerDocument of the node, not document.
        (objectsAreSame): Added. Compares strict equal first, then uses isSameNode if
        it exists on both objects.
        (isAncestorNode): Use objectsAreSame to compare nodes.
        (firstCommonNodeAncestor): Ditto.
        (traverseNextNode): Ditto.

2008-07-21  Timothy Hatcher  <timothy@apple.com>

        Added InspectorController.isWindowVisible to the JavaScript class
        for use in an upcoming change. This will allow the Inspector to not
        perform selective actions while the window is hidden.

        Reviewed by Adam Roben.

        * page/InspectorController.cpp:
        (WebCore::isWindowVisible): Call InspectorController::windowVisible.
        (WebCore::InspectorController::windowScriptObjectAvailable): Add
        the isWindowVisible function to the JavaScript class.

2008-07-21  Timothy Hatcher  <timothy@apple.com>

        Added TreeOutline.removeChildAtIndex and TreeElement.removeChildAtIndex
        for efficiency of callers that know the index of the child. This
        will be used in an upcoming change.

        Reviewed by Adam Roben.

        * page/inspector/treeoutline.js:
        (TreeOutline._removeChildAtIndex): Renamed from _removeChild
        and modified to take an index.
        (TreeOutline._removeChild): Call _removeChildAtIndex with the
        child index found using indexOf.
        (TreeOutline.prototype.removeChildAtIndex): Added. Calls
        TreeOutline._removeChildAtIndex.
        (TreeElement.prototype.removeChildAtIndex): Ditto.

2008-07-21  Timothy Hatcher  <timothy@apple.com>

        Fixes a regression where TreeOutline.findTreeElement would
        return the parent TreeElement of the representedObject instead
        of the TreeElement for the representedObject. Regressed with the
        fix for bug 19164.

        Reviewed by Adam Roben.

        * page/inspector/treeoutline.js:
        (TreeOutline.prototype.findTreeElement): When performing a slow search,
        do a final search for representedObject instead of returning item, which
        is the parent of representedObject.

2008-07-23  Adele Peterson  <adele@apple.com>

        Reviewed by Adam.

        WebCore part of fix for <rdar://problem/5698672>  Add drawing callback for a WebKit app to draw its own scrollbars

        * WebCore.base.exp: Added symbols.
        * page/Chrome.cpp:
        (WebCore::ChromeClient::paintCustomScrollbar): Added. Calls up to WebKit, which will call a new delegate method.
        (WebCore::ChromeClient::paintCustomScrollCorner): ditto.
        * page/ChromeClient.h:
        * page/Settings.cpp:
        (WebCore::Settings::Settings): Added the ability to store whether or not the application has decided to draw its own scrollbars.
        (WebCore::Settings::setShouldPaintCustomScrollbars):
        * page/Settings.h: (WebCore::Settings::shouldPaintCustomScrollbars):
        * platform/ScrollBar.h: Moved ScrollbarControlSize enum to ScrollTypes.h
        * platform/ScrollTypes.h: (WebCore::): Moved some existing types, and added new ones to be used in WebCore in WebKit.
        * platform/win/PlatformScrollBar.h: Moved ScrollbarPart enum to ScrollTypes.h
        * platform/win/PlatformScrollBarSafari.cpp:
        (WebCore::ScrollbarPartToScrollBarPiece): Added helper function.
        (WebCore::ScrollBarPieceMaskToScrollbarControlPartMask): ditto.
        (WebCore::ScrollbarControlStateFromThemeState): ditto.
        (WebCore::PlatformScrollbar::paint): Consolidated painting so the logic for the individual pieces is all in one place.
         Added new code to paint the custom scrollbars if necessary.
        * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::paint): Added code to paint the custom scroll corner if necessary.

2008-07-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Cleanup and pack the member variables in Node.

        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::mark):
        * dom/Attr.cpp:
        (WebCore::Attr::Attr):
        * dom/Attr.h:
        (WebCore::Attr::specified):
        (WebCore::Attr::setSpecified):
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::setFocus):
        * dom/Document.cpp:
        (WebCore::Document::adoptNode):
        * dom/Element.cpp:
        (WebCore::Element::~Element):
        (WebCore::Element::rareData):
        (WebCore::Element::createRareData):
        * dom/Element.h:
        (WebCore::Element::hasRareData):
        (WebCore::Element::setHasRareData):
        * dom/Node.h:
        (WebCore::Node::setIsLink):
        (WebCore::Node::inSubtreeMark):
        (WebCore::Node::setInSubtreeMark):
        (WebCore::Node::attrWasSpecifiedOrElementHasRareData):
        (WebCore::Node::setAttrWasSpecifiedOrElementHasRareData):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::supportsFocus):
        (WebCore::HTMLAnchorElement::isFocusable):
        (WebCore::HTMLAnchorElement::defaultEventHandler):
        (WebCore::HTMLAnchorElement::parseMappedAttribute):
        (WebCore::HTMLAnchorElement::isLiveLink):
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::parseMappedAttribute):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setInputType):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::attach):
        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::svgAttributeChanged):
        (WebCore::SVGAElement::defaultEventHandler):

2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>

        Reviewed by Adele.

        Follow-up fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document

        Associate MovieControllers with Movies to support all of the media types QuickTime is able to play in standalone media documents.

        * platform/graphics/win/QTMovieWin.cpp:
        (QTMovieWinPrivate::QTMovieWinPrivate):
        (QTMovieWinPrivate::~QTMovieWinPrivate):
        (QTMovieWinPrivate::task):
        (QTMovieWinPrivate::createMovieController):
        (QTMovieWinPrivate::createGWorld):
        (QTMovieWinPrivate::setSize):
        (QTMovieWinPrivate::deleteGWorld):
        (QTMovieWin::play):
        (QTMovieWin::pause):
        (QTMovieWin::setRate):
        (QTMovieWin::setCurrentTime):
        (QTMovieWin::load):

2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>

        Reviewed by Adele.

        Added a debug mode for viewing frames per second for videos.  This is controlled by two 
        independent compiler flags DRAW_FRAME_RATE in MediaPlayerPrivateQTKit.h and MediaPlayerPrivateQuickTimeWin.h.
        Unless either flags is turned on there is no change to the code for video frame drawing.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::play):
        (WebCore::MediaPlayerPrivate::pause):
        (WebCore::MediaPlayerPrivate::didEnd):
        (WebCore::MediaPlayerPrivate::repaint):
        (WebCore::MediaPlayerPrivate::paint):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::play):
        (WebCore::MediaPlayerPrivate::pause):
        (WebCore::MediaPlayerPrivate::didEnd):
        (WebCore::MediaPlayerPrivate::paint):
        (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:

2008-07-23  Adele Peterson  <adele@apple.com>

        Reviewed by Sam.

        Fix for <rdar://problem/6080634> use lower quality CG interpolation in MediaPlayerPrivateQTKit to improve performance

        * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawImage):
        Call setImageInterpolationQuality(InterpolationNone) instead of setUseLowQualityImageInterpolation(true).
        * platform/graphics/GraphicsContext.h:
        (WebCore::): Added InterpolationQuality enum.
        (WebCore::GraphicsContext::setImageInterpolationQuality): Renamed from setUseLowQualityImageInterpolation.
        The implementation was always setting the quality to "none", and now we want to distinguish between "none" and "low".
        (WebCore::GraphicsContext::imageInterpolationQuality): Renamed from useLowQualityImageInterpolation.
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setImageInterpolationQuality): Added.
        (WebCore::GraphicsContext::imageInterpolationQuality): Added.
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::paint):
        Calls setImageInterpolationQuality(InterpolationLow) which will improve the painting performance without degrading quality too much.

2008-07-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Remove extraneous allocations by using equalIgnoringCase rather than
        String::lower.

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::addCSSColor):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::checkForNameMatch):
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::getNamedFormItem):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::containsJavaApplet):
        * html/PreloadScanner.cpp:
        (WebCore::PreloadScanner::emitCSSRule):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::createJavaAppletWidget):
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::modify):
        * rendering/RenderPartObject.cpp:
        (WebCore::RenderPartObject::updateWidget):

2008-07-23  Maxime Britto  <britto@apple.com>

        Reviewed by Adam Roben.

        <rdar://6092952> "REGRESSION: Crash beneath EventHandler::stopAutoscrollTimer() when closing Gmail"
        Add a check for the m_page member value before asking for page()->mainFrame()

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

2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>

       Reviewed by Adele.

       Fix for <rdar://problem/5710065> QT movies should be inactive when opened

       Implemented deferral of set-up of video rendering on Mac until the ready state is Loaded and 
       until after movie tracks of unsupported types have been disabled, to make sure they never draw.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::load):
        (WebCore::MediaPlayerPrivate::updateStates):
        (WebCore::MediaPlayerPrivate::setVisible):

2008-07-22  Maxime Britto  <britto@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/6083116>
        When pan-scrolling, Back then Forward causes pan-scrolling to start again

        * page/Frame.cpp:
        (WebCore::Frame::clearTimers): Ask to stop the autoscroll timer when we clear the timers from the frame
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::scrollToAnchor): When the link is an anchor we Frame::clearTimers() isn't called since we're only scrolling the page so we need to ask to stop the autoscroll timer here too.

2008-07-22  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt and Sam Weinig.

        Next step toward putting doubles in registers: Prepare the Register class
        and its clients for registers that don't contain JSValue*s.
        
2008-07-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        <rdar://problem/5788451> toDataURL not implemented for Windows (need mapping of MIME type to UTI)
        Add additional support for JPEG and GIF for toDataURL encoding canvases.

        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedImageMIMETypesForEncoding):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::utiFromMIMEType):

2008-07-22  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Dave Hyatt.

        <rdar://problem/6004877> internal anchors on this page are not showing up in the AXLinkedUIElements
        Test: accessibility/internal-link-anchors2.html

        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::internalLinkElement):

2008-07-22  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Allocate the empty StringImpl from the heap.
        
        * platform/text/StringImpl.cpp:
        (WebCore::StringImpl::empty):

2008-07-21  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        <rdar://problem/5951532> JSProfiler: Implement heavy (or bottom-up)
        view (19228)
        - Implement UI for Heavy (Bottom Up) view.

        * English.lproj/localizedStrings.js:
        * page/JavaScriptProfile.cpp: Expose the ability to get a heavy/tree
        profile from a profile to the Web Inspector's JavaScript.
        (WebCore::getHeavyProfileCallback):
        (WebCore::getTreeProfileCallback):
        (WebCore::ProfileClass):
        * page/inspector/ProfileView.js: Implement the dropdown for changing
        profile views.
        * page/inspector/inspector.css:

2008-07-22  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Adam Roben.

        <rdar://problem/5955602> WebKit should support charset name x-windows-949

        Test: fast/encoding/char-decoding.html

        * platform/text/TextCodecICU.cpp:
        (WebCore::TextCodecICU::registerExtendedEncodingNames): Added support for this name for
        Firefox compatibility.

2008-07-22  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Alexey Proskuryakov.

        New test to check that arrays fail gracefully (throw an out of memory exception)
        when the vector grows to large.

        * manual-tests/array-out-of-memory.html: Added.

2008-07-21  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=20117
        setBaseAndExtent fails to reverse the current selection

        Test: editing/selection/setBaseAndExtent-revert-selection.html

        * editing/Selection.h: (WebCore::operator==): Compare direction, too.

2008-07-21  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Sam Weinig.

        Bug 19919: Add selectors' string parsing in CSSParser
        https://bugs.webkit.org/show_bug.cgi?id=19919

        No functional change.

        * css/CSSGrammar.y: Added entry for parsing only a selector.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::parseSelector):
        * css/CSSParser.h: Added m_floatingSelector to hold the
        Selector parsed in parseSelector.

        * css/tokenizer.flex: Added "@-webkit-selector" token.
        * dom/Node.cpp:
        (WebCore::Node::querySelector):
        (WebCore::Node::querySelectorAll): Switched to parseSelector
        method.

2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>

        Reviewed by Adele.

        Fix for <rdar://problem/6081160> REGRESSION: Hang loading many pages if QuickTime isn't installed

        * platform/graphics/win/QTMovieWin.cpp:
        (initializeSupportedTypes): Do a Quicktime version minimum version check.
        (QTMovieWin::initializeQuickTime): Store the Quicktime version globally so in can be used in initializeSupportedTypes as well.

2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>

        Reviewed by Adele.

        Fix for <rdar://problem/5713336> <video> and <audio> elements that use a autoplay attribute fail to start playing when returning back to page

        * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::willSaveToCache): Reset the ready state to DATA_UNAVAILABLE when saving to the cache
        so that everything starts back up normally when the page is retrieved from the cache.

2008-07-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Remove unused interface declaration.

        * platform/network/mac/ResourceHandleMac.mm:

2008-07-21  Mark Rowe  <mrowe@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.

        * Configurations/Version.xcconfig:
        * Info.plist:

2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>

        Reviewed by Adele.

        Fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document

        * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::inMediaDocument): Added.
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::updateStates):

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

        Reviewed by Jon.

        Don't allow requests to be made when the document loader is stopping all loaders.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::load):

2008-07-20  Maxime Britto  <britto@apple.com>

        Reviewed by John Sullivan.

        [PFR] <rdar://problem/6080639> New middle click scrolling speed seems much slower than in FF
        Accelerate and enhance the smoothness of the pan scrollling.

        * page/EventHandler.cpp: Changed the TimerInterval from 0.1 to 0.05. The scrolling is way more fluid like this.
        * rendering/RenderLayer.cpp: 
        (WebCore::RenderLayer::panScrollFromPoint): Differentiate the speed within a 200 pixel side square, around the original click location to the speed for farther distances. This way we allow easyier handle when we are close to the center and very fast scrolling when we go far from the original point.

2008-07-18  David Hyatt  <hyatt@apple.com>

        Change the cached clip rects to not assume they should be infinite when the root layer has been
        shifted as the result of a transformation.

        Reviewed by Maciej

        Added fast/transforms/overflow-with-transform.html

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

2008-07-21  Rob Buis  <buis@kde.org>

        Reviewed by Mitz.

        https://bugs.webkit.org/show_bug.cgi?id=19966
        CSS variables crash when using hex notation for colors

        Support hex colors as values for the css variables.

        Test: fast/css/variables/color-hex-test.html

        * css/CSSParserValues.cpp:
        (WebCore::CSSParserValue::createCSSValue):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::parserValue):
        * css/CSSVariablesRule.cpp:

2008-07-21  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Holger.

        Fix drawing of windowless plugins on Windows with the Qt port by
        avoiding the reset of the translation of the HDC to 0, 0.

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::paint):

2008-07-21  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Holger.

        Fix rendering of transparent windowless netscape plugins by passing
        the right conversion parameter to QPixmap::fromWinHBITMAP when
        converting from HBITMAP to QPixmap.

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

2008-07-21  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Holger.

        In the implementation of getValue for NPNVnetscapeWindow treat
        windowHandleForPlatformWidget on the return value of
        containingWindow() to receive the correct HWND for the Qt port.

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

2008-07-21  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Holger.

        Fix windowHandleForPlatformWidget to return 0 as HWND if we don't have
        a QWidget. This can happen on page/view destruction for example.

        * plugins/win/PluginViewWin.cpp:
        (windowHandleForPlatformWidget):

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

        Touch file to force rebuild for vsprops change.

        * WebCorePrefix.h:

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

        Remove extra space Oliver Hunt left in.

        * page/Console.cpp:
        (WebCore::Console::reportException):
        (WebCore::Console::reportCurrentException):

2008-07-20  Oliver Hunt  <oliver@apple.com>

        Reviewed by Dan Bernstein.

        Bug 19757: Crash when an ondragstart handler hides the element
        <https://bugs.webkit.org/show_bug.cgi?id=19757>

        The solution to this is problem is just to null check the renderer
        immediately before launching the system drag, and terminate the
        drag if the renderer is gone.

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

2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

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

        Remove manual SVG property <-> XML attribute synchronization in SVGPolyElement.
        Added svg/custom/poly-points-attribute-changes.svg (testcase from Rob)

        * svg/SVGPointList.cpp:
        (WebCore::SVGPointList::valueAsString):
        * svg/SVGPointList.h:
        (WebCore::SVGPointList::create):
        * svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::SVGPolyElement):
        (WebCore::SVGPolyElement::svgAttributeChanged):
        (WebCore::SVGPolyElement::updateAnimatedSVGAttribute):
        * svg/SVGPolyElement.h:

2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

        Cleanup JSSVGPODTypeWrapper code.

        Rename: JSSVGPODTypeWrapperCreatorReadOnly -> JSSVGStaticPODTypeWrapper
                JSSVGPODTypeWrapperReadWrite       -> JSSVGDynamicPODTypeWrapper
                JSSVGPODTypeWrapperCache           -> JSSVGDynamicPODTypeWrapperCacheCache

        No functional changes.

        * bindings/js/JSSVGMatrixCustom.cpp:
        (WebCore::JSSVGMatrix::multiply):
        (WebCore::JSSVGMatrix::inverse):
        (WebCore::JSSVGMatrix::translate):
        (WebCore::JSSVGMatrix::scale):
        (WebCore::JSSVGMatrix::scaleNonUniform):
        (WebCore::JSSVGMatrix::rotate):
        (WebCore::JSSVGMatrix::rotateFromVector):
        (WebCore::JSSVGMatrix::flipX):
        (WebCore::JSSVGMatrix::flipY):
        (WebCore::JSSVGMatrix::skewX):
        (WebCore::JSSVGMatrix::skewY):
        * bindings/js/JSSVGPODTypeWrapper.h:
        (WebCore::JSSVGDynamicPODTypeWrapper::create):
        (WebCore::JSSVGDynamicPODTypeWrapper::operator PODType):
        (WebCore::JSSVGDynamicPODTypeWrapper::JSSVGDynamicPODTypeWrapper):
        (WebCore::JSSVGStaticPODTypeWrapper::create):
        (WebCore::JSSVGStaticPODTypeWrapper::operator PODType):
        (WebCore::JSSVGStaticPODTypeWrapper::JSSVGStaticPODTypeWrapper):
        (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
        (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType):
        (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
        (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
        (WebCore::PODTypeWrapperCacheInfo::operator==):
        (WebCore::PODTypeWrapperCacheInfoHash::hash):
        (WebCore::PODTypeWrapperCacheInfoHash::equal):
        (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
        (WebCore::PODTypeWrapperCacheInfoTraits::constructDeletedValue):
        (WebCore::PODTypeWrapperCacheInfoTraits::isDeletedValue):
        (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
        (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
        (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
        * bindings/js/JSSVGPointListCustom.cpp:
        (WebCore::finishGetter):
        (WebCore::finishSetter):
        (WebCore::finishSetterReadOnlyResult):
        (WebCore::JSSVGPointList::initialize):
        (WebCore::JSSVGPointList::insertItemBefore):
        (WebCore::JSSVGPointList::replaceItem):
        (WebCore::JSSVGPointList::appendItem):
        * bindings/js/JSSVGTransformListCustom.cpp:
        (WebCore::finishGetter):
        (WebCore::finishSetter):
        (WebCore::finishSetterReadOnlyResult):
        (WebCore::JSSVGTransformList::initialize):
        (WebCore::JSSVGTransformList::getItem):
        (WebCore::JSSVGTransformList::insertItemBefore):
        (WebCore::JSSVGTransformList::replaceItem):
        (WebCore::JSSVGTransformList::removeItem):
        (WebCore::JSSVGTransformList::appendItem):
        * bindings/scripts/CodeGeneratorJS.pm:

2008-07-19  Oliver Hunt  <oliver@apple.com>

        Reviewed by Mark Rowe.

        Bug 15979: Console logs in a database callback lose line number information
        <https://bugs.webkit.org/show_bug.cgi?id=15979>

        The problem was that there were multiple versions of the logic to
        log an exception to the console, many of which were incorrect.  We
        resolve this by making one single shared reportException method,
        which handles the exceptions correctly.

        This improves fidelity of callback errors, and ensures that
        exceptions thrown in timer callbacks correctly report line numbers,
        etc.

        Test: fast/js/exceptions-thrown-in-callbacks.html

        * 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/JSEventListener.cpp:
        (WebCore::JSAbstractEventListener::handleEvent):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluate):
        * bindings/objc/WebScriptObject.mm:
        (WebCore::addExceptionToConsole):
        * page/Console.cpp:
        (WebCore::Console::reportException):
        * page/Console.h:

2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>

        Rubber stamped by Oliver.

        Another attempt to fix the win build.

        * svg/SVGAnimatedProperty.h:

2008-07-20  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by David Kilzer.

        Fix high CPU usage on testmyiphone.com.

        - Made the logic for determining when to stop looking for meta charset more strainghtforward.
        Previously, this happened if a tag that's disallowed in HEAD was seen past the first 512
        bytes. Now, the algorithm bails out at the boundary if we are lo longer in HEAD (i.e, an
        offending tag was seen at any point before).

        - The above change made one of our regression tests fail, because it had its <meta>
        declaration past the 512 byte boundary. Fixed it by raising the boundary to 1024 bytes.

        - Made the algorithm bail out quickly if a comment that's not in HEAD crosses the boundary.

        - Moved a check for XML content type out of the loop.

        * loader/TextResourceDecoder.cpp:
        (WebCore::TextResourceDecoder::checkForHeadCharset): 

2008-07-20  Oliver Hunt  <oliver@apple.com>

        Reviewed by NOBODY (build fix).

        Attempt to fix windows build

        * svg/SVGAnimatedProperty.h:

2008-07-19  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver & parts by Eric.

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

        Rewrite animated property concept without heavy macro usage, replace by a templatified solution.
        Fewer virtual function calls, no more usage of the tear-off's within internal code (synchronization needed it before.)

        * dom/Element.cpp:
        (WebCore::Element::attributes):
        (WebCore::Element::getAttribute):
        (WebCore::Element::hasAttributes):
        * dom/Element.h:
        (WebCore::Element::updateAnimatedSVGAttribute): Take const String&, not StringImpl*.
        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::SVGAElement):
        * svg/SVGAElement.h:
        * svg/SVGAltGlyphElement.h:
        * svg/SVGAnimatedProperty.h: Added.
        * svg/SVGAnimatedTemplate.h:
        (WebCore::lookupOrCreateWrapper):
        * svg/SVGAnimationElement.h:
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::SVGCircleElement):
        * svg/SVGCircleElement.h:
        * svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::SVGClipPathElement):
        * svg/SVGClipPathElement.h:
        * svg/SVGComponentTransferFunctionElement.cpp:
        (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
        * svg/SVGComponentTransferFunctionElement.h:
        * svg/SVGCursorElement.cpp:
        (WebCore::SVGCursorElement::SVGCursorElement):
        * svg/SVGCursorElement.h:
        * svg/SVGDefsElement.h:
        (WebCore::SVGDefsElement::contextElement):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::updateAnimatedSVGAttribute):
        * svg/SVGElement.h:
        (WebCore::SVGElement::supplementalTransform):
        (WebCore::SVGElement::invokeSVGPropertySynchronizer):
        (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
        (WebCore::SVGElement::addSVGPropertySynchronizer):
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::SVGEllipseElement):
        * svg/SVGEllipseElement.h:
        * svg/SVGExternalResourcesRequired.cpp:
        (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
        * svg/SVGExternalResourcesRequired.h:
        * svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::SVGFEBlendElement):
        * svg/SVGFEBlendElement.h:
        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
        * svg/SVGFEComponentTransferElement.h:
        * svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::SVGFECompositeElement):
        * svg/SVGFECompositeElement.h:
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
        * svg/SVGFEDiffuseLightingElement.h:
        * svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
        * svg/SVGFEDisplacementMapElement.h:
        * svg/SVGFEFloodElement.h:
        * svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
        * svg/SVGFEGaussianBlurElement.h:
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::SVGFEImageElement):
        * svg/SVGFEImageElement.h:
        * svg/SVGFELightElement.cpp:
        (WebCore::SVGFELightElement::SVGFELightElement):
        * svg/SVGFELightElement.h:
        (WebCore::SVGFELightElement::contextElement):
        * svg/SVGFEMergeElement.h:
        * svg/SVGFEMergeNodeElement.cpp:
        (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
        * svg/SVGFEMergeNodeElement.h:
        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
        * svg/SVGFEOffsetElement.h:
        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
        * svg/SVGFESpecularLightingElement.h:
        * svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::SVGFETileElement):
        * svg/SVGFETileElement.h:
        * svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
        * svg/SVGFETurbulenceElement.h:
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::SVGFilterElement):
        * svg/SVGFilterElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        * svg/SVGFitToViewBox.cpp:
        (WebCore::SVGFitToViewBox::SVGFitToViewBox):
        * svg/SVGFitToViewBox.h:
        * svg/SVGFontElement.h:
        (WebCore::SVGFontElement::rendererIsNeeded):
        (WebCore::SVGFontElement::contextElement):
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
        * svg/SVGForeignObjectElement.h:
        * svg/SVGGElement.h:
        * svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::SVGGradientElement):
        * svg/SVGGradientElement.h:
        (WebCore::SVGGradientElement::contextElement):
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::SVGImageElement):
        * svg/SVGImageElement.h:
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::SVGLineElement):
        * svg/SVGLineElement.h:
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
        * svg/SVGLinearGradientElement.h:
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::SVGMarkerElement):
        (WebCore::SVGMarkerElement::canvasResource):
        * svg/SVGMarkerElement.h:
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::SVGMaskElement):
        * svg/SVGMaskElement.h:
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::SVGPathElement):
        (WebCore::SVGPathElement::parseMappedAttribute):
        * svg/SVGPathElement.h:
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::SVGPatternElement):
        * svg/SVGPatternElement.h:
        (WebCore::SVGPatternElement::contextElement):
        * svg/SVGPolyElement.h:
        * svg/SVGPreserveAspectRatio.cpp:
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
        * svg/SVGRadialGradientElement.h:
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::SVGRectElement):
        * svg/SVGRectElement.h:
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        * svg/SVGSVGElement.h:
        * svg/SVGScriptElement.cpp:
        * svg/SVGScriptElement.h:
        * svg/SVGStopElement.cpp:
        (WebCore::SVGStopElement::SVGStopElement):
        * svg/SVGStopElement.h:
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::SVGStyledElement):
        * svg/SVGStyledElement.h:
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
        * svg/SVGStyledTransformableElement.h:
        * svg/SVGSwitchElement.h:
        * svg/SVGSymbolElement.h:
        (WebCore::SVGSymbolElement::contextElement):
        * svg/SVGTRefElement.h:
        * svg/SVGTSpanElement.h:
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::SVGTextContentElement):
        * svg/SVGTextContentElement.h:
        (WebCore::SVGTextContentElement::contextElement):
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::SVGTextElement):
        * svg/SVGTextElement.h:
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::SVGTextPathElement):
        * svg/SVGTextPathElement.h:
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
        * svg/SVGTextPositioningElement.h:
        * svg/SVGTransformable.h:
        * svg/SVGURIReference.cpp:
        (WebCore::SVGURIReference::SVGURIReference):
        * svg/SVGURIReference.h:
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::SVGUseElement):
        * svg/SVGUseElement.h:
        * svg/SVGViewElement.h:
        * svg/SVGViewSpec.h:

2008-07-18  Maxime Britto  <britto@apple.com>

        Reviewed by Adele.
        
        Fixed <rdar://problem/6049803>
        Prevent the autoscroll to trigger in WebClips when starting or hovering on an editable field.

        Test: fast/events/autoscroll-with-non-scrollable-parent.html

        * ChangeLog:
        * page/EventHandler.cpp: Edited
        (WebCore::EventHandler::handleMousePressEvent): changed the name of the funtion called to canBeProgramaticallyScrolled()
        (WebCore::EventHandler::handleMouseDraggedEvent): prevent the autoscroll to keep looking for a renderer when it's already triggered
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollRectToVisible): verifies that the top layer can be programmatically scrolled before asking him to make the rect visible
        * rendering/RenderListBox.h:
        (WebCore::RenderListBox::canBeProgramaticallyScrolled):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::canBeProgramaticallyScrolled): Edited : For the 3rd case we want document's renderer to have scrollbar as it's the top layer   
        (WebCore::RenderObject::hasScrollableView): Verifies that the Object has a view with scrollBars
        * rendering/RenderObject.h: Renamed shouldAutosroll() for canBeProgramaticallyScrolled()
        * rendering/RenderTextControl.h:
        (WebCore::RenderTextControl::canBeProgramaticallyScrolled):

2008-07-18  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        <rdar://problem/6087283> Add support for uploading files via XMLHttpRequest

        - Overload XMLHttpRequests send() method to accept File tokens.

        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::send): 
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::send):
        * xml/XMLHttpRequest.h:

2008-07-18  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Cameron Zwarich.
        
        Three renames:
        
        "CallTypeNative" => "CallTypeHost"
        "code" => "byteCode"
        "generatedCode" => "generatedByteCode"

2008-07-18  Adele Peterson  <adele@apple.com>

        Reviewed by Dan Bernstein.

        I recently made a change to avoid fading media controls in and out if a video element actually only contains audio,
        which broke the code that did the same thing for audio elements that contain video (but don't actually display that video).
        This change will now check both the media element and the player to decide whether or not to make the controls persistent.

        * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):

2008-07-18  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by mitz

        Remove braces around single-line conditional.
        
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::computedTransform):

2008-07-18  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        getComputedStyle() for -webkit-transform should return 
        'none' for elements with no renderer, or those with no
        transform.

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

        Testcase: LayoutTests/fast/css/computed-style-without-renderer
                  LayoutTests/fast/css/computed-style-expected.txt

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

2008-07-18  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        Fix assertion about creating Length values with percentage types
        when blending transforms.
        https://bugs.webkit.org/show_bug.cgi?id=20086

        * rendering/style/RenderStyle.cpp:
        (WebCore::TranslateTransformOperation::blend):

2008-07-17  Jacob Refstrup  <jacob.refstrup@hp.com>

        Reviewed by rwlbuis@gmail.com

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

        - Added "@"{ident} rule (below other @-rules) to use flex for longest match
          (if an earlier rule - e.g. @media - also matches then flex chooses that one
           however, if a longer match - e.g. @mediaall matches flex will choose that)
        - Updated grammar to defined ATKEYWORD token and to use that instead of '@'
          in the error recovery grammar. 

        Test: css2.1/atrule_longest_match.html

        * ChangeLog:
        * css/CSSGrammar.y:
        * css/tokenizer.flex:

2008-07-17  David Hyatt  <hyatt@apple.com>

        Make sure the check to see if a frame/iframe is being rendered inside a transparency layer is
        recursive (and checks for transparency layers all the way up the ancestor document chain back to
        the top-level frame).

        Reviewed by Dan

        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):

2008-07-16  Jon Honeycutt  <jhoneycutt@apple.com>

        REGRESSION: Can't create windowless plug-in with Flash 9
        https://bugs.webkit.org/show_bug.cgi?id=20070

        Reviewed by Mark Rowe.

        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::determineQuirks): Reverse argument order;
        PlatformModuleVersion constructor takes leastSig, mostSig.

2008-07-16  Eric Seidel  <eric@webkit.org>

        Reviewed by mitz.

        Attempt to make initializeATSUStyle human-readable by
        splitting it out into better-named static inline functions.

        No functional changes, thus no tests.

        * platform/graphics/mac/FontMac.mm:
        (WebCore::fontHasMirroringInfo):
        (WebCore::disableLigatures):
        (WebCore::initializeATSUStyle):

2008-07-16  Eric Seidel  <eric@webkit.org>

        No review, build fix only.

        Attempt to fix Mac build

        * WebCore.xcodeproj/project.pbxproj: Make TextRun.h a private header.

2008-07-16  Eric Seidel  <eric@webkit.org>

        Reviewed by mitz.

        Make ATSULayoutParameters a real C++ class
        (Give it a destructor to clean up after itself)
        (Also use OwnArrayPtr instead of manual member cleanup)

        * platform/graphics/mac/FontMac.mm:
        (WebCore::ATSULayoutParameters::ATSULayoutParameters):
        (WebCore::ATSULayoutParameters::~ATSULayoutParameters):
        (WebCore::overrideLayoutOperation):
        (WebCore::ATSULayoutParameters::initialize):
        (WebCore::Font::selectionRectForComplexText):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):

2008-07-16  Eric Seidel  <eric@webkit.org>

        Reviewed by mitz.

        Make ownership of copied UChar buffer clearer
        (and more leak-proof) by using a OwnArrayPtr.

        No functional changes, thus no tests.

        * platform/graphics/mac/FontMac.mm:
        (WebCore::copyRunForDirectionalOverrideIfNecessary):
        (WebCore::Font::selectionRectForComplexText):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::offsetForPositionForComplexText):

2008-07-16  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Split out TextRun into its own header file.
        Re-order members to place all bools together
        (to allow compilers to better pack the struct)

        No functional changes, thus no tests.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/Font.h: Moved TextRun into its own file.
        * platform/graphics/TextRun.h: Split out from Font.h

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

        Reviewed by Dave Hyatt

        AnimationController needs to adjust z-index in the blended
        style in case opacity or transform were changed by blending.

        https://bugs.webkit.org/show_bug.cgi?id=20047
        
        Test: transitions/opacity-transition-zindex.html

        * page/AnimationController.cpp:
        (WebCore::AnimationController::updateImplicitAnimations):

2008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Sam.

        Fixes: https://bugs.webkit.org/show_bug.cgi?id=20052 
        Prepare SVGAnimatedProperty introduction.

        Export the tag & attribute names as string literals for SVGNames/XLinkNames and one property in HTMLNames. SVGAnimatedProperty
        contains two string literal template parameters, and we're using these exported string literals from {SVG,HTML,XLink}Names as input paramters.
        See https://bugs.webkit.org/show_bug.cgi?id=20051 for details.

        * dom/make_names.pl: Handle new params "exportString" / "exportStrings".
        * html/HTMLAttributeNames.in: Expose just the single "class" attribute, as string.
        * svg/svgattrs.in: Export all SVG attributes as strings.
        * svg/svgtags.in: Export all SVG tags as strings.
        * svg/xlinkattrs.in: Expose all XLink attributes as strings.

2008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric.

        Fixes: https://bugs.webkit.org/show_bug.cgi?id=10745 (SVGLength object needs some weight loss)
        Don't store a context pointer in SVGLength, saving memory. Let the caller of the value() & convertToSpecifiedUnits() pass it.

        Remove some uneeded contextElement() functions, by moving into approriate shared base classes.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSSVGLengthCustom.cpp: Added.
        (WebCore::JSSVGLength::value):
        (WebCore::JSSVGLength::convertToSpecifiedUnits):
        * bindings/scripts/CodeGeneratorObjC.pm:
        * css/CSSCursorImageValue.cpp:
        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::translationForAttributes):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::layout):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::calcViewport):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::layout):
        * rendering/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::calcViewport):
        * rendering/SVGCharacterLayoutInfo.cpp:
        (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
        (WebCore::SVGCharacterLayoutInfo::addStackContent):
        * rendering/SVGCharacterLayoutInfo.h:
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::buildTextChunks):
        * svg/SVGAnimateElement.h:
        * svg/SVGAnimateMotionElement.h:
        * svg/SVGAnimateTransformElement.h:
        * svg/SVGAnimationElement.h:
        (WebCore::SVGAnimationElement::contextElement):
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::SVGCircleElement):
        (WebCore::SVGCircleElement::parseMappedAttribute):
        (WebCore::SVGCircleElement::toPathData):
        * svg/SVGCursorElement.cpp:
        (WebCore::SVGCursorElement::SVGCursorElement):
        (WebCore::SVGCursorElement::parseMappedAttribute):
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::SVGEllipseElement):
        (WebCore::SVGEllipseElement::parseMappedAttribute):
        (WebCore::SVGEllipseElement::toPathData):
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::SVGFilterElement):
        (WebCore::SVGFilterElement::parseMappedAttribute):
        (WebCore::SVGFilterElement::canvasResource):
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
        (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
        (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
        (WebCore::SVGForeignObjectElement::parseMappedAttribute):
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::SVGImageElement):
        (WebCore::SVGImageElement::parseMappedAttribute):
        * svg/SVGLength.cpp:
        (WebCore::SVGLength::SVGLength):
        (WebCore::SVGLength::value):
        (WebCore::SVGLength::convertToSpecifiedUnits):
        (WebCore::SVGLength::PercentageOfViewport):
        * svg/SVGLength.h:
        * svg/SVGLength.idl:
        * svg/SVGLengthList.cpp:
        (WebCore::SVGLengthList::parse):
        * svg/SVGLengthList.h:
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::SVGLineElement):
        (WebCore::SVGLineElement::parseMappedAttribute):
        (WebCore::SVGLineElement::toPathData):
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
        (WebCore::SVGLinearGradientElement::parseMappedAttribute):
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::SVGMarkerElement):
        (WebCore::SVGMarkerElement::parseMappedAttribute):
        (WebCore::SVGMarkerElement::canvasResource):
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::SVGMaskElement):
        (WebCore::SVGMaskElement::parseMappedAttribute):
        (WebCore::SVGMaskElement::drawMaskerContent):
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::SVGPatternElement):
        (WebCore::SVGPatternElement::parseMappedAttribute):
        (WebCore::SVGPatternElement::buildPattern):
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
        (WebCore::SVGRadialGradientElement::parseMappedAttribute):
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::SVGRectElement):
        (WebCore::SVGRectElement::parseMappedAttribute):
        (WebCore::SVGRectElement::toPathData):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        (WebCore::SVGSVGElement::viewport):
        (WebCore::SVGSVGElement::parseMappedAttribute):
        (WebCore::SVGSVGElement::getCTM):
        (WebCore::SVGSVGElement::getScreenCTM):
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::SVGTextContentElement):
        (WebCore::SVGTextContentElement::parseMappedAttribute):
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::SVGTextPathElement):
        (WebCore::SVGTextPathElement::parseMappedAttribute):
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::parseMappedAttribute):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::SVGUseElement):
        (WebCore::SVGUseElement::parseMappedAttribute):
        (WebCore::SVGUseElement::buildPendingResource):
        (WebCore::SVGUseElement::buildInstanceTree):
        (WebCore::SVGUseElement::handleDeepUseReferencing):
        (WebCore::SVGUseElement::alterShadowTreeForSVGTag):
        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
        * svg/SVGUseElement.h:
        * svg/SynchronizableTypeWrapper.h:
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::size):

2008-07-16  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Support for JavaScriptCore's first step toward putting doubles in
        registers: Treat ArgList iterators as Register*'s, not JSValue*'s.

        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):

2008-07-15  Maxime Britto  <britto@apple.com>

        Reviewed by Eric.

        https://bugs.webkit.org/show_bug.cgi?id=17589
        <rdar://problem/5770893>
        Retrieve the wheel sensitivity setting from windows system settings for the horizontal and the vertical scrolling.
        Allows the page scrolling with the wheel (if activated in windows settings) on both horizontal and vertical ways
        For the other platforms, nothing is changed but if someone want to activate this feature 
        he/she has to retrieve the settings and fill out the m_lineScrollSensitivity and/or m_charScrollSensitivity in his/her PlatformWheelEvent constructor.

        * ChangeLog:
        * page/EventHandler.cpp:
        (WebCore::scrollAndAcceptEvent): static inline function to avoid copy/paste in the member functions
        (WebCore::EventHandler::handleWheelEvent): Call to the above mentionned static inline function with the right parameters 
        * platform/PlatformWheelEvent.h:
        (WebCore::PlatformWheelEvent::deltaX): Now returns the delta multiplied by the user settings for the number of lines to scroll
        (WebCore::PlatformWheelEvent::deltaY): Now returns the delta multiplied by the user settings for the number of chars to scroll
        (WebCore::PlatformWheelEvent::isPageXScrollModeEnabled):
        (WebCore::PlatformWheelEvent::isPageYScrollModeEnabled):
        * platform/gtk/WheelEventGtk.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/mac/WheelEventMac.mm: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/qt/WheelEventQt.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/win/ScrollViewWin.cpp: Added the page scroll (horiz/vertical) and reduced the number of pixels to scroll per line to keep the standard behavior with the factor
        (WebCore::adjustDeltaForPageScrollMode): static inline function to avoid copy/paste in the member functions
        (WebCore::ScrollView::updateScrollbars):
        (WebCore::ScrollView::wheelEvent):
        * platform/win/WheelEventWin.cpp: Retrieves the new values by using the win32 API.
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/wx/MouseWheelEventWx.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):

2008-07-15  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fix - adding AccessibilityImageMapLink.cpp to the wx build.

        * WebCoreSources.bkl:

2008-07-15  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Dan.

        <rdar://problem/5620273> REGRESSION: Apparent caching between form
        submits twice (on Maconomy) (18401)

        Frames did not set the createdByParser flag even when they were.

        * html/HTMLElementFactory.cpp:
        (WebCore::frameConstructor):
        (WebCore::iframeConstructor):

2008-07-15  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19525
          <rdar://problem/5961768> -webkit-box-reflect in hyperlink causes webkit to crash

        Test: fast/reflections/inline-crash.html

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::setStyle): Added setHasReflection(false).
        Inline flows never have reflections.

2008-07-14  David Hyatt  <hyatt@apple.com>

        Allow <style> and <link> pretty much anywhere.  They will still be moved to the <head> if
        no <body> exists yet though.

        Reviewed by Sam

        Added fast/css/style-parsed-outside-of-head.html

        * html/HTMLElement.cpp:
        (WebCore::inlineTagList):

2008-07-15  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Geoff.

        Rename pageGroupIdentifier to profileGroup to keep mention of a
        pageGroup out of JavaScriptCore.

        * bindings/js/JSQuarantinedObjectWrapper.cpp:
        (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::clear):
        (WebCore::ScriptController::initScript):
        * history/CachedPage.cpp:
        (WebCore::CachedPage::restore):

2008-07-15  Adam Roben  <aroben@apple.com>

        WebCore part of adding WebKit[Set]ShouldUseFontSmoothing functions

        <rdar://6059127>

        Reviewed by John Sullivan.

        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::Font::drawGlyphs): Pass the result of
        WebCoreShouldUseFontSmoothing() into wkSetFontSmoothingStyle.
        * platform/win/WebCoreTextRenderer.cpp:
        (WebCore::WebCoreSetShouldUseFontSmoothing):
        (WebCore::WebCoreShouldUseFontSmoothing):
        Added.
        * platform/win/WebCoreTextRenderer.h:

2008-07-15  Adam Roben  <aroben@apple.com>

        Windows build fix

        * WebCore.vcproj/WebCore.vcproj: Add AccessibilityImageMapLink.{cpp,h}
        to the project.

2008-07-15  Holger Hans Peter Freyther  <zecke@selfish.org>

        Build fix for the Gtk+ and Qt platform.

        * GNUmakefile.am: Add AccessibilityImageMapLink.cpp to the build
        * WebCore.pro: Add AccessibilityImageMapLink.cpp to the build

2008-07-14  Dan Bernstein  <mitz@apple.com>

        - Tiger build fix

        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::paint):

2008-07-14  Dan Bernstein  <mitz@apple.com>

        Reviewed by John Sullivan.

        - WebCore part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:

        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::paint): Changed to account for the case of drawing
        into a bitmap context that is not a window's backing store. In that
        case, -displayRectIgnoringOpacity:inContext: is used to redirect the
        drawing to the correct context, after setting up the right transform
        on it. For subframes, additional code ensures that the scroll view will
        not paint the background behind a transparent frame.

2008-07-14  chris fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin

        <rdar://problem/6038106> AXChildren returned for this web area is null
        Accessibility of image maps needed to be updated

        Tests: accessibility/image-map1.html
               accessibility/image-map2.html

        * WebCore.xcodeproj/project.pbxproj:
        * page/AXObjectCache.cpp:
        (WebCore::AXObjectCache::get):
        * page/AccessibilityImageMapLink.cpp: Added.
        (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
        (WebCore::AccessibilityImageMapLink::~AccessibilityImageMapLink):
        (WebCore::AccessibilityImageMapLink::create):
        (WebCore::AccessibilityImageMapLink::parentObject):
        (WebCore::AccessibilityImageMapLink::anchorElement):
        (WebCore::AccessibilityImageMapLink::accessibilityDescription):
        (WebCore::AccessibilityImageMapLink::title):
        (WebCore::AccessibilityImageMapLink::elementRect):
        (WebCore::AccessibilityImageMapLink::size):
        * page/AccessibilityImageMapLink.h: Added.
        (WebCore::AccessibilityImageMapLink::setHTMLAreaElement):
        (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
        (WebCore::AccessibilityImageMapLink::roleValue):
        (WebCore::AccessibilityImageMapLink::accessibilityIsIgnored):
        (WebCore::AccessibilityImageMapLink::isLink):
        * page/AccessibilityListBoxOption.h:
        * page/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::selectedChildren):
        (WebCore::AccessibilityObject::visibleChildren):
        * page/AccessibilityObject.h:
        (WebCore::):
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::parentObject):
        (WebCore::AccessibilityRenderObject::isAnchor):
        (WebCore::AccessibilityRenderObject::anchorElement):
        (WebCore::AccessibilityRenderObject::helpText):
        (WebCore::AccessibilityRenderObject::intValue):
        (WebCore::AccessibilityRenderObject::stringValue):
        (WebCore::AccessibilityRenderObject::title):
        (WebCore::AccessibilityRenderObject::accessibilityDescription):
        (WebCore::AccessibilityRenderObject::elementRect):
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        (WebCore::AccessibilityRenderObject::roleValue):
        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
        (WebCore::AccessibilityRenderObject::addChildren):
        * page/AccessibilityRenderObject.h:
        * page/mac/AccessibilityObjectWrapper.mm:
        (convertToNSArray):
        (RoleEntry::):

2008-07-14  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by David Hyatt.

        Remove unused ExceptionCode parameter from compareDocumentPosition.

        * dom/Document.cpp:
        (WebCore::Document::addStyleSheetCandidateNode):
        * dom/Node.cpp:
        (WebCore::Node::compareDocumentPosition):
        * dom/Node.h:
        * dom/Node.idl:

2008-07-14  David Hyatt  <hyatt@apple.com>

        Fix for bugzilla bug 5476, link and style elements should be allowed outside the <head>.

        Reviewed by Sam

        Added fast/css/style-outside-head.html
        Added fast/css/link-outside-head.html

        * dom/Document.cpp:
        (WebCore::Document::addStyleSheetCandidateNode):
        (WebCore::Document::removeStyleSheetCandidateNode):
        (WebCore::Document::recalcStyleSelector):
        * dom/Document.h:
        * dom/Node.cpp:
        (WebCore::Node::compareDocumentPosition):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::checkStyleSheet):
        (WebCore::ProcessingInstruction::insertedIntoDocument):
        (WebCore::ProcessingInstruction::removedFromDocument):
        (WebCore::ProcessingInstruction::finishParsingChildren):
        * dom/ProcessingInstruction.h:
        (WebCore::ProcessingInstruction::setCreatedByParser):
        * dom/StyleElement.cpp:
        (WebCore::StyleElement::removedFromDocument):
        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::startElementNs):
        (WebCore::XMLTokenizer::processingInstruction):
        (WebCore::):
        * html/HTMLElementFactory.cpp:
        (WebCore::linkConstructor):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::HTMLLinkElement):
        (WebCore::HTMLLinkElement::insertedIntoDocument):
        (WebCore::HTMLLinkElement::removedFromDocument):
        (WebCore::HTMLLinkElement::finishParsingChildren):
        * html/HTMLLinkElement.h:
        (WebCore::HTMLLinkElement::setCreatedByParser):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::insertedIntoDocument):
        (WebCore::HTMLStyleElement::removedFromDocument):
        * svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::insertedIntoDocument):
        (WebCore::SVGStyleElement::removedFromDocument):

2008-07-14  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Sort interface extended attributes to appease *the* Mark Rowe.

        * page/DOMWindow.idl:

2008-07-14  Anders Carlsson  <andersca@apple.com>

        Reviewed by Geoff.

        <rdar://problem/6073974>
        https://bugs.webkit.org/show_bug.cgi?id=18106
        The "onscroll" event bubbles, which is inconsistent with Firefox and IE

        Don't bubble the scroll event.
        
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollToOffset):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::valueChanged):

2008-07-14  Adele Peterson  <adele@apple.com>

        Reviewed by Geoff.

        Fix for <rdar://problem/5784890> REGRESSION (Safari 3): Can't edit SpeedStream 4100 DSL modem settings

        The web server on this particular piece of hardware doesn't handle "text/xml" in the 
        Accept header if the headers are sent in a certain order.  Safari 2 used to send "*/*" in 
        the Accept header.  Firefox 2 sent "text/xml" but in an acceptable order for the web 
        server.  And Firefox 3 doesn't send "text/xml" at all in the Accept header since it 
        is being deprecated in favor of "application/xml".  We decided that the best solution is 
        to match Firefox 3 and stop sending "text/xml" in the Accept header.

        No test.  There appears to be no way to get the raw headers in the original order in perl/php.

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

2008-07-14  Sam Weinig  <sam@webkit.org>

        Reviewed by Adele Peterson.

        Fix for <rdar://problem/5769819>

        Test: http/tests/security/cross-frame-access-object-prototype.html

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::getPropertyAttributes): Perform security check.
        (WebCore::JSDOMWindow::defineGetter): Ditto.
        (WebCore::JSDOMWindow::defineSetter): Ditto.
        (WebCore::JSDOMWindow::lookupGetter): Ditto.
        (WebCore::JSDOMWindow::lookupSetter): Ditto.
        * bindings/scripts/CodeGeneratorJS.pm: Add support for custom versions
        of all the core JSObject functionality.
        * page/DOMWindow.idl: Override remaining core JSObject functionality,
        to inject security checks.

2008-07-14  Adam Roben  <aroben@apple.com>

        Windows build fixes

        * WebCore.vcproj/WebCore.vcproj: Add include/pthreads to the include
        path.
        * bindings/scripts/CodeGeneratorCOM.pm: Touched this to force COM
        bindings to regenerate.
        * loader/FTPDirectoryDocument.cpp:
        * loader/FTPDirectoryParser.cpp:
        Fixed some duplicate macro definitions now that we're including
        pthread.h again.

2008-07-14  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Kevin McCullough.

        Make JSGlobalData refcounted in preparation to adding a way to create contexts that share
        global data.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::commonJSGlobalData): Create JSGlobalData with create() method.

2008-07-14  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Holger.

        Make listDirectory() in the Qt port work with empty namefilters.
        Don't include . and .. to avoid scanning the parent directory.

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

2008-07-14  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Geoff Garen.

        Eliminate per-thread JavaScript global data instance support and make arbitrary
        global data/global object combinations possible.

        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData): Added.
        WebCore uses its own instance of JSGlobalData, as JSC no longer provides a per-thread one.

        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
        (WebCore::JSDOMWindowShell::operator new):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::clear):
        * bindings/scripts/CodeGeneratorJS.pm:
        Pass commonJSGlobalData() as an allocator.

        * bridge/c/c_utility.cpp:
        (KJS::Bindings::identifierFromNPIdentifier):
        * bridge/jni/jni_class.cpp:
        (JavaClass::JavaClass):
        * history/CachedPage.cpp:
        (WebCore::CachedPage::restore):
        * storage/Database.cpp:
        (WebCore::Database::Database):
        * bindings/js/GCController.cpp:
        (WebCore::collect):
        (WebCore::GCController::gcTimerFired):
        (WebCore::GCController::garbageCollectNow):
        Use JSDOMWindow::commonJSGlobalData().

        * ForwardingHeaders/wtf/ThreadSpecific.h: Added (collector.h now includes this header, so
        it need to be accesible outside of JSC).

        * WebCore.base.exp: Export JSDOMWindowBase::commonJSGlobalData().

2008-07-14  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        MinGW build fixes

        * plugins/win/PluginDatabaseWin.cpp:
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::handleMouseEvent):
        * svg/SynchronizableTypeWrapper.h:
        (WebCore::::SynchronizableTypeWrapper):

2008-07-13  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt and Dan Bernstein.

        Fix for <rdar://problem/5888127>
        https://bugs.webkit.org/show_bug.cgi?id=18699

        - Match Firefox in restricting the size of custom cursor to images to
          128x128 px.
        - Restrict custom cursor hotspots to values within the bounds of the
          cursor image.

        * manual-tests/cursor-max-size.html: Added.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::selectCursor):

2008-07-13  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fix.

        * platform/graphics/wx/AffineTransformWx.cpp:
        (WebCore::AffineTransform::a):
        (WebCore::AffineTransform::b):
        (WebCore::AffineTransform::c):
        (WebCore::AffineTransform::d):
        (WebCore::AffineTransform::e):
        (WebCore::AffineTransform::f):

2008-07-12  Dan Bernstein  <mitz@apple.com>

        Reviewed by Oliver Hunt.

        - fix https://bugs.webkit.org/show_bug.cgi?id=18088
          <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue

        Test: fast/block/basic/min-pref-width-nowrap-floats.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::calcInlinePrefWidths): Fixed a case where a
        float's width was added to the minimum preferred widths instead of just
        acting as a lower bound on the minimum preferred width (since the float
        can always be pushed down to be the only thing on the line).

2008-07-12  David D. Kilzer  <ddkilzer@webkit.org>

        Bug 13067: Manually adding #hash to URL reloads entire page instead of jumping to #hash location in cached page

        <https://bugs.webkit.org/show_bug.cgi?id=13067>

        Reviewed by Darin.

        Test: WebCore/manual-tests/hash-ref.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::load(const KURL& newURL, const String& referrer,
             FrameLoadType newLoadType, const String& frameName, Event* event,
             PassRefPtr<FormState> formState)): Extracted logic into
        shouldScrollToAnchor() for determining when to scroll to an anchor.

        (WebCore::FrameLoader::load(DocumentLoader* loader, FrameLoadType type,
             PassRefPtr<FormState> formState)): Added check for
        shouldScrollToAnchor() to catch cases when the user manually added a
        hash ref to the URL in the address bar.  This is the bug fix.

        (WebCore::FrameLoader::shouldReload): Simplified early return logic.
        We only need to check if the destinationURL has a hash ref, not the
        currentURL, per the comment in the method.

        (WebCore::FrameLoader::shouldScrollToAnchor): Added.  Logic extracted
        from the FrameLoader::load(const KURL& newURL, ...) method.  Fixed order
        of arguments to shouldReload() since they were backwards, although the
        previous logic in the method made this irrelevant.

        (WebCore::FrameLoader::loadItem): Removed call to shouldReload().  Since
        we're navigating to a HistoryItem, it doesn't make sense to ask whether
        we need to reload the page or not.  Additionally, the logic at the end
        of shouldReload() is also checked in urlsMatchItem(), so there's no need
        to call the method.  This fixed the fast/css/target-fragment-match.html
        test from continuously reloading after the other changes.

        * loader/FrameLoader.h:
        (WebCore::FrameLoader::shouldScrollToAnchor): Added.

        * manual-tests/hash-ref.html: Added.
        * manual-tests/resources/hash-ref-test.html: Added.

2008-07-11  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Darin Adler.

        No Functionality Changed.  Change all the leak counting code to use the new WTF leak counter class.

        * bindings/js/JSCustomSQLTransactionCallback.cpp:
        (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
        (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::JSEventListener):
        (WebCore::JSEventListener::~JSEventListener):
        * dom/Node.cpp:
        (WebCore::Node::Node):
        (WebCore::Node::~Node):
        * dom/Range.cpp:
        (WebCore::Range::Range):
        (WebCore::Range::~Range):
        * history/CachedPage.cpp:
        (WebCore::CachedPage::CachedPage):
        (WebCore::CachedPage::~CachedPage):
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::SubresourceLoader):
        (WebCore::SubresourceLoader::~SubresourceLoader):
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        (WebCore::Frame::~Frame):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::~Page):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::RenderObject):
        (WebCore::RenderObject::~RenderObject):
        * rendering/bidi.cpp:
        (WebCore::throw):
        (WebCore::BidiRun::operator delete):

2008-07-11  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Update getSubStringLength and selectSubString methods exception throwing conditions
        based on SVG working group errata.

        Test: svg/custom/selectSubString.html

        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::getSubStringLength):
        (WebCore::SVGTextContentElement::selectSubString):

2008-07-11  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        We can only use the Id fast path for querySelector and querySelectorAll
        if the selector is purely an Id selector.

        Test: fast/dom/SelectorAPI/id-fastpath.html

        * dom/Node.cpp:
        (WebCore::Node::querySelector):
        * dom/SelectorNodeList.cpp:
        (WebCore::createSelectorNodeList):

2008-07-11  David Hyatt  <hyatt@apple.com>

        Implement the DOM level 3 compareDocumentPosition method on Node.

        Reviewed by Darin

        * dom/Node.cpp:
        (WebCore::Node::compareDocumentPosition):
        * dom/Node.h:
        * dom/Node.idl:

2008-07-11  Brady Eidson  <beidson@apple.com>

        Rubberstamped by Sam

        Removed unneeded export

        * WebCore.base.exp:

2008-07-11  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Geoff.

        <rdar://problem/6067178> REGRESSION: Start profile button in profiler
        now profiles inspector rather than actual page (19833)
        - The JSQuarantinedObjectWrapper should use the wrapped exec state
        so that calls to it execute in its quarantined world.

        * bindings/js/JSQuarantinedObjectWrapper.cpp:
        (WebCore::JSQuarantinedObjectWrapper::construct):
        (WebCore::JSQuarantinedObjectWrapper::call):

2008-07-11  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        StyleRareNonInheritedData needs to initialize and compare
        m_maskBoxImage.
        <https://bugs.webkit.org/show_bug.cgi?id=20005>

        * rendering/style/RenderStyle.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):

2008-07-11  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        Bug 18885: RenderLayer::enclosingPositionedAncestor() should
        look for transforms, since transforms create containing
        blocks.
        <https://bugs.webkit.org/show_bug.cgi?id=18885>

        Test: fast/transforms/transform-positioned-ancestor.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::stackingContext):
        (WebCore::RenderLayer::enclosingPositionedAncestor):
        (WebCore::RenderLayer::enclosingTransformedAncestor):

2008-07-11  Jacob Refstrup  <jacob.refstrup@hp.com>

        Reviewed by Darin Adler

        http://bugs.webkit.org/show_bug.cgi?id=19978
        GTK port always ends up with # at the end of resource URLs (and hence can't load files)

        - Optimized KURL::removeRef() and used it rather than setRef("")
          which after r35040 does the wrong thing.

        * platform/KURL.cpp:
        (WebCore::KURL::removeRef):
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::initializeHandle):

2008-07-11  Simon Hausmann  <hausmann@webkit.org>

        Fix the Qt/Windows build, include windows.h for HWND directly
        instead of implicit inclusion through Timer.h.

        * plugins/win/PluginMessageThrottlerWin.h:

2008-07-11  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix popularity tracking for cached resources, which regressed in r23923

        * loader/Cache.cpp:
        (WebCore::Cache::requestResource): Changed to increase the access count
        whenever this function returns a CachedResource and the cache is
        enabled, instead of only when creating a new CachedResources. The
        incorrect behavior resulted in all resources in the cache having an
        access count of exactly 1 at all times.
        (WebCore::Cache::requestUserCSSStyleSheet): Ditto.

2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        Enable Netscape plugins for the Qt/Windows build.

        This required various smaller fixes across a wider set of
        files described below.

        * WebCore.pro: Add various windows specific files to the build.
        * page/Page.h: Extend the #ifdeffery for windows types to include the
        Qt/Windows build.
        * platform/graphics/GraphicsContext.h: Added inTransparencyLayer() for
        the Qt port, as PluginViewWin.cpp uses it.
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::inTransparencyLayer): Implemented function.
        * platform/qt/TemporaryLinkStubs.cpp: Mask out some stubs as they
        are now implemented through *Win.cpp files.
        * plugins/PluginDatabase.cpp: Change PLATFORM(WIN) to WIN_OS.
        * plugins/PluginView.cpp: Change PLATFORM(WIN) to WIN_OS.
        (WebCore::PluginView::setFrameGeometry): Ditto.
        (WebCore::PluginView::PluginView): Ditto.
        * plugins/PluginView.h: Introduce the PlatformPluginWidget typedef,
        which expands to HWND directly for the Qt/Windows build and
        PlatformWidget for the remaining platforms. That is because
        PlatformWidget is QWidget* for the Qt build but for the plugin
        window we need a native window, aka HWND.
        * plugins/win/PluginPackageWin.cpp: Fix compilation, include shlwapi.h
        after config.h.
        * plugins/win/PluginViewWin.cpp:
        (windowHandleForPlatformWidget): Added a little helper function to
        determine the HWND from a PlatformWidget.
        (WebCore::registerPluginView): For the Qt port we need to set the
        global application instance handle here in the library, as the
        browser doesn't do it.
        (WebCore::PluginView::handleMouseEvent): Mask out
        ignoreNextSetCursor/lastSetCursor for the Qt port, it's not used.
        (WebCore::PluginView::invalidateRect): Convert from IntRect to RECT
        manually just here to avoid compiling in IntRectWin.cpp.
        (WebCore::PluginView::invalidateRegion): Ditto.
        (WebCore::PluginView::forceRedraw): Call windowHandleForPlatformWidget
        on containingWindow() to get the correct HWND for the Qt port.
        (WebCore::PluginView::init): Determine the parent HWND for m_window
        using windowHandleForPlatformWidget.

2008-07-11  Simon Hausmann  <hausmann@webkit.org>

        Rubber-stamped by Holger.

        Enable Database and Icondatabase functionality for the Qt/Windows
        build when building inside Qt, as we can use the builtin copy of
        sqlite then.

        * WebCore.pro:

2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Adam Roben.

        Fix compile with MinGW since it does not like friend static function.

        * plugins/PluginView.h:
        * plugins/win/PluginViewWin.cpp:

2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        Fix Qt/Win32 build.

        * platform/graphics/qt/GraphicsContextQt.cpp:

2008-07-10  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

        Add support for NSResolver to resolve namespaces for querySelector 
        and querySelectorAll.

        - Namespace resolution is done after parsing by iterating over all the
          parts of the CSSSelector.

        Tests: fast/dom/SelectorAPI/NSResolver-basic.xhtml
               fast/dom/SelectorAPI/NSResolver-exceptions.xhtml

        * GNUmakefile.am: Updated with new files.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * WebCoreSources.bkl: Ditto.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::execStateFromNode):
        * bindings/js/JSDOMBinding.h:
        Move execStateFromNode here from NodeFilter.

        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::querySelector): Don't throw a NOT_SUPPORTED_ERR for NSResolver
        and instead create one if the argument is not undefined or null.
        (WebCore::JSDocument::querySelectorAll): Ditto.
        * bindings/js/JSDocumentFragmentCustom.cpp:
        (WebCore::JSDocumentFragment::querySelector): Ditto.
        (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
        * bindings/js/JSElementCustom.cpp:
        (WebCore::JSElement::querySelector): Ditto.
        (WebCore::JSElement::querySelectorAll): Ditto.

        * bindings/js/JSNSResolver.cpp: Added.
        (WebCore::JSNSResolver::JSNSResolver):
        (WebCore::JSNSResolver::mark):
        (WebCore::JSNSResolver::lookupNamespaceURI): Try and get the function
        from the passed in argument, either the value itself, or the result of
        getting the lookupNamespaceURI property, and call it.
        (WebCore::toNSResolver):
        * bindings/js/JSNSResolver.h: Added.
        (WebCore::JSNSResolver::create):

        * dom/Document.idl: Update with NSResolver parameter.
        * dom/DocumentFragment.idl: Ditto.
        * dom/Element.idl: Ditto.

        * dom/NSResolver.h: Added.
        (WebCore::NSResolver::~NSResolver):
        (WebCore::NSResolver::mark):
        Abstract base class.

        * dom/NSResolver.idl: Added.

        * dom/Node.cpp:
        (WebCore::forEachTagSelector):
        (WebCore::forEachSelector):
        Functions to iterate over all parts of the selector.

        (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
        Functor to be passed to forEachSelector to determine if a selector
        needs namespace resolution, for the case when no NSResolver is passed
        and we need to determine whether to throw a NAMESPACE_ERR.

        (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
        (WebCore::ResolveNamespaceFunctor::operator()):
        Functor to resolve namespaces for the selector.

        (WebCore::selectorNeedsNamespaceResolution):
        (WebCore::resolveNamespacesForSelector):
        (WebCore::Node::querySelector): Resolve namepspaces, including the defaultNamespace
        if a NSResolver is passed in.
        (WebCore::Node::querySelectorAll): Ditto.
        * dom/Node.h:

        * dom/NodeFilter.cpp:
        * dom/NodeFilter.h:
        * dom/NodeIterator.h:
        (WebCore::NodeIterator::nextNode):
        (WebCore::NodeIterator::previousNode):
        * dom/TreeWalker.h:
        (WebCore::TreeWalker::parentNode):
        (WebCore::TreeWalker::firstChild):
        (WebCore::TreeWalker::lastChild):
        (WebCore::TreeWalker::previousSibling):
        (WebCore::TreeWalker::nextSibling):
        (WebCore::TreeWalker::previousNode):
        (WebCore::TreeWalker::nextNode):
        Use the version of execStateFromNode in JSDOMBinding.

2008-07-10  Mark Rowe  <mrowe@apple.com>

        Reviewed by Sam Weinig.

        Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.

        * Configurations/WebCore.xcconfig:

2008-07-10  Dean Jackson  <dino@apple.com>

        Reviewed by hyatt.

        Calculate computed style for -webkit-transform property
        https://bugs.webkit.org/show_bug.cgi?id=19864

        Test: css3/transform-computed-style-001.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::computedTransform):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
            handles -webkit-transform property now
        * manual-tests/computed-transform-value.html: Added.

2008-07-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adam Roben.

        - fix a parse error in inspector.js

        * page/inspector/inspector.js: Added missing brace.

2008-07-10  Adam Roben  <aroben@apple.com>

        Build fix

        * WebCore.vcproj/QTMovieWin.vcproj: Add
        OSXCompatibilityHeaders[/GNUCompatibility] to the include path.

2008-07-10  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Dan Bernstein

        <rdar://problem/6067408> AX: internal anchors broken

        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::internalLinkElement):
        * platform/KURL.cpp:
        (WebCore::KURL::removeRef):
        * platform/KURL.h:

2008-07-10  Mark Rowe  <mrowe@apple.com>

        Build fix.

        * bridge/npapi.h: Remove extra comma.

2008-07-10  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Remove no-op debug method.

        * css/CSSSelector.cpp:
        * css/CSSSelector.h:

2008-07-10  Sam Weinig  <sam@webkit.org>

        Reviewed by Dave Hyatt and Darin Adler.

        Add support for calling querySelector and querySelectorAll on DocumentFragments

        - Fixes bug where nodes not in the document tree would not match based on ID due
          to over optimization.

        Test: fast/dom/SelectorAPI/detached-element.html

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSDocumentFragmentCustom.cpp: Added.
        (WebCore::JSDocumentFragment::querySelector): Add custom code matching JSElement
        and JSDocument that checks for a 2nd arguments and throws an exception indicating
        we do not currently support the optional NSResolver part of the Selectors API spec.
        (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
        * dom/DocumentFragment.idl: Add querySelector and querySelectorAll declarations.

        * dom/Node.cpp:
        (WebCore::Node::querySelector): Make the CSS parser parse the selector
        according to the strictness of the document so that mixed case ID selectors
        match in quirks mode.  Also, don't use the fast ID path if the root is not
        in the DOM tree, as it won't work.
        (WebCore::Node::querySelectorAll): Ditto.
        * dom/SelectorNodeList.cpp:
        (WebCore::createSelectorNodeList): Don't use the fast ID path if the root is not
        in the DOM tree, as it won't work.

2008-07-10  Anthony Ricaud  <rik24d@gmail.com>

        Bug 19389: querySelectorAll exception while searching invalid CSS selector
        <https://bugs.webkit.org/show_bug.cgi?id=19389>

        Reviewed by Tim Hatcher.

        * page/inspector/inspector.js: Added a try/catch block.

2008-07-10  Brent Fulgham  <bfulgham@gmail.com>

        Correct a build regression due to an uninitialized variable.

        <https://bugs.webkit.org/show_bug.cgi?id=19976>

        Reviewed by Darin.

        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs):

2008-07-10  Adam Roben  <aroben@apple.com>

        Fix Bug 19580: REGRESSION (r34432): PGO-only crash in
        HTMLCollection::resetCollectionInfo (codegen issue?)

        <https://bugs.webkit.org/show_bug.cgi?id=19580>
        <rdar://6029794>

        Reviewed by Cameron Zwarich.

        * WebCore.vcproj/WebCore.vcproj: Disable LTCG for HTMLFormElement.cpp,
        which was causing some bad codegen in HTMLFormElement::elements.
        * html/HTMLFormElement.cpp: Touched this file to force it to rebuild.

2008-07-10  Anders Carlsson  <andersca@apple.com>

        Reviewed by Jon.

        <rdar://problem/6067135>
        WebKit should respond true to a query for NPNVSupportsWindowless.
        
        Handle NPNVSupportsWindowless and return true.
        
        * bridge/npapi.h:
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::getValue):

2008-07-10  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Darin.

        -Minor cleanup. Renamed callTree() to head() and no longer use m_head
        directly but instead keep it private and access via a method().

        * page/JavaScriptProfile.cpp:
        (WebCore::getHeadCallback):

2008-07-10  Simon Fraser  <simon.fraser@apple.com>

        When a mask image changes, ensure that elements
        that use that mask image are repainted correctly.
        
        <https://bugs.webkit.org/show_bug.cgi?id=19954>
        
        Reviewed by Dave Hyatt

        * manual-tests/canvas-mask-redraw.html
          Manual testcase
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::imageChanged):
        (WebCore::RenderBox::repaintLayerRectsForImage):
        * rendering/RenderBox.h:
        Loop through background layers and mask layers, and
        if this image is used in a layer, compute a repaint
        rect and repaint.
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageChanged):
        If this image has a mask, call the base class method.
        * rendering/RenderObject.cpp:
        Remove a bogus 'return'.

2008-07-10  Simon Fraser  <simon.fraser@apple.com>

        Transforms create a containing block, so
        RenderLayer::shouldBeOverflowOnly() needs to look for transforms.
        <https://bugs.webkit.org/show_bug.cgi?id=18886>
        
        Reviewed by Dave Hyatt

        Test: fast/transforms/transform-overflow.html

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

2008-07-09  Alex Mathews  <possessedpenguinbob@gmail.com>

        Reviewed by Oliver Hunt.

        bug 19835: WebKit needs cross-platform filter system
        <https://bugs.webkit.org/show_bug.cgi?id=19835>

        More class refactoring in preparation for cross-platform filter 
        implementation.

        * WebCore.xcodeproj/project.pbxproj:
        * rendering/SVGRenderTreeAsText.h:
        (WebCore::operator<<):
        * svg/FilterEffect.cpp:
        (WebCore::FilterEffect::externalRepresentation):
        * svg/FilterEffect.h:
        * svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::build):
        * svg/SVGFEBlendElement.h:
        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::build):
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::build):
        * svg/SVGFEComponentTransferElement.h:
        * svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::build):
        * svg/SVGFECompositeElement.h:
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::filterEffect):
        (WebCore::SVGFEDiffuseLightingElement::build):
        (WebCore::SVGFEDiffuseLightingElement::findLights):
        * svg/SVGFEDiffuseLightingElement.h:
        * svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
        (WebCore::SVGFEDisplacementMapElement::stringToChannel):
        (WebCore::SVGFEDisplacementMapElement::filterEffect):
        (WebCore::SVGFEDisplacementMapElement::build):
        * svg/SVGFEDisplacementMapElement.h:
        * svg/SVGFEFloodElement.cpp:
        (WebCore::SVGFEFloodElement::filterEffect):
        (WebCore::SVGFEFloodElement::build):
        * svg/SVGFEFloodElement.h:
        (WebCore::SVGFEFloodElement::contextElement):
        * svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::filterEffect):
        (WebCore::SVGFEGaussianBlurElement::build):
        * svg/SVGFEGaussianBlurElement.h:
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::filterEffect):
        (WebCore::SVGFEImageElement::build):
        * svg/SVGFEImageElement.h:
        * svg/SVGFEMergeElement.cpp:
        (WebCore::SVGFEMergeElement::filterEffect):
        (WebCore::SVGFEMergeElement::build):
        * svg/SVGFEMergeElement.h:
        (WebCore::SVGFEMergeElement::contextElement):
        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::filterEffect):
        (WebCore::SVGFEOffsetElement::build):
        * svg/SVGFEOffsetElement.h:
        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::filterEffect):
        (WebCore::SVGFESpecularLightingElement::findLights):
        (WebCore::SVGFESpecularLightingElement::build):
        * svg/SVGFESpecularLightingElement.h:
        * svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::filterEffect):
        (WebCore::SVGFETileElement::build):
        * svg/SVGFETileElement.h:
        * svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
        (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
        (WebCore::SVGFETurbulenceElement::filterEffect):
        (WebCore::SVGFETurbulenceElement::build):
        * svg/SVGFETurbulenceElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
        (WebCore::FEConvolveMatrix::FEConvolveMatrix):
        (WebCore::FEConvolveMatrix::create):
        (WebCore::FEConvolveMatrix::kernelSize):
        (WebCore::FEConvolveMatrix::setKernelSize):
        (WebCore::FEConvolveMatrix::kernel):
        (WebCore::FEConvolveMatrix::setKernel):
        (WebCore::FEConvolveMatrix::divisor):
        (WebCore::FEConvolveMatrix::setDivisor):
        (WebCore::FEConvolveMatrix::bias):
        (WebCore::FEConvolveMatrix::setBias):
        (WebCore::FEConvolveMatrix::targetOffset):
        (WebCore::FEConvolveMatrix::setTargetOffset):
        (WebCore::FEConvolveMatrix::edgeMode):
        (WebCore::FEConvolveMatrix::setEdgeMode):
        (WebCore::FEConvolveMatrix::kernelUnitLength):
        (WebCore::FEConvolveMatrix::setKernelUnitLength):
        (WebCore::FEConvolveMatrix::preserveAlpha):
        (WebCore::FEConvolveMatrix::setPreserveAlpha):
        (WebCore::FEConvolveMatrix::apply):
        (WebCore::FEConvolveMatrix::dump):
        (WebCore::operator<<):
        (WebCore::FEConvolveMatrix::externalRepresentation):
        * svg/graphics/filters/SVGFEConvolveMatrix.h:
        (WebCore::):
        * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
        (WebCore::FEDiffuseLighting::FEDiffuseLighting):
        (WebCore::FEDiffuseLighting::create):
        (WebCore::FEDiffuseLighting::~FEDiffuseLighting):
        (WebCore::FEDiffuseLighting::lightingColor):
        (WebCore::FEDiffuseLighting::setLightingColor):
        (WebCore::FEDiffuseLighting::surfaceScale):
        (WebCore::FEDiffuseLighting::setSurfaceScale):
        (WebCore::FEDiffuseLighting::diffuseConstant):
        (WebCore::FEDiffuseLighting::setDiffuseConstant):
        (WebCore::FEDiffuseLighting::kernelUnitLengthX):
        (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
        (WebCore::FEDiffuseLighting::kernelUnitLengthY):
        (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
        (WebCore::FEDiffuseLighting::lightSource):
        (WebCore::FEDiffuseLighting::setLightSource):
        (WebCore::FEDiffuseLighting::apply):
        (WebCore::FEDiffuseLighting::dump):
        (WebCore::FEDiffuseLighting::externalRepresentation):
        * svg/graphics/filters/SVGFEDiffuseLighting.h:
        * svg/graphics/filters/SVGFEDisplacementMap.cpp:
        (WebCore::FEDisplacementMap::FEDisplacementMap):
        (WebCore::FEDisplacementMap::create):
        (WebCore::FEDisplacementMap::xChannelSelector):
        (WebCore::FEDisplacementMap::setXChannelSelector):
        (WebCore::FEDisplacementMap::yChannelSelector):
        (WebCore::FEDisplacementMap::setYChannelSelector):
        (WebCore::FEDisplacementMap::scale):
        (WebCore::FEDisplacementMap::setScale):
        (WebCore::FEDisplacementMap::apply):
        (WebCore::FEDisplacementMap::dump):
        (WebCore::operator<<):
        (WebCore::FEDisplacementMap::externalRepresentation):
        * svg/graphics/filters/SVGFEDisplacementMap.h:
        (WebCore::):
        * svg/graphics/filters/SVGFEFlood.cpp:
        (WebCore::FEFlood::FEFlood):
        (WebCore::FEFlood::create):
        (WebCore::FEFlood::floodColor):
        (WebCore::FEFlood::setFloodColor):
        (WebCore::FEFlood::floodOpacity):
        (WebCore::FEFlood::setFloodOpacity):
        (WebCore::FEFlood::apply):
        (WebCore::FEFlood::dump):
        (WebCore::FEFlood::externalRepresentation):
        * svg/graphics/filters/SVGFEFlood.h:
        * svg/graphics/filters/SVGFEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::FEGaussianBlur):
        (WebCore::FEGaussianBlur::create):
        (WebCore::FEGaussianBlur::stdDeviationX):
        (WebCore::FEGaussianBlur::setStdDeviationX):
        (WebCore::FEGaussianBlur::stdDeviationY):
        (WebCore::FEGaussianBlur::setStdDeviationY):
        (WebCore::FEGaussianBlur::apply):
        (WebCore::FEGaussianBlur::dump):
        (WebCore::FEGaussianBlur::externalRepresentation):
        * svg/graphics/filters/SVGFEGaussianBlur.h:
        * svg/graphics/filters/SVGFEImage.cpp:
        (WebCore::FEImage::FEImage):
        (WebCore::FEImage::create):
        (WebCore::FEImage::~FEImage):
        (WebCore::FEImage::cachedImage):
        (WebCore::FEImage::apply):
        (WebCore::FEImage::dump):
        (WebCore::FEImage::externalRepresentation):
        * svg/graphics/filters/SVGFEImage.h:
        * svg/graphics/filters/SVGFEMerge.cpp:
        (WebCore::FEMerge::FEMerge):
        (WebCore::FEMerge::create):
        (WebCore::FEMerge::mergeInputs):
        (WebCore::FEMerge::setMergeInputs):
        (WebCore::FEMerge::apply):
        (WebCore::FEMerge::dump):
        (WebCore::FEMerge::externalRepresentation):
        * svg/graphics/filters/SVGFEMerge.h:
        * svg/graphics/filters/SVGFEMorphology.cpp:
        (WebCore::FEMorphology::FEMorphology):
        (WebCore::FEMorphology::create):
        (WebCore::FEMorphology::morphologyOperator):
        (WebCore::FEMorphology::setMorphologyOperator):
        (WebCore::FEMorphology::radiusX):
        (WebCore::FEMorphology::setRadiusX):
        (WebCore::FEMorphology::radiusY):
        (WebCore::FEMorphology::setRadiusY):
        (WebCore::FEMorphology::apply):
        (WebCore::FEMorphology::dump):
        (WebCore::operator<<):
        (WebCore::FEMorphology::externalRepresentation):
        * svg/graphics/filters/SVGFEMorphology.h:
        (WebCore::):
        * svg/graphics/filters/SVGFEOffset.cpp:
        (WebCore::FEOffset::FEOffset):
        (WebCore::FEOffset::create):
        (WebCore::FEOffset::dx):
        (WebCore::FEOffset::setDx):
        (WebCore::FEOffset::dy):
        (WebCore::FEOffset::setDy):
        (WebCore::FEOffset::apply):
        (WebCore::FEOffset::dump):
        (WebCore::FEOffset::externalRepresentation):
        * svg/graphics/filters/SVGFEOffset.h:
        * svg/graphics/filters/SVGFESpecularLighting.cpp:
        (WebCore::FESpecularLighting::FESpecularLighting):
        (WebCore::FESpecularLighting::create):
        (WebCore::FESpecularLighting::~FESpecularLighting):
        (WebCore::FESpecularLighting::lightingColor):
        (WebCore::FESpecularLighting::setLightingColor):
        (WebCore::FESpecularLighting::surfaceScale):
        (WebCore::FESpecularLighting::setSurfaceScale):
        (WebCore::FESpecularLighting::specularConstant):
        (WebCore::FESpecularLighting::setSpecularConstant):
        (WebCore::FESpecularLighting::specularExponent):
        (WebCore::FESpecularLighting::setSpecularExponent):
        (WebCore::FESpecularLighting::kernelUnitLengthX):
        (WebCore::FESpecularLighting::setKernelUnitLengthX):
        (WebCore::FESpecularLighting::kernelUnitLengthY):
        (WebCore::FESpecularLighting::setKernelUnitLengthY):
        (WebCore::FESpecularLighting::lightSource):
        (WebCore::FESpecularLighting::setLightSource):
        (WebCore::FESpecularLighting::apply):
        (WebCore::FESpecularLighting::dump):
        (WebCore::FESpecularLighting::externalRepresentation):
        * svg/graphics/filters/SVGFESpecularLighting.h:
        * svg/graphics/filters/SVGFETile.cpp:
        (WebCore::FETile::FETile):
        (WebCore::FETile::create):
        (WebCore::FETile::apply):
        (WebCore::FETile::dump):
        (WebCore::FETile::externalRepresentation):
        * svg/graphics/filters/SVGFETile.h:
        * svg/graphics/filters/SVGFETurbulence.cpp:
        (WebCore::FETurbulence::FETurbulence):
        (WebCore::FETurbulence::create):
        (WebCore::FETurbulence::type):
        (WebCore::FETurbulence::setType):
        (WebCore::FETurbulence::baseFrequencyY):
        (WebCore::FETurbulence::setBaseFrequencyY):
        (WebCore::FETurbulence::baseFrequencyX):
        (WebCore::FETurbulence::setBaseFrequencyX):
        (WebCore::FETurbulence::seed):
        (WebCore::FETurbulence::setSeed):
        (WebCore::FETurbulence::numOctaves):
        (WebCore::FETurbulence::setNumOctaves):
        (WebCore::FETurbulence::stitchTiles):
        (WebCore::FETurbulence::setStitchTiles):
        (WebCore::FETurbulence::apply):
        (WebCore::FETurbulence::dump):
        (WebCore::operator<<):
        (WebCore::FETurbulence::externalRepresentation):
        * svg/graphics/filters/SVGFETurbulence.h:
        (WebCore::):
        * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
        * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
        * svg/graphics/filters/cg/SVGFEFloodCg.mm:
        * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
        * svg/graphics/filters/cg/SVGFEHelpersCg.h:
        * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
        (WebCore::getVectorForChannel):
        * svg/graphics/filters/cg/SVGFEImageCg.mm:
        * svg/graphics/filters/cg/SVGFEMergeCg.mm:
        * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
        * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
        * svg/graphics/filters/cg/SVGFETileCg.mm:

2008-07-09  Mark Rowe  <mrowe@apple.com>

        Reviewed by Geoff Garen.

        Don't warn about deprecated functions in production builds.

        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:

2008-07-09  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin

        <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
        has been installed in a frame tree.

        The root of this problem was that calling init() on a new frame could end up calling arbitrary
        javascript that might end up removing the frame from the tree.  This opened up a small can of worms
        such as the frame not having yet been installed in its frame tree, and other assumed behavior while
        destroying the frame.

        Test: fast/loader/frame-creation-removal.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::endIfNotLoadingMainResource):  If the frame doesn't have a page, don't close up
          the document and parser because they don't exist, and this frame is on its way out.
        (WebCore::FrameLoader::finishedParsing):  We can't rely on the refCount check to discover "am I being deleted?"
          because we no longer store refCounts of 0.  The new check is "do I have a FrameView?" while will always be
          false if the Frame is being destroyed.

2008-07-09  Dean Jackson  <dino@apple.com>

        Changed to use the correct license in header comment (via Darin)

        * css/WebKitCSSTransformValue.idl:

2008-07-09  Dean Jackson  <dino@apple.com>

        Add DOM interface for WebKitCSSTransformValue.
        https://bugs.webkit.org/show_bug.cgi?id=19863

        Reviewed by Hyatt.

        * bindings/objc/DOMInternal.h:
        * css/WebKitCSSTransformValue.idl: Added.

        * bindings/scripts/CodeGeneratorObjC.pm:
            make sure new class inherits from CSSValue not Node

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
            Adding new generated files

2008-07-09  Maxime Britto  <britto@apple.com>

        Reviewed by Adele.

        http://bugs.webkit.org/show_bug.cgi?id=14227
        Add the middle click panning feature to the windows release.
        Details on almost each method below.
        Manual test is included in the patch.

        * ChangeLog:
        * WebCore.vcproj/WebCore.vcproj:
        * manual-tests/panScroll.html: Added.
        * manual-tests/resources/big-page.html: Added.
        * page/EventHandler.cpp: Added the panScroll start/stop handlers and adapted the autoscroll for both to share some functions.
        (WebCore::EventHandler::EventHandler): Initialize the new class members for the panScroll
        (WebCore::EventHandler::handleMouseDraggedEvent): Prevent the autoscroll to trigger if the panScroll is in progress
        (WebCore::EventHandler::handleMouseReleaseEvent): Prevent the autoscroll to stop the panScroll on mouse release
        (WebCore::EventHandler::handleAutoscroll): Added the specific calls for the panScroll (save mouse position, draw the panScroll icon) to the shared code
        (WebCore::EventHandler::autoscrollTimerFired): Specify the calls to perform for each function (autoscroll and panScroll)
        (WebCore::EventHandler::stopAutoscrollTimer): Specify the calls to perform for each function (autoscroll and panScroll)
        (WebCore::EventHandler::handleMousePressEvent): Trigger for the panScroll. Test is the button is the middle button and try to find a renderer where the panScroll is possible. If it finds one, it calls the handleAutoscroll method.
        * page/EventHandler.h:
        (WebCore::EventHandler::panScrollInProgress): Getter used by the sub frames's EventHandler to notice the main frame EventHandler
        (WebCore::EventHandler::setPanScrollInProgress): Setter used by the sub frames's EventHandler to notice the main frame EventHandler
        * platform/ScrollView.h: Added a method used by the RenderObject to test if the view can be scrolled. Added the print/remove panScroll icon methods between the windows platform flags
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::isScrollable): Not implemented : returns true
        * platform/mac/ScrollViewMac.mm: Implemented because it was useful for the autoscroll feature.
        (WebCore::ScrollView::isScrollable):
        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::isScrollable): Not implemented : returns true
        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added a boolean and an IntPoint to draw the icon.
        (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): If the icon must be drawn, define the rect to invalidate to erase the previous icon and to display the new one.
        (WebCore::ScrollView::updateContents): I split this method to be able to invalidate a rect with window coordinates instead of contents coordinates. This function now converts the contents coord in window coord and calls the new updateWindowRect() method  
        (WebCore::ScrollView::updateWindowRect): New method which performs the work that was doing the end of the old updateContents : invalidate a rect with window coordinates
        (WebCore::ScrollView::isScrollable): checks is the view has scrollbars
        (WebCore::ScrollView::printPanScrollIcon): sets the boolean and the IntPoint for the icon. Invalidate his rect and ask for repaint.
        (WebCore::ScrollView::removePanScrollIcon): sets the boolean to false. Invalidate his rect and ask for repaint.
        (WebCore::ScrollView::paint): Modified to draw the icon if needed.
        * platform/wx/ScrollViewWx.cpp:
        (WebCore::ScrollView::isScrollable): Not implemented : returns true
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::panScrollFromPoint): Receives the Middle click location and retrieves the currentMouse position from the EventHandler. With these informations it computes the direction to scroll to and the speed then calls for the final scroll.
        * rendering/RenderLayer.h:
        * rendering/RenderListBox.cpp: Adapt the panScroll to the ListBox object to scroll by lines instead of pixels
        (WebCore::RenderListBox::panScroll):
        (WebCore::RenderListBox::scrollToward):
        (WebCore::RenderListBox::autoscroll):
        * rendering/RenderListBox.h:
        (WebCore::RenderListBox::shouldPanScroll):
        * rendering/RenderObject.cpp: 
        (WebCore::RenderObject::shouldAutoscroll): Improved the verification to avoid triggering the autoscroll/panScroll when the root object can't scroll
        (WebCore::RenderObject::panScroll): Calls the RenderLayer's panScrollFromPoint() method
        * rendering/RenderObject.h:
        (WebCore::RenderObject::stopPanScroll): 

2008-07-09  Dean Jackson  <dino@apple.com>

        Rename CSSTransformValue to WebKitCSSTransformValue as it is non-standard for
        the moment. Also, WebKitCSSTransformValue is a CSSValueList (comma sep)
        https://bugs.webkit.org/show_bug.cgi?id=19861

        Reviewed by Hyatt

        * css/CSSParser.cpp:
        * css/CSSStyleSelector.cpp:
        * css/CSSTransformValue.cpp: Removed.
        * css/CSSTransformValue.h: Removed.
        * css/CSSValueList.h:
        * css/WebKitCSSTransformValue.cpp: Added.
        * css/WebKitCSSTransformValue.h: Added.

        * GNUmakefile.am:
        * WebCore.order:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
            updated for new file names
        

2008-07-09  David Hyatt  <hyatt@apple.com>

        Switch transitions back to a "destination" model as far as choosing which transitions should apply on a style
        change.  Preserve the behavior of allowing stale transitions (in the absence of property changes) to run to
        completion.

        Reviewed by Dean

        * manual-tests/transitions.html:
        * manual-tests/transitions2.html:
        * page/AnimationController.cpp:
        (WebCore::ImplicitAnimation::reset):
        (WebCore::CompositeImplicitAnimation::animate):
        (WebCore::AnimationControllerPrivate::get):
        (WebCore::AnimationController::updateImplicitAnimations):

2008-07-09  Michelangelo De Simone  <m.des@mac.com>

        Reviewed by Adele.

        Added the virtual function Node::isTextControl() in order to simplify text field and textarea checks.

        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
        Clean up in PseudoReadOnly and PseudoReadWrite cases removing unnecessary checks and casts in favor of the sole isTextControl() check.
        * dom/Node.h: Added base isTextControl().
        * html/HTMLInputElement.h: Added isTextControl() which wraps HTMLInputElement::isTextField().
        * html/HTMLTextAreaElement.h: Added isTextControl().

2008-07-09  Rob Buis  <buis@kde.org>

        Reviewed by Eric.

        https://bugs.webkit.org/show_bug.cgi?id=15431
        SVGRenderStyle should store pre-modified resource URIs

        Store pre-modified resource URIs to decrease string
        operations during layout/rendering.

        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::absoluteClippedOverflowRect):
        (WebCore::RenderPath::drawMarkersIfNeeded):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::selfWillPaint):
        (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::calculateAbsoluteBounds):
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::paint):
        (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::absoluteClippedOverflowRect):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::prepareToRenderSVGContent):

2008-07-09  Anders Carlsson  <andersca@apple.com>

        Reviewed by Mitz.

        Remove an unused instance variable.

        * loader/DocumentLoader.h:

2008-07-09  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        - remove unused #includes

        * dom/XMLTokenizer.cpp:
        * html/PreloadScanner.cpp:
        * loader/CachedCSSStyleSheet.cpp:
        * loader/CachedScript.cpp:
        * loader/CachedXBLDocument.cpp:
        * loader/CachedXSLStyleSheet.cpp:
        * page/mac/FrameMac.mm:
        * xml/XSLTProcessor.cpp:

2008-07-08  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.
        
        Only artificially mark JS DOM wrappers if they have custom properties.
        
        21X speedup on http://nerget.com/jstests/dom-mandelbrot.html.
        
        No, that is not a typo.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::ScriptInterpreter::markDOMNodesForDocument):

2008-07-08  Kevin Watters  <kevinwatters@gmail.com>

        Reviewed by Kevin Ollivier.

        Fix to previous patch for handling mouse up events.
        
        https://bugs.webkit.org/show_bug.cgi?id=18464

        * platform/wx/MouseEventWx.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):

2008-07-08  Dan Bernstein  <mitz@apple.com>

        Reviewed by Brady Eidson.

        - initialize the Archives log channel's state

        * platform/mac/LoggingMac.mm:
        (WebCore::InitializeLoggingChannelsIfNecessary):

2008-07-08  Kevin McCullough  <kmccullough@apple.com>

        Added manual test for the new heavy view.

        * manual-tests/inspector/profiler-test-heavy-view.html: Added.

2008-07-08  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - fix <rdar://problem/6043731> REGRESSION (3-4): RedEnvelope.com
          looks wrong due to OpenCube QuickMenu appVersion check

        * page/Navigator.cpp:
        (WebCore::shouldHideFourDot): Add dqm_loader.js as another filename.

2008-07-08  Dan Bernstein  <mitz@apple.com>

        Reviewed by John Sullivan.

        - WebCore part of <rdar://problem/6008409> Need a way to disable updates in offscreen views

        Added a setting, updatesWhenOffscreen(), which controls whether an
        offscreen web view gets marked as needing update when its contents
        change (the existing behavior) or not (a new behavior), in which case it
        will be marked as needing update just before it goes on screen. The
        existing behavior (updating while offscreen) remains the default.

        * WebCore.base.exp: Added Settings::setUpdatesWhenOffscreen().
        * page/FrameView.cpp:
        (WebCore::FrameView::shouldUpdateWhenOffscreen): Added. Returns the
        value from settings.
        * page/FrameView.h:
        * page/Settings.cpp:
        (WebCore::Settings::setUpdatesWhenOffscreen): Added.
        * page/Settings.h:
        (WebCore::Settings::updatesWhenOffscreen): Added.
        * platform/ScrollView.h:
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::updateContents): Added code to return early and
        not call -setNeedsDisplayInRect: if the view is not in a visible window
        and the setting is not to update when offscreen.

2008-07-08  Simon Hausmann  <hausmann@webkit.org>

        Fix the build with enabled SVG filters.

        * svg/SVGFESpecularLightingElement.cpp: The last argument to
        ANIMATED_PROPERTY_DEFINITIONS has to be full class name, including
        the attr suffix.

2008-07-07  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Remove extraneous null check.

        * dom/Node.cpp:
        (WebCore::Node::querySelector):
        (WebCore::Node::querySelectorAll):

2008-07-07  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
        Use of CSS3 Namespaces syntax in Selectors API should throw an exception

        - Throw an NAMESPACE_ERR exception if a non-null or "*" namespace is
          used in a selector passed to querySelector or querySelectorAll.

        Test: fast/dom/SelectorAPI/not-supported-namespace-in-selector.html

        * dom/Node.cpp:
        (WebCore::selectorNeedsNamespaceResolution):
        (WebCore::Node::querySelector):
        (WebCore::Node::querySelectorAll):

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

        Reviewed by Darin.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=19933
        nodeIterator with filter fails on documents not in a frame

        Tests: traversal/node-iterator-009.html
               traversal/tree-walker-006.html

        * bindings/js/JSNodeFilterCondition.cpp:
        * bindings/js/JSNodeFilterCondition.h:
        * bindings/js/JSNodeFilterCustom.cpp:
        * bindings/js/JSNodeIteratorCustom.cpp:
        * bindings/js/JSTreeWalkerCustom.cpp:
        * bindings/objc/DOM.mm:
        * dom/NodeFilter.cpp:
        * dom/NodeFilter.h:
        * dom/NodeFilterCondition.cpp:
        * dom/NodeFilterCondition.h:
        * dom/NodeIterator.cpp:
        * dom/NodeIterator.h:
        * dom/Traversal.cpp:
        * dom/Traversal.h:
        * dom/TreeWalker.cpp:
        * dom/TreeWalker.h:

2008-07-07  Adele Peterson  <adele@apple.com>

        Reviewed by Dan Bernstein.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=19924
        <rdar://problem/6057160> Disabled file input element updates its displayed file info when a file is dropped from the Finder.

        * page/DragController.cpp: (WebCore::DragController::concludeDrag):
        Check that the file control is enabled before taking dropped files.

2008-07-07  Adele Peterson  <adele@apple.com>

        Reviewed by Beth.

        Fix for <rdar://problem/5860507> <AUDIO> playback noticeably more quiet than QuickTime

        Change default volume setting to 1.0.

        * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement):
        * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::MediaPlayer):

2008-07-07  Darin Adler  <darin@apple.com>

        Reviewed by Mark Rowe.

        - fix <rdar://problem/6020441> REGRESSION: Layers on NWA.com render ugly

        The old version of the OpenCube QuickMenu library used on this site still has code
        that detects Netscape 4 by checking appVersion to see if it has the substring "4."
        in it. We decided to special-case the filename of the script and tweak the appVersion
        for files with that name.

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController): Replace m_processingInlineCode with
        m_sourceURL. Use false instead of 0 to initialize a boolean.
        (WebCore::ScriptController::evaluate): Call argument sourceURL, not filename.
        Store current sourceURL in m_sourceURL. This fixes a mistake in the code that
        maintained the value of m_processingInlineCode, since the old code set it to
        false rather than restoring it. Renamed a local variable named sourceURL to
        exceptionSourceURL for clarity.
        (WebCore::ScriptController::processingUserGesture): Code that formerly used
        m_processingInlineCode to detect that it was evaluating code with no URL now
        uses m_sourceURL to do the same check.

        * bindings/js/ScriptController.h: Renamed filename argument to sourceURL; it has always
        been a URL, not a file path. Added a public sourceURL function and m_sourceURL and
        removed m_processingInlineCode.

        * page/Navigator.cpp:
        (WebCore::shouldHideFourDot): Added. Returns true if the currently running script has
        a source URL ending in "/dqm_script.js" and if the settings say we should do
        site-specific quirks (really JavaScript-library-specific in this case).
        (WebCore::Navigator::appVersion): Replace "4." with "4_" if shouldHideFourDot is true.

2008-07-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Geoff.

        Bug 19907: REGRESSION(r34824-r34941): Reproducible crash trying to log in to MediaTemple.net Account Center
        <https://bugs.webkit.org/show_bug.cgi?id=19907>

        Clear exceptions set on ExecStates before returning from NPAPI
        callbacks, in order to avoid causing problems for the next script that
        executes.

        While fixing this bug, the question was raised of whether we are
        correctly propagating exception information back to the caller:

        Bug 19936: Correctly propagate exception information from NPAPI callbacks
        <https://bugs.webkit.org/show_bug.cgi?id=19936>

        * bridge/NP_jsobject.cpp:
        (_NPN_InvokeDefault):
        (_NPN_Invoke):
        (_NPN_Evaluate):
        (_NPN_GetProperty):
        (_NPN_SetProperty):
        (_NPN_RemoveProperty):
        (_NPN_HasProperty):
        (_NPN_HasMethod):
        (_NPN_Enumerate):

2008-07-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix <rdar://problem/6057650> REGRESSION (r35025): Crash beneath FontCache::invalidate() when activating Safari with no windows open

        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData): Added a null check because
        docLoader() can return 0 now.
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::docLoader): Added a null check of m_document.
        (WebCore::CSSFontSelector::addFontFaceRule): Ditto.
        (WebCore::CSSFontSelector::fontLoaded): Ditto.
        (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
        (WebCore::fontDataForGenericFamily): Added a null check of document.
        * css/CSSFontSelector.h:
        (WebCore::CSSFontSelector::clearDocument): Added.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a call to
        CSSFontSelector::clearDocument(). When the style selector is destroyed,
        there is no guarantee that the document will continue to exist.

2008-07-07  Julien Chaffraix  <jchaffraix@webkit.org>

        Not reviewed.

        No svg build fix.

        * DerivedSources.make: Add JSSVGElementWrapperFactory.cpp target.
        * svg/animation/SMILTimeContainer.cpp: Add ENABLE(SVG) guard.

2008-07-07  Michelangelo De Simone  <m.des@mac.com>

        Reviewed by Adele.

        Support for CSS3 :read-only and :read-write pseudoclasses for readonly text controls.

        URL: http://www.w3.org/TR/web-forms-2/#relation

        Tests: fast/css/readonly-pseudoclass-opera-001.html
               fast/css/readonly-pseudoclass-opera-002.html
               fast/css/readonly-pseudoclass-opera-003.html
               fast/css/readonly-pseudoclass-opera-004.html
               fast/css/readonly-pseudoclass-opera-005.html

        * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
        Added "read-only" and "read-write" values for PseudoType extraction.
        * css/CSSSelector.h: (WebCore::CSSSelector::):
        Added PseudoReadOnly and PseudoReadWrite entries in PseudoType enum.
        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
        Checks to determine whether to match :read-only and :read-write pseudoclasses on
        text controls.

2008-07-07  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoffrey Garen.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
        querySelectorAll should throw an exception if a NSResolver is passed in.

        - Throw an NOT_SUPPORTED_ERR if a non-null or undefined parameter is passed
          as the second argument to querySelector or querySelectorAll.

        Test: fast/dom/SelectorAPI/not-supported-NSResolver.html

        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::querySelector):
        (WebCore::JSDocument::querySelectorAll):
        * bindings/js/JSElementCustom.cpp:
        (WebCore::JSElement::querySelector):
        (WebCore::JSElement::querySelectorAll):
        * dom/Document.idl:
        * dom/Element.idl:

2008-07-07  Brady Eidson  <beidson@apple.com>

        Reviewed by Mitz and Geoff

        Test: fast/loader/empty-ref-versus-no-ref.html

        Fix for https://bugs.webkit.org/show_bug.cgi?id=18951 and <rdar://problem/5921760>
        "all DOM operations stop working when location.hash set to '#'"

        The underlying problem is that KURL didn't really know the difference between "empty ref"
        and "no ref at all" when changing the ref.  So changing to the empty ref in JS ended up 
        affecting removal of the ref, which ended up causing an infinite load load, also killing
        javascript.

        * platform/KURL.cpp:
        (WebCore::KURL::setRef):  Changed "isEmpty()" to "isNull()", since NULL has the special 
          meaning of "no ref at all" while empty means "empty ref"

2008-07-07  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Darin.

        Because profiler.h no longer #includes profile.h we need to explicitly
        include it in console.cpp.

        * page/Console.cpp:

2008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>

        Not reviewed. Build fix.

        Fix --svg-filters build (affects Qt build, mac/win don't have it on by default)

        * svg/SVGFEColorMatrixElement.cpp:
        * svg/SVGFEDiffuseLightingElement.cpp:
        * svg/SVGFEImageElement.cpp:
        * svg/SVGFELightElement.cpp:
        * svg/SVGFESpecularLightingElement.cpp:

2008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Antti.

        Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)

        Revised version of the patch, not using pointer-to-member function callbacks anymore - after discussion with Adam Roben.
        Remove unneccessary parameters of all macros.

        SVG Errata states: "All SVG DOM objects that directly correspond to an
        attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
        means that any changes made to the attribute are immediately reflected in the
        corresponding SVG DOM object." (see linked URL on bug report)

        Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
        element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).

        Add a new synchronization layer to handle SVG DOM -> XML changes.

        Added test: svg/custom/svg-xml-dom-sync.html
        Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)

        * dom/Element.cpp:
        (WebCore::Element::Element): Initialize the two new bits.
        (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
        (WebCore::Element::getAttribute): Ditto.
        (WebCore::Element::hasAttributes): Ditto.
        * dom/Element.h: Add two bits: m_areSVGAttributesValid/m_synchronizingSVGAttributes, to track synchronization status.
        (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
        * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
        * svg/SVGAElement.cpp:
        * svg/SVGAElement.h:
        * svg/SVGAnimatedTemplate.h:
        (WebCore::lookupOrCreateWrapper): Take new AnimatedPropertySynchronizer callback as parameter, and associate it with the wrappers.
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::SVGCircleElement):
        * svg/SVGCircleElement.h:
        * svg/SVGClipPathElement.cpp:
        * svg/SVGClipPathElement.h:
        * svg/SVGComponentTransferFunctionElement.cpp:
        * svg/SVGComponentTransferFunctionElement.h:
        * svg/SVGCursorElement.cpp:
        (WebCore::SVGCursorElement::SVGCursorElement):
        * svg/SVGCursorElement.h:
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
        (WebCore::SVGElement::setSynchronizedSVGAttributes):
        * svg/SVGElement.h:
        (WebCore::SVGElement::invokeSVGPropertySynchronizer):
        (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
        (WebCore::SVGElement::addSVGPropertySynchronizer):
        * svg/SVGEllipseElement.cpp:
        * svg/SVGEllipseElement.h:
        * svg/SVGExternalResourcesRequired.cpp:
        * svg/SVGExternalResourcesRequired.h:
        * svg/SVGFEBlendElement.cpp:
        * svg/SVGFEBlendElement.h:
        * svg/SVGFEColorMatrixElement.cpp:
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFEComponentTransferElement.cpp:
        * svg/SVGFEComponentTransferElement.h:
        * svg/SVGFECompositeElement.cpp:
        * svg/SVGFECompositeElement.h:
        * svg/SVGFEDiffuseLightingElement.cpp:
        * svg/SVGFEDiffuseLightingElement.h:
        * svg/SVGFEDisplacementMapElement.cpp:
        * svg/SVGFEDisplacementMapElement.h:
        * svg/SVGFEGaussianBlurElement.cpp:
        * svg/SVGFEGaussianBlurElement.h:
        * svg/SVGFEImageElement.cpp:
        * svg/SVGFEImageElement.h:
        * svg/SVGFELightElement.cpp:
        * svg/SVGFELightElement.h:
        * svg/SVGFEMergeNodeElement.cpp:
        * svg/SVGFEMergeNodeElement.h:
        * svg/SVGFEOffsetElement.cpp:
        * svg/SVGFEOffsetElement.h:
        * svg/SVGFESpecularLightingElement.cpp:
        * svg/SVGFESpecularLightingElement.h:
        * svg/SVGFETileElement.cpp:
        * svg/SVGFETileElement.h:
        * svg/SVGFETurbulenceElement.cpp:
        * svg/SVGFETurbulenceElement.h:
        * svg/SVGFilterElement.cpp:
        * svg/SVGFilterElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        * svg/SVGFitToViewBox.cpp:
        * svg/SVGFitToViewBox.h:
        * svg/SVGForeignObjectElement.cpp:
        * svg/SVGForeignObjectElement.h:
        * svg/SVGGradientElement.cpp:
        * svg/SVGGradientElement.h:
        * svg/SVGImageElement.cpp:
        * svg/SVGImageElement.h:
        * svg/SVGLineElement.cpp:
        * svg/SVGLineElement.h:
        * svg/SVGLinearGradientElement.cpp:
        * svg/SVGLinearGradientElement.h:
        * svg/SVGMarkerElement.cpp:
        * svg/SVGMarkerElement.h:
        * svg/SVGMaskElement.cpp:
        * svg/SVGMaskElement.h:
        * svg/SVGPathElement.cpp:
        * svg/SVGPathElement.h:
        * svg/SVGPatternElement.cpp:
        * svg/SVGPatternElement.h:
        * svg/SVGRadialGradientElement.cpp:
        * svg/SVGRadialGradientElement.h:
        * svg/SVGRectElement.cpp:
        * svg/SVGRectElement.h:
        * svg/SVGSVGElement.cpp:
        * svg/SVGSVGElement.h:
        * svg/SVGScriptElement.h:
        * svg/SVGStopElement.cpp:
        * svg/SVGStopElement.h:
        * svg/SVGStyledElement.cpp:
        * svg/SVGStyledElement.h:
        * svg/SVGStyledTransformableElement.cpp:
        * svg/SVGStyledTransformableElement.h:
        * svg/SVGSymbolElement.h:
        * svg/SVGTextContentElement.cpp:
        * svg/SVGTextContentElement.h:
        * svg/SVGTextElement.cpp:
        * svg/SVGTextElement.h:
        * svg/SVGTextPathElement.cpp:
        * svg/SVGTextPathElement.h:
        * svg/SVGTextPositioningElement.cpp:
        * svg/SVGTextPositioningElement.h:
        * svg/SVGURIReference.cpp:
        * svg/SVGURIReference.h:
        * svg/SVGUseElement.cpp:
        * svg/SVGUseElement.h:
        * svg/SVGViewElement.h:
        * svg/SynchronizableTypeWrapper.h: Added.

2008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

        Working on: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)

        Splitting up large patch in small chunk: Land valueAsString() implementation on it's own.

        Added valueAsString() conversion for all SVG primitive types, needed by the SVG<->XML synchronization layer.
        Unify "null value for a SVG animated type" concept, which was implemented in SVGDocumentExtensions before,
        in SVGAnimatedTemplate.

        * svg/SVGAnimatedTemplate.h:
        (WebCore::SVGAnimatedTemplate::associatedAttributeName):
        (WebCore::lookupOrCreateWrapper):
        (WebCore::SVGAnimatedTypeValue::null):
        (WebCore::SVGAnimatedTypeValue::toString):
        (WebCore::):
        * svg/SVGDocumentExtensions.h:
        (WebCore::SVGDocumentExtensions::baseValue):
        * svg/SVGLengthList.cpp:
        (WebCore::SVGLengthList::valueAsString):
        * svg/SVGLengthList.h:
        * svg/SVGNumberList.cpp:
        (WebCore::SVGNumberList::valueAsString):
        * svg/SVGNumberList.h:
        * svg/SVGPreserveAspectRatio.cpp:
        (WebCore::SVGPreserveAspectRatio::valueAsString):
        * svg/SVGPreserveAspectRatio.h:
        * svg/SVGTransformList.cpp:
        (SVGTransformList::valueAsString):
        * svg/SVGTransformList.h:

2008-07-06  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Rename "Access-Contol-Origin" to "Origin" to match the latest
        Access Control for Cross-Site Request draft. (Editor's Draft 25 May 2008)

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
        (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):

2008-07-06  Dan Bernstein  <mitz@apple.com>

        - try to fix the Windows build

        * WebCore.vcproj/WebCore.vcproj:

2008-07-06  Dan Bernstein  <mitz@apple.com>

        - add missing brace

        * platform/graphics/qt/FontCacheQt.cpp:

2008-07-06  Dan Bernstein  <mitz@apple.com>

        - try to fix the Qt build

        * platform/graphics/qt/FontCacheQt.cpp:
        (WebCore::FontCache::addClient):
        (WebCore::FontCache::removeClient):

2008-07-06  Sam Weinig  <sam@webkit.org>

        Reviewed by Cameron Zwarich.

        Add #include for kjs/protect.h.

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

2008-07-06  David Kilzer  <ddkilzer@apple.com>

        Save a few more bits in RenderStyle

        Reviewed by Darin.

        No test cases added since there is no change in behavior.

        This changes WebCore::StyleMarqueeData from using 6 bits to 5 bits,
        WebCore::RenderStyle::inherited_flags from using 36 bits to 35 bits,
        and WebCore::RenderStyle::noninherited_flags from using 49 bits to
        47 bits.

        * rendering/style/RenderStyle.h:
        (WebCore::StyleMarqueeData::behavior): Reduce from 3 bits to 2 bits
        since EMarqueeBehavior has 4 items.
        (WebCore::RenderStyle::inherited_flags._text_align): Reduce from
        4 bits to 3 bits since ETextAlign has 8 items.
        (WebCore::RenderStyle::noninherited_flags._overflowX): Reduce from
        4 bits to 3 bits since EOverflow has 6 items.
        (WebCore::RenderStyle::noninherited_flags._overflowY): Ditto.

2008-07-06  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix <rdar://problem/5735163> WebCore caching makes text look wrong after font changes; need to respond appropriately instead

        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::CSSFontSelector): Added a call to
        FontCache::addClient().
        (WebCore::CSSFontSelector::~CSSFontSelector): Added a call to
        FontCache::removeClient().
        (WebCore::CSSFontSelector::fontCacheInvalidated): Added. Called by the
        font cache when it is invalidated, and ensures that the document is
        updated.

        * css/CSSFontSelector.h:

        * platform/graphics/Font.cpp:
        (WebCore::Font::operator==): Added code to compare the font fallback
        lists' font cache generations.

        * platform/graphics/FontCache.cpp:
        (WebCore::FontCache::addClient): Added.
        (WebCore::FontCache::removeClient): Added.
        (WebCore::FontCache::generation): Added.
        (WebCore::FontCache::invalidate): Added. Deletes the platform data
        cache, increments the generation counter, and notifies all clients.

        * platform/graphics/FontCache.h:

        * platform/graphics/FontFallbackList.cpp:
        (WebCore::FontFallbackList::FontFallbackList): Added initialization of
        m_generation.
        (WebCore::FontFallbackList::invalidate): Added code to reset
        m_generation.
        (WebCore::FontFallbackList::fontDataAt): Added an assertion.
        (WebCore::FontFallbackList::fontDataForCharacters): Ditto.
        (WebCore::FontFallbackList::setPlatformFont): Ditto.

        * platform/graphics/FontFallbackList.h:
        (WebCore::FontFallbackList::generation): Added. Returns the font cache
        generation used to populate the list.

        * platform/graphics/FontSelector.h:
        (WebCore::FontSelector::fontCacheInvalidated): Added.

        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::fontCacheATSNotificationCallback): Added. Calls
        FontCache::invalidate().
        (WebCore::FontCache::platformInit): Added code to register for ATS
        notifications.

        * svg/SVGFontFaceElement.cpp: Removed unneeded #inlcudes.

2008-07-05  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Cameron Zwarich.

        Rename list.h/cpp to ArgList.h/cpp.

        * ForwardingHeaders/kjs/ArgList.h: Copied from WebCore/ForwardingHeaders/kjs/list.h.
        * ForwardingHeaders/kjs/list.h: Removed.
        * WebCore.vcproj/WebCore.vcproj:
        * bridge/qt/qt_instance.cpp:
        * page/Console.cpp:

2008-07-05  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Cameron Zwarich.

        Split Arguments, IndexToNameMap, PrototypeFunction, GlobalEvalFunction and 
        the functions on the global object out of JSFunction.h/cpp.

        * ForwardingHeaders/kjs/PrototypeFunction.h: Added.
        * bindings/js/JSDOMBinding.cpp:

2008-07-05  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Sam Weinig.

        - rename BidiIterator and BidiState

        Renamed BidiIterator to InlineIterator and BidiState
        to InlineBidiResolver. Renamed variables of type InlineBidiResolver{*,&}
        to "resolver".

        * rendering/RenderBlock.h:
        * rendering/RootInlineBox.h:
        * rendering/bidi.cpp:
        (WebCore::InlineIterator::InlineIterator):
        (WebCore::operator==):
        (WebCore::operator!=):
        (WebCore::bidiNext):
        (WebCore::bidiFirst):
        (WebCore::InlineIterator::increment):
        (WebCore::InlineBidiResolver::increment):
        (WebCore::InlineIterator::atEnd):
        (WebCore::InlineIterator::current):
        (WebCore::InlineIterator::direction):
        (WebCore::chopMidpointsAt):
        (WebCore::checkMidpoints):
        (WebCore::addMidpoint):
        (WebCore::appendRunsForObject):
        (WebCore::InlineBidiResolver::appendRun):
        (WebCore::RenderBlock::bidiReorderLine):
        (WebCore::buildCompactRuns):
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::determineStartPosition):
        (WebCore::RenderBlock::determineEndPosition):
        (WebCore::RenderBlock::matchedEndLine):
        (WebCore::skipNonBreakingSpace):
        (WebCore::requiresLineBox):
        (WebCore::RenderBlock::generatesLineBoxesForInlineChild):
        (WebCore::RenderBlock::skipWhitespace):
        (WebCore::shouldSkipWhitespaceAfterStartObject):
        (WebCore::RenderBlock::findNextLineBreak):

2008-07-05  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Rubber-stamped by Oliver Hunt

        Coding style fix

        * html/CanvasRenderingContext2D.cpp: Indentation fix

2008-07-04  Oliver Hunt  <oliver@apple.com>

        Fix windows build

        * WebCore.vcproj/WebCore.vcproj:

2008-07-04  Sam Weinig  <sam@webkit.org>

        Fix Qt build.

        * bridge/qt/qt_instance.cpp:

2008-07-04  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Dan Bernstein.

        Split Error and GetterSetter out of JSObject.h.

        * ForwardingHeaders/kjs/Error.h: Added.
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        * bindings/js/JSClipboardCustom.cpp:
        * bindings/js/JSDOMWindowBase.cpp:
        * bindings/js/JSEventTargetBase.cpp:
        * bindings/js/JSHTMLDocumentCustom.cpp:
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/NP_jsobject.cpp:
        * bridge/jni/jni_instance.cpp:
        * bridge/jni/jni_runtime.cpp:
        * bridge/objc/objc_instance.mm:
        * bridge/objc/objc_runtime.mm:
        * bridge/objc/objc_utility.h:
        * bridge/runtime_array.cpp:
        * bridge/runtime_method.cpp:
        * bridge/runtime_object.cpp:

2008-07-04  David D. Kilzer  <ddkilzer@webkit.org>

        Bug 15290: REGRESSION (r14184-r14216): Duplicate DOCTYPE definitions when saving files as webarchives

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

        Reviewed by Dan Bernstein.

        Tests: webarchive/archive-empty-frame-dom.html
               webarchive/doctype.html

        * editing/markup.cpp:
        (WebCore::createFullMarkup): If the Node is a Document or a
        DocumentType, don't prepend the <!DOCTYPE> tag since that will
        cause it to be duplicated.
        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::create): Ditto.

2008-07-04  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Gtk build fix

        * GNUmakefile.am:

2008-07-04  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Eric Seidel.

        Bring our implementation of the Netscape plugin API closer to current
        code style guidelines.

        * bridge/NP_jsobject.cpp:
        (getListFromVariantArgs):
        (jsAllocate):
        (jsDeallocate):
        (_NPN_CreateScriptObject):
        (_NPN_CreateNoScriptObject):
        (_NPN_InvokeDefault):
        (_NPN_Invoke):
        (_NPN_Evaluate):
        (_NPN_GetProperty):
        (_NPN_SetProperty):
        (_NPN_RemoveProperty):
        (_NPN_HasProperty):
        (_NPN_HasMethod):
        (_NPN_Enumerate):
        * bridge/npruntime_impl.h:

2008-07-04  Simon Hausmann  <hausmann@webkit.org>

        Fix the Qt/Windows build.

        * WebCore.pro: Moved PluginMainThreadScheduler.cpp to the main
        sources, so that it is always compiled.
        * platform/qt/CursorQt.cpp: #undef CopyCursor, as it's defined by some
        Windows header.
        * platform/qt/KeyboardCodes.h: Don't re-define some of the keycodes
        that are defined by Windows already.
        * platform/qt/TemporaryLinkStubs.cpp: Removed the PluginDatabase stubs
        that are now platform-independent in plugin/PluginDatabase.cpp.

2008-07-04  Simon Hausmann  <hausmann@webkit.org>

        Fix the Mac build for real, don't define listDirectory() twice.

        * platform/mac/FileSystemMac.mm:

2008-07-04  Simon Hausmann  <hausmann@webkit.org>

        Prospective Mac build fix.

        * platform/mac/FileSystemMac.mm: Include NotImplemented.h.
        * platform/posix/FileSystemPOSIX.cpp: Ditto.

2008-07-04  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon.

        Move duplicated code from each PluginDatabaseXX-implementation
        to PluginDabase.cpp -- ifdefed based on the XP_PLATFORM we are
        compiling plugins for.

        This make the code cleaner and we can share common patterns.
        The only implementation left which is specific is the Win
        implementation (also used by QtWebKit/Win), but we might
        want to move that too.

        * GNUmakefile.am: Removed PluginDatabaseGtk.cpp from the build.
        * WebCore.pro: Removed PluginDatabaseQt.cpp from the build.
        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::defaultPluginDirectories):
        (WebCore::PluginDatabase::isPreferredPluginDirectory):
        (WebCore::PluginDatabase::getPluginPathsInDirectories):
        * plugins/gtk/PluginDatabaseGtk.cpp: Removed.
        * plugins/qt/PluginDatabaseQt.cpp: Removed.
        * plugins/wx/PluginDatabaseWx.cpp: Removed.
        * webcore-wx.bkl: Removed PluginDatabaseWx.cpp from the build.

2008-07-04  Simon Hausmann  <hausmann@webkit.org>

        Fix the Wx build.

        * WebCoreSources.bkl: Add plugins/PluginMainThreadScheduler.cpp to the
        build.
        * page/FocusController.cpp:
        (WebCore::FocusController::setActive): Extend MAC #ifdef to WX as
        layoutIfNeededRecursive does not exist for the Wx port.

2008-07-04  Simon Hausmann  <hausmann@webkit.org>

        Fix the Gtk build, adapt to renamed files.

        * GNUmakefile.am:

2008-07-04  Simon Hausmann  <hausmann@webkit.org>

        Fix the Qt build, adapt to renamed files.

        * WebCore.pro:

2008-07-03  Oliver Hunt  <oliver@apple.com>

        Reviewed by Eric Seidel.

        Move filter implementations to platform directory.

        * WebCore.vcproj/WebCore.vcproj
        * WebCore.xcodeproj/project.pbxproj:
        * svg/SVGComponentTransferFunctionElement.h:
        * svg/SVGFEBlendElement.h:
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFEComponentTransferElement.h:
        * svg/SVGFECompositeElement.h:
        * platform/graphics/filters/FEBlend.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEBlend.cpp.
        * platform/graphics/filters/FEBlend.h: Renamed from WebCore/svg/graphics/filters/SVGFEBlend.h.
        * platform/graphics/filters/FEColorMatrix.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEColorMatrix.cpp.
        * platform/graphics/filters/FEColorMatrix.h: Renamed from WebCore/svg/graphics/filters/SVGFEColorMatrix.h.
        * platform/graphics/filters/FEComponentTransfer.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEComponentTransfer.cpp.
        * platform/graphics/filters/FEComponentTransfer.h: Renamed from WebCore/svg/graphics/filters/SVGFEComponentTransfer.h.
        * platform/graphics/filters/FEComposite.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEComposite.cpp.
        * platform/graphics/filters/FEComposite.h: Renamed from WebCore/svg/graphics/filters/SVGFEComposite.h.

2008-07-03  Alex Mathews  <possessedpenguinbob@gmail.com>

        Reviewed by Oliver Hunt.

        Bug 19835: WebKit needs cross-platform filter system
        <https://bugs.webkit.org/show_bug.cgi?id=19835>

        More class refactoring in preparation for cross-platform filter
        implementation.

        * WebCore.xcodeproj/project.pbxproj:
        * svg/FilterEffect.h:
        * svg/SVGComponentTransferFunctionElement.cpp:
        (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
        (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
        (WebCore::SVGComponentTransferFunctionElement::transferFunction):
        * svg/SVGComponentTransferFunctionElement.h:
        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
        (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
        (WebCore::SVGFEColorMatrixElement::filterEffect):
        (WebCore::SVGFEColorMatrixElement::build):
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::filterEffect):
        (WebCore::SVGFEComponentTransferElement::build):
        * svg/SVGFEComponentTransferElement.h:
        * svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::SVGFECompositeElement):
        (WebCore::SVGFECompositeElement::parseMappedAttribute):
        (WebCore::SVGFECompositeElement::filterEffect):
        (WebCore::SVGFECompositeElement::build):
        * svg/SVGFECompositeElement.h:
        * svg/graphics/filters/SVGFEBlend.cpp:
        * svg/graphics/filters/SVGFEBlend.h:
        * svg/graphics/filters/SVGFEColorMatrix.cpp:
        (WebCore::FEColorMatrix::FEColorMatrix):
        (WebCore::FEColorMatrix::create):
        (WebCore::FEColorMatrix::type):
        (WebCore::FEColorMatrix::setType):
        (WebCore::FEColorMatrix::values):
        (WebCore::FEColorMatrix::setValues):
        (WebCore::FEColorMatrix::apply):
        (WebCore::FEColorMatrix::dump):
        * svg/graphics/filters/SVGFEColorMatrix.h:
        (WebCore::):
        * svg/graphics/filters/SVGFEComponentTransfer.cpp:
        (WebCore::FEComponentTransfer::FEComponentTransfer):
        (WebCore::FEComponentTransfer::create):
        (WebCore::FEComponentTransfer::redFunction):
        (WebCore::FEComponentTransfer::setRedFunction):
        (WebCore::FEComponentTransfer::greenFunction):
        (WebCore::FEComponentTransfer::setGreenFunction):
        (WebCore::FEComponentTransfer::blueFunction):
        (WebCore::FEComponentTransfer::setBlueFunction):
        (WebCore::FEComponentTransfer::alphaFunction):
        (WebCore::FEComponentTransfer::setAlphaFunction):
        (WebCore::FEComponentTransfer::apply):
        (WebCore::FEComponentTransfer::dump):
        * svg/graphics/filters/SVGFEComponentTransfer.h:
        (WebCore::):
        (WebCore::ComponentTransferFunction::ComponentTransferFunction):
        * svg/graphics/filters/SVGFEComposite.cpp:
        (WebCore::FEComposite::FEComposite):
        (WebCore::FEComposite::create):
        (WebCore::FEComposite::operation):
        (WebCore::FEComposite::setOperation):
        (WebCore::FEComposite::k1):
        (WebCore::FEComposite::setK1):
        (WebCore::FEComposite::k2):
        (WebCore::FEComposite::setK2):
        (WebCore::FEComposite::k3):
        (WebCore::FEComposite::setK3):
        (WebCore::FEComposite::k4):
        (WebCore::FEComposite::setK4):
        (WebCore::FEComposite::apply):
        (WebCore::FEComposite::dump):
        * svg/graphics/filters/SVGFEComposite.h:
        (WebCore::):
        * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm: Removed.
        * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm: Removed.
        * svg/graphics/filters/cg/SVGFECompositeCg.mm: Removed.

2008-07-03  Dan Bernstein  <mitz@apple.com>

        Reviewed by John Sullivan.

        - fix <rdar://problem/6020930> Bidi Problem When Resizing Window

        Test: fast/text/international/bidi-AN-after-empty-run.html

        * platform/text/BidiResolver.h:
        (WebCore::::appendRun): Changed to reset the current direction and
        "end of run" direction even in the empty run case.
        * rendering/bidi.cpp:
        (WebCore::BidiState::appendRun): Ditto.

2008-07-02  Jon Honeycutt  <jhoneycutt@apple.com>

        <rdar://5983747> Safari crashes trying to load the SilverLight plugin

        If a plug-in returned an error code from NPP_NewStream, we would call
        NPP_DestroyStream while cleaning up the request. We now only call
        NPP_DestroyStream if NPP_NewStream was successful, matching Firefox.

        Reviewed by Anders.

        * plugins/PluginStream.cpp:
        (WebCore::PluginStream::startStream): If NPP_NewStream returns an error,
        don't set m_streamState to StreamStarted, and return after calling
        cancelAndDestroyStream.
        (WebCore::PluginStream::destroyStream): Don't call NPP_DestroyStream if
        the stream didn't start successfully.

2008-07-03  David Hyatt  <hyatt@apple.com>

        Revise Dan's fix for an assert on Windows, since layoutIfNeededRecursive doesn't exist on the
        Mac.  Revert updateControlTints and add the layout call outside of it in the already-existing
        !PLATFORM(MAC) ifdef in FocusController's setActive method.

        Reviewed by ggaren, weinig

        * page/FocusController.cpp:
        (WebCore::FocusController::setActive):
        * page/FrameView.cpp:
        (WebCore::FrameView::updateControlTints):

2008-07-03  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        https://bugs.webkit.org/show_bug.cgi?id=19884
        Locating a store at www.366.ru doesn't work

        Test: fast/forms/submit-with-base.html

        * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Treat empty action the same
        as missing one - ignore base URL.

2008-07-03  Dan Bernstein  <mitz@apple.com>

        Reviewed by John Sullivan.

        - fix <rdar://problem/6048904> Assert in WebCore::Frame::paint in Windows

        * page/FrameView.cpp:
        (WebCore::FrameView::updateControlTints): Changed to update layout
        recursively and not just for the top-level frame.

2008-07-03  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Geoff.

        Bug 19853: REGRESSION (r34838): Crash when visiting http://www.thewebsiteisdown.com/salesguy.html
        https://bugs.webkit.org/show_bug.cgi?id=19853

        Remove the body of _NPN_SetException(), because it was simply calling
        throwError(), which sets an exception on an ExecState but does not
        actually handle it. The presence of an exception on the global ExecState
        causes assertions that there is no exception set on that ExecState to
        fail, as well as causing Machine::execute() to mistakingly return 0 in
        some cases, as it assumes the presence of an exception implies that it
        has run out of memory.

        * bridge/NP_jsobject.cpp:
        (_NPN_SetException):

2008-07-03  Maciej Katafiasz  <mathrick@gmail.com>

        Gtk build fix with SVG filters enabled

        * GNUmakefile.am: Include missing SVG filter sources

2008-07-03  Simon Hausmann  <hausmann@webkit.org>

        Fix the Qt build, added FilterEffect to the build.

        * WebCore.pro:

2008-07-02  Brady Eidson  <beidson@apple.com>

        Reviewed by Mitz Pettel and John Sullivan

        Fix for <rdar://problem/5549871> - Crash when calling [WebView stopLoading:] or [WebFrame stopLoading] 
        inside of the frame load delegate method -webView:didStartProvisionalLoadForFrame:.

        Test: fast/loader/stop-provisional-loads.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Since the provisionalDocumentLoader may have been cleared
          by the prepareForLoadStart() call, null check it again.

2008-07-01  Alex Mathews  <possessedpenguinbob@gmail.com>

        Reviewed by Oliver Hunt.

        Renaming of class SVGFEBlend to FEBlend as well as removing
        a little bit of antiquated code. This includes the removal of
        SVGFEBlendCg.mm; the feBlend element will now no longer
        render. 

        * WebCore.xcodeproj/project.pbxproj:
        * svg/FilterBuilder.h:
        (WebCore::FilterBuilder::add):
        (WebCore::FilterBuilder::getEffectById):
        * svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::SVGFEBlendElement):
        (WebCore::SVGFEBlendElement::parseMappedAttribute):
        (WebCore::SVGFEBlendElement::filterEffect):
        (WebCore::SVGFEBlendElement::build):
        * svg/SVGFEBlendElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        * svg/graphics/filters/SVGFEBlend.cpp:
        (WebCore::FEBlend::FEBlend):
        (WebCore::FEBlend::create):
        (WebCore::FEBlend::in2):
        (WebCore::FEBlend::setIn2):
        (WebCore::FEBlend::blendMode):
        (WebCore::FEBlend::setBlendMode):
        (WebCore::FEBlend::apply):
        (WebCore::FEBlend::dump):
        * svg/graphics/filters/SVGFEBlend.h:
        (WebCore::):
        * svg/graphics/filters/cg/SVGFEBlendCg.mm: Removed.

2008-07-02  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin.

        Fix for <rdar://problem/6015523> Implement ARIA ranges/sliders
        and
        <rdar://problem/5934355> Need to implement ARIA role="spinbutton"

        * page/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isSlider):
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isSlider):
        (WebCore::AccessibilityRenderObject::valueForRange):
        (WebCore::AccessibilityRenderObject::maxValueForRange):
        (WebCore::AccessibilityRenderObject::minValueForRange):
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): We 
        were addressing the generic has-an-ARIA-role case too early here.
        (WebCore::AccessibilityRenderObject::focusedUIElement): This is a 
        bug I ran into while testing role='spinbutton', spinbutton is a 
        role that can have an active descendant. But we were always trying 
        to forward focus to the active descendant, even if one was not 
        specified. 
        (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant): 
        'spinbutton' maps to ProgressIndicatorRole.
        (WebCore::RoleEntry::):
        (WebCore::AccessibilityRenderObject::canSetValueAttribute):
        * page/AccessibilityRenderObject.h:
        * page/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2008-07-02  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adam Roben.

        - Windows build fix

        Renamed the ERROR token in the XPath grammar to XPATH_ERROR, because
        the ERROR macro is defined in <wingdi.h>.

        * xml/XPathGrammar.y:
        * xml/XPathParser.cpp:
        (WebCore::XPath::Parser::lexString):
        (WebCore::XPath::Parser::nextTokenInternal):

2008-07-02  Alexey Proskuryakov  <ap@webkit.org>

        Inspired and reviewed by Mark Rowe.

        Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style.

        * bindings/objc/ExceptionHandlers.h:
        * bindings/objc/WebScriptObject.mm:
        * dom/Document.cpp:
        * dom/Node.cpp:
        * page/Frame.cpp:
        * page/InspectorController.cpp:
        * page/JavaScriptProfileNode.cpp:
        * page/mac/FrameMac.mm:
        * platform/mac/ThreadCheck.mm:
        * xml/XMLHttpRequest.cpp:

2008-07-02  Simon Hausmann  <hausmann@webkit.org>

        Fix the Gtk build.

        * plugins/gtk/PluginViewGtk.cpp: Adapt to JSLock API changes.
        (WebCore::PluginView::paint):
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::handleMouseEvent):
        (WebCore::PluginView::setNPWindowRect):
        (WebCore::PluginView::stop):
        (WebCore::PluginView::init):

2008-07-02  Simon Hausmann  <hausmann@webkit.org>

        Build fixes.

        * WebCore.pro: Added plugins/PluginMainThreadScheduler.cpp to the
        build.
        * bridge/qt/qt_instance.cpp: Adjust to JSLock API change.
        * bridge/qt/qt_runtime.cpp: Ditto.
        (KJS::Bindings::convertValueToQVariant):
        (KJS::Bindings::convertQVariantToValue):
        (KJS::Bindings::QtRuntimeMetaMethod::call):
        (KJS::Bindings::QtRuntimeConnectionMethod::call):
        (KJS::Bindings::QtConnectionObject::execute):
        * page/JavaScriptProfileNode.cpp: Inlude kjs/JSValue.h instead of
        JavaScriptCore/JSValue.h.
        * plugins/qt/PluginViewQt.cpp: Adjust to JSLock API changes.
        (WebCore::PluginView::setNPWindowRect): Ditto.
        (WebCore::PluginView::stop): Ditto.
        (WebCore::PluginView::init): Ditto.

2008-07-02  Alexey Proskuryakov  <ap@webkit.org>

        Build fix.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::start):
        (WebCore::getString):
        (WebCore::PluginView::performRequest):
        (WebCore::PluginView::bindingInstance):
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::dispatchNPEvent):
        (WebCore::PluginView::setNPWindowRect):
        (WebCore::PluginView::stop):
        Pass false to JSLock and JSLock::DropAllLocks constructors.

2008-07-01  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoff Garen.

        <rdar://problem/5974306> CanvasRenderingContext2D becomes invalid when source canvas element is collected

        In order to fix this we now make the rendering context and the canvas element
        share the same reference count, ensuring that references to the rendering
        context will force the canvas element to remain live as well.

        Test: fast/canvas/canvas-longlived-context.html

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
        (WebCore::CanvasRenderingContext2D::createImageData):
        (WebCore::CanvasRenderingContext2D::getImageData):
        (WebCore::CanvasRenderingContext2D::putImageData):
        * html/CanvasRenderingContext2D.h:
        (WebCore::CanvasRenderingContext2D::create):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):
        * html/HTMLCanvasElement.h:

2008-07-01  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        Disable JSLock for per-thread contexts.

        * bridge/runtime_root.cpp:
        (KJS::Bindings::RootObject::invalidate):
        (KJS::Bindings::RootObject::gcProtect):
        (KJS::Bindings::RootObject::gcUnprotect):
        Don't lock while calling gcProtect/gcUnprotect, which now has its own implicit lock.

        * storage/Database.cpp: (WebCore::Database::Database): Call Heap::setGCProtectNeedsLocking
        to indicate that protected value list can be concurrently accessed from multiple threads now.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::loadRequestSynchronously): There is no need to drop the locks here,
        as fake locks cannot deadlock, and there is no danger that someone will try to take a real
        JSLock on the main thread while we are waiting for response.
        (WebCore::XMLHttpRequest::loadRequestAsynchronously): There is no need to explicitly lock
        around gcProtect/gcUnprotect now.
        (WebCore::XMLHttpRequest::dropProtection): Access heap directly, rather than via
        JSGlobalData::threadInstance().

        * bindings/js/GCController.cpp:
        (WebCore::collect):
        (WebCore::GCController::gcTimerFired):
        (WebCore::GCController::garbageCollectNow):
        (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
        * 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/JSDOMWindowBase.cpp:
        (WebCore::DOMWindowTimer::~DOMWindowTimer):
        (WebCore::JSDOMWindowBase::clear):
        (WebCore::JSDOMWindowBase::timerFired):
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSAbstractEventListener::handleEvent):
        (WebCore::JSLazyEventListener::parseCode):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::acceptNode):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluate):
        (WebCore::ScriptController::clear):
        (WebCore::ScriptController::createHTMLEventHandler):
        (WebCore::ScriptController::createSVGEventHandler):
        (WebCore::ScriptController::initScript):
        (WebCore::ScriptController::updateDocument):
        * 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_SetException):
        (_NPN_Enumerate):
        * bridge/c/c_class.cpp:
        (KJS::Bindings::CClass::~CClass):
        (KJS::Bindings::CClass::methodsNamed):
        (KJS::Bindings::CClass::fieldNamed):
        * bridge/c/c_instance.cpp:
        (KJS::Bindings::CInstance::invokeMethod):
        (KJS::Bindings::CInstance::invokeDefaultMethod):
        (KJS::Bindings::CInstance::getPropertyNames):
        * bridge/c/c_runtime.cpp:
        (KJS::Bindings::CField::valueFromInstance):
        (KJS::Bindings::CField::setValueToInstance):
        * bridge/c/c_utility.cpp:
        (KJS::Bindings::convertValueToNPVariant):
        (KJS::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:
        (KJS::Bindings::dispatchJNICall):
        * bridge/jni/jni_runtime.cpp:
        (JavaMethod::signature):
        * bridge/jni/jni_runtime.h:
        (KJS::Bindings::JavaString::JavaString):
        (KJS::Bindings::JavaString::_commonInit):
        (KJS::Bindings::JavaString::~JavaString):
        (KJS::Bindings::JavaString::UTF8String):
        * bridge/jni/jni_utility.cpp:
        (KJS::Bindings::convertArrayInstanceToJavaArray):
        (KJS::Bindings::convertValueToJValue):
        * bridge/npruntime.cpp:
        (_NPN_GetStringIdentifier):
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::moveGlobalExceptionToExecState):
        (ObjcInstance::invokeMethod):
        (ObjcInstance::invokeDefaultMethod):
        (ObjcInstance::setValueOfUndefinedField):
        (ObjcInstance::getValueOfUndefinedField):
        * bridge/objc/objc_runtime.mm:
        (ObjcField::valueFromInstance):
        (ObjcField::setValueToInstance):
        * bridge/objc/objc_utility.mm:
        (KJS::Bindings::convertValueToObjcValue):
        (KJS::Bindings::convertNSStringToString):
        (KJS::Bindings::convertObjcValueToValue):
        * bridge/runtime.cpp:
        (KJS::Bindings::Instance::createRuntimeObject):
        * dom/Document.cpp:
        (WebCore::Document::~Document):
        * dom/Node.cpp:
        (WebCore::Node::setDocument):
        * history/CachedPage.cpp:
        (WebCore::CachedPage::CachedPage):
        (WebCore::CachedPage::restore):
        (WebCore::CachedPage::clear):
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::createNPObject):
        * loader/FrameLoader.cpp:
        (WebCore::getString):
        * page/Frame.cpp:
        (WebCore::Frame::bindingRootObject):
        (WebCore::Frame::windowScriptNPObject):
        (WebCore::Frame::clearScriptObjects):
        * page/InspectorController.cpp:
        (WebCore::jsStringRef):
        (WebCore::ConsoleMessage::ConsoleMessage):
        (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
        (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
        (WebCore::getResourceDocumentNode):
        (WebCore::search):
        (WebCore::inspectedWindow):
        (WebCore::wrapCallback):
        (WebCore::currentCallFrame):
        (WebCore::profiles):
        (WebCore::InspectorController::focusNode):
        (WebCore::InspectorController::addDatabaseScriptResource):
        (WebCore::InspectorController::addScriptProfile):
        * page/JavaScriptCallFrame.cpp:
        (WebCore::JavaScriptCallFrame::evaluate):
        * page/JavaScriptProfileNode.cpp:
        (WebCore::getTotalTime):
        (WebCore::getSelfTime):
        (WebCore::getTotalPercent):
        (WebCore::getSelfPercent):
        (WebCore::getNumberOfCalls):
        (WebCore::getChildren):
        (WebCore::getVisible):
        * page/mac/FrameMac.mm:
        (WebCore::Frame::windowScriptObject):
        Pass a parameter (always false) to JSLock and JSLock::DropAllLocks to indicate that WebCore
        doesn't need locking. In the future, it may be possible to remove some of these if we
        establish that this won't make JSC assertions fail (and that we don't want to add such
        assertions either).
        Added includes that are now needed.

2008-07-01  Dan Bernstein  <mitz@apple.com>

        Reviewed by Oliver Hunt.

        - fix a CSSParserValueList leak seen on the build bot

        * css/CSSParser.cpp:
        (WebCore::BorderImageParseContext::commitBorderImage):

2008-07-01  Alex Mathews  <possessedpenguinbob@gmail.com>

        Reviewed by Oliver Hunt.

        Prep for more Filter class name changes. Added the first few files for
        the new Filter architecture to come.

        * WebCore.xcodeproj/project.pbxproj:
        * svg/Filter.cpp: Added.
        (WebCore::Filter::Filter):
        (WebCore::Filter::create):
        * svg/Filter.h: Added.
        * svg/FilterBuilder.h: Added.
        (WebCore::FilterBuilder::add):
        (WebCore::FilterBuilder::getEffectById):
        (WebCore::FilterBuilder::filter):
        * svg/FilterEffect.cpp: Added.
        (WebCore::FilterEffect::FilterEffect):
        (WebCore::FilterEffect::~FilterEffect):
        * svg/FilterEffect.h: Added.

2008-07-01  Christian Dywan  <christian@twotoasts.de>

        Gtk+ build fix.

        * GNUmakefile.am: add WebCore/plugins/PluginMainThreadScheduler.cpp

2008-07-01  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin.

        Add PluginMainThreadScheduler.{cpp|h} to build.
        
        * WebCore.base.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * plugins/PluginMainThreadScheduler.cpp:

2008-07-01  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - move the method to set the base writing direction from Frame to Editor

        * WebCore.base.exp: Updated.
        * editing/Editor.cpp:
        (WebCore::Editor::setBaseWritingDirection): Changed the parameter to a
        WritingDirection enum value and added the special behavior when the
        focused node is a text field or a text area.
        * editing/Editor.h:
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected): Changed back
        to call the Editor method.
        * page/Frame.cpp: Removed setSelectionBaseWritingDirection().
        * page/Frame.h:

2008-07-01  Darin Adler  <darin@apple.com>

        Reviewed by Oliver.

        - slight tweak of the setHash fix

        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::setHash): Use oldRef instead of recomputing url.ref().

2008-07-01  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        - Mac release build fix

        * page/Console.cpp:

2008-07-01  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        - fix <rdar://problem/6045896> REGRESSION: Leak in WebCore::StringImpl::create

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::cleanup):

2008-07-01  Anders Carlsson  <andersca@apple.com>

        Reviewed by Jon.

        Don't add the Mozilla user agent quirk for Flash 10.
        
        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::isPluginBlacklisted):
        (WebCore::PluginPackage::determineQuirks):

2008-07-01  David Kilzer  <ddkilzer@apple.com>

        Move data: URL parsing code in HTMLObjectElement to KURL

        Reviewed by Ada and Darin.

        No test cases added since there is no change in behavior.

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::isImageType): Extracted data: URL
        parsing code into WebCore::mimeTypeFromDataURL() in KURL.cpp.
        * platform/KURL.cpp:
        (WebCore::mimeTypeFromDataURL): Added.
        * platform/KURL.h:
        (WebCore::mimeTypeFromDataURL): Added.

2008-07-01  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/6045890> REGRESSION: Leak in WebCore::CSSParser::createFloatingValueList()

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

2008-07-01  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Brady Eidson.

        Bug 19822: REGRESSION (r30243): setting location.hash to "#" causes a reload
        <https://bugs.webkit.org/show_bug.cgi?id=19822>

        Change JSLocation::setHash() to not schedule navigation in the case
        where the old fragment is the null String and the new fragment is an
        empty String.

        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::setHash):

2008-06-30  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Add PluginMainThreadScheduler, a singleton which is responsible for scheduling plug-in 
        callbacks on the main thread. Use this to implement NPN_PluginThreadAsyncCall on Windows.
        
        * WebCore.vcproj/WebCore.vcproj:
        Add PluginMainThreadScheduler.{cpp|h}
        
        * plugins/PluginMainThreadScheduler.cpp: Added.
        * plugins/PluginMainThreadScheduler.h: Added.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::start):
        Register with the thread scheduler.
        
        * plugins/npapi.cpp:
        (NPN_PluginThreadAsyncCall):
        Call the thread scheduler.
        
        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::load):
        Initialize the NPN_PluginThreadAsyncCall callback.
        
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::stop):
        Unregister with the scheduler. This makes sure that we won't try to deliver callbacks
        after the plug-in has been destroyed.

2008-07-01  Adam Roben  <aroben@apple.com>

        Roll out r34913, as it broke the Windows build due to bad casting

        r34913 introduced code that assigned pointers-to-member from a derived
        class into a base class pointer-to-member type (e.g., assigned a void
        (SVGUseElement::*)() into a void (SVGElement::*)()). This is bad
        because it could allow us to call SVGUseElement member functions on a
        different SVGElement-derived class. MSVC rightly flagged this as an
        error.

        Rubberstamped by Anders Carlsson.

2008-07-01  Darin Adler  <darin@apple.com>

        - fix build

        * bindings/scripts/CodeGeneratorJS.pm: Fix warnings that indicate this was
        not working propertly.

2008-07-01  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix <rdar://problem/6045893> REGRESSION: Leak in WebCore::HTMLCanvasElement::createPlatformImage() const

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::createPattern):

2008-07-01  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Split JSCell and JSNumberCell class declarations out of JSValue.h

        * ForwardingHeaders/kjs/JSNumberCell.h: Added.
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/c/c_instance.cpp:

2008-07-01  chris fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin

        <rdar://problem/6041580> REGRESSION: AX: AXSize of radio buttons is 0,0

        Test: accessibility/radio-button-checkbox-size.html

        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):

2008-07-01  Dan Bernstein  <mitz@apple.com>

        Reviewed by Antti Koivisto.

        - fix SVG pointer-events layout test failures

        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):

2008-07-01  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Antti.

        Fixes: https://bugs.webkit.org/show_bug.cgi?id=19841
        Fix two small problems in the gradient & pattern code.

        Added 12 new layout tests: svg/dynamic-updates/SVGLinearGradientElement*.html

        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::collectGradientProperties): Compare against already computed bounding box information, instead of querying attributes.
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::collectPatternProperties): Ditto.
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::collectGradientProperties): Ditto.
        (WebCore::SVGRadialGradientElement::svgAttributeChanged): 'fxAttr' updating wasn't handled. Copy'n'paste error.

2008-07-01  Simon Hausmann  <hausmann@webkit.org>

        Fix the build, include SVGTransformList.h instead of
        SVGTransformlist.h

        * svg/SVGGradientElement.h:

2008-07-01  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Antti.

        <rdar://problem/6033080> REGRESSION: Some CH characters display as garbage on webpage for
        the first time.

        Test: fast/encoding/preload-encoding.html

        * html/PreloadScanner.cpp:
        (WebCore::PreloadScanner::tokenize): Reset charset when entering a tag, not just when
        starting a load.

2008-07-01  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Antti & Eric.

        Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)

        SVG Errata states: "All SVG DOM objects that directly correspond to an
        attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
        means that any changes made to the attribute are immediately reflected in the
        corresponding SVG DOM object." (see linked URL on bug report)

        Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
        element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).

        Add a new synchronization layer to handle SVG DOM -> XML changes.

        Global macro change #1: ANIMATED_PROPERTY_FORWARD_DECLARATIONS contains the class name where it's defined as first parameter.
        Global macro change #2: Add ANIMATED_PROPERTY_START_DECLARATIONS to all direct base-classes.
        Global macro change #3: Rename ANIMATED_PROPERTY_DEFINITIONS to ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED for refcounted types (ie. SVGTransformList*).

        Added test: svg/custom/svg-xml-dom-sync.html
        Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)

        * dom/Element.cpp:
        (WebCore::Element::Element): Initialize the two new bits.
        (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
        (WebCore::Element::getAttribute): Ditto.
        (WebCore::Element::hasAttributes): Ditto.
        * dom/Element.h: Add two bits: m_synchronizedSVGAttributes/m_synchronizingSVGAttribute, to track synchronization status.
        (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
        * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
        * svg/SVGAElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGAElement::contextElement): Return non-const value.
        * svg/SVGAltGlyphElement.h:
        (WebCore::SVGAltGlyphElement::contextElement): Ditto.
        * svg/SVGAnimateElement.h:
        (WebCore::SVGAnimateElement::contextElement): Ditto.
        * svg/SVGAnimateMotionElement.h:
        (WebCore::SVGAnimateMotionElement::contextElement): Ditto.
        * svg/SVGAnimateTransformElement.h:
        (WebCore::SVGAnimateTransformElement::contextElement): Ditto.
        * svg/SVGAnimatedTemplate.h: Add toString() conversion to all SVGAnimated* classes
        (WebCore::SVGAnimatedTemplate::toString):
        (WebCore::SVGAnimatedTemplate::associatedAttributeName):
        (WebCore::lookupOrCreateWrapper):
        (WebCore::SVGAnimatedAngle::SVGAnimatedAngle): 
        (WebCore::SVGAnimatedAngle::toString):
        (WebCore::SVGAnimatedBoolean::SVGAnimatedBoolean):
        (WebCore::SVGAnimatedBoolean::toString):
        (WebCore::SVGAnimatedEnumeration::SVGAnimatedEnumeration):
        (WebCore::SVGAnimatedEnumeration::toString):
        (WebCore::SVGAnimatedInteger::SVGAnimatedInteger):
        (WebCore::SVGAnimatedInteger::toString):
        (WebCore::SVGAnimatedLength::SVGAnimatedLength):
        (WebCore::SVGAnimatedLength::toString):
        (WebCore::SVGAnimatedLengthList::SVGAnimatedLengthList):
        (WebCore::SVGAnimatedLengthList::toString):
        (WebCore::SVGAnimatedNumber::SVGAnimatedNumber):
        (WebCore::SVGAnimatedNumber::toString):
        (WebCore::SVGAnimatedNumberList::SVGAnimatedNumberList):
        (WebCore::SVGAnimatedNumberList::toString):
        (WebCore::SVGAnimatedPreserveAspectRatio::SVGAnimatedPreserveAspectRatio):
        (WebCore::SVGAnimatedPreserveAspectRatio::toString):
        (WebCore::SVGAnimatedRect::SVGAnimatedRect):
        (WebCore::SVGAnimatedRect::toString):
        (WebCore::SVGAnimatedString::SVGAnimatedString):
        (WebCore::SVGAnimatedString::toString):
        (WebCore::SVGAnimatedTransformList::SVGAnimatedTransformList):
        (WebCore::SVGAnimatedTransformList::toString):
        (WebCore::SVGAnimatedType::SVGAnimatedType):
        * svg/SVGAnimationElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        * svg/SVGCircleElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGCircleElement::contextElement): Return non-const value.
        * svg/SVGClipPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGClipPathElement::contextElement): Return non-const value.
        * svg/SVGComponentTransferFunctionElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
        * svg/SVGComponentTransferFunctionElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this class is a base class.
        * svg/SVGCursorElement.cpp: Wrap SVGLength objects in SVGLength() statements.
        (WebCore::SVGCursorElement::SVGCursorElement):
        * svg/SVGCursorElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. Add ANIMATED_PROPERTY_START_DECLARATIONS.
        (WebCore::SVGCursorElement::contextElement): Return non-const value.
        * svg/SVGDefsElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGDefsElement::contextElement): Return non-const value.
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
        (WebCore::SVGElement::setSynchronizedSVGAttributes):
        * svg/SVGElement.h: Add helper class "StoredTypeWithDirtyFlag".
        (StoredTypeWithDirtyFlag::StoredTypeWithDirtyFlag): Tracks a type and a flag indicating that SVG<->XML DOM synchronization has to be done.
        (StoredTypeWithDirtyFlag::operator=):
        (StoredTypeWithDirtyFlag::operator==):
        (StoredTypeWithDirtyFlag::operator!=):
        (StoredTypeWithDirtyFlag::operator StoredType):
        (WebCore::SVGElement::invokeSVGPropertySynchronizer): New set of functions taking care of invoking the update handlers.
        (WebCore::SVGElement::invokeAllSVGPropertySynchronizers): Ditto.
        (WebCore::SVGElement::addSVGPropertySynchronizer): Ditto.
        * svg/SVGEllipseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
        (WebCore::SVGEllipseElement::SVGEllipseElement):
        * svg/SVGEllipseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGEllipseElement::contextElement): Return non-const value.
        * svg/SVGExternalResourcesRequired.h: Change contextElement() to return a non-const value.
        * svg/SVGFEBlendElement.h:
        (WebCore::SVGFEBlendElement::contextElement): Return non-const value.
        * svg/SVGFEColorMatrixElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
        * svg/SVGFEColorMatrixElement.h:
        (WebCore::SVGFEColorMatrixElement::contextElement): Return non-const value.
        * svg/SVGFEComponentTransferElement.h:
        (WebCore::SVGFEComponentTransferElement::contextElement): Return non-const value.
        * svg/SVGFECompositeElement.h:
        (WebCore::SVGFECompositeElement::contextElement): Return non-const value.
        * svg/SVGFEDiffuseLightingElement.h:
        (WebCore::SVGFEDiffuseLightingElement::contextElement): Return non-const value.
        * svg/SVGFEDisplacementMapElement.h:
        (WebCore::SVGFEDisplacementMapElement::contextElement): Return non-const value.
        * svg/SVGFEFloodElement.h:
        (WebCore::SVGFEFloodElement::contextElement): Return non-const value.
        * svg/SVGFEGaussianBlurElement.h:
        (WebCore::SVGFEGaussianBlurElement::contextElement): Return non-const value.
        * svg/SVGFEImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
        * svg/SVGFEImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGFEImageElement::contextElement): Return non-const value.
        * svg/SVGFELightElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
        * svg/SVGFEMergeElement.h:
        (WebCore::SVGFEMergeElement::contextElement): Return non-const value.
        * svg/SVGFEMergeNodeElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
        (WebCore::SVGFEMergeNodeElement::contextElement): Return non-const value.
        * svg/SVGFEOffsetElement.h:
        (WebCore::SVGFEOffsetElement::contextElement): Return non-const value.
        * svg/SVGFESpecularLightingElement.h:
        (WebCore::SVGFESpecularLightingElement::contextElement): Return non-const value.
        * svg/SVGFETileElement.h:
        (WebCore::SVGFETileElement::contextElement): Return non-const value.
        * svg/SVGFETurbulenceElement.h:
        (WebCore::SVGFETurbulenceElement::contextElement): Return non-const value.
        * svg/SVGFilterElement.cpp: Wrap SVGLength objects in SVGLength() statements.
        (WebCore::SVGFilterElement::SVGFilterElement):
        * svg/SVGFilterElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGFilterElement::contextElement): Return non-const value.
        * svg/SVGFilterPrimitiveStandardAttributes.cpp: Wrap SVGLength objects in SVGLength() statements.
        (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
        * svg/SVGFilterPrimitiveStandardAttributes.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement): Return non-const value.
        * svg/SVGFitToViewBox.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
        * svg/SVGFitToViewBox.h: Change contextElement() to return a non-const value.
        * svg/SVGFontElement.h:
        (WebCore::SVGFontElement::contextElement): Return non-const value.
        * svg/SVGForeignObjectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
        * svg/SVGForeignObjectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGForeignObjectElement::contextElement): Return non-const value.
        * svg/SVGGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGGElement::contextElement): Return non-const value.
        * svg/SVGGradientElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
        * svg/SVGGradientElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        * svg/SVGImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
        (WebCore::SVGImageElement::SVGImageElement):
        * svg/SVGImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGImageElement::contextElement): Return non-const value.
        * svg/SVGLengthList.cpp:
        (WebCore::SVGLengthList::valueAsString): Add new function converting SVG values to strings.
        * svg/SVGLengthList.h:
        * svg/SVGLineElement.cpp: Wrap SVGLength objects in SVGLength() statements.
        (WebCore::SVGLineElement::SVGLineElement):
        * svg/SVGLineElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGLineElement::contextElement): Return non-const value.
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): Wrap SVGLength objects in SVGLength() statements.
        (WebCore::SVGLinearGradientElement::collectGradientProperties):
        * svg/SVGLinearGradientElement.h:
        (WebCore::SVGLinearGradientElement::contextElement): Return non-const value.
        * svg/SVGMPathElement.h:
        (WebCore::SVGMPathElement::contextElement): Return non-const value.
        * svg/SVGMarkerElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
        (WebCore::SVGMarkerElement::SVGMarkerElement):
        * svg/SVGMarkerElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGMarkerElement::contextElement): Return non-const value.
        * svg/SVGMaskElement.cpp: Wrap SVGLength objects in SVGLength() statements.
        (WebCore::SVGMaskElement::SVGMaskElement):
        * svg/SVGMaskElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGMaskElement::contextElement): Return non-const value.
        * svg/SVGNumberList.cpp:
        (WebCore::SVGNumberList::valueAsString): Add new function converting SVG values to strings.
        * svg/SVGNumberList.h:
        * svg/SVGPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGPathElement::contextElement): Return non-const value.
        * svg/SVGPatternElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
        (WebCore::SVGPatternElement::SVGPatternElement):
        (WebCore::SVGPatternElement::collectPatternProperties):
        * svg/SVGPatternElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGPatternElement::contextElement): Return non-const value.
        * svg/SVGPolyElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGPolyElement::contextElement): Return non-const value.
        * svg/SVGPreserveAspectRatio.cpp:
        (WebCore::SVGPreserveAspectRatio::valueAsString): Add new function converting SVG values to strings.
        * svg/SVGPreserveAspectRatio.h:
        * svg/SVGRadialGradientElement.cpp: Wrap SVGLength objects in SVGLength() statements.
        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
        (WebCore::SVGRadialGradientElement::svgAttributeChanged):
        (WebCore::SVGRadialGradientElement::collectGradientProperties):
        * svg/SVGRadialGradientElement.h:
        (WebCore::SVGRadialGradientElement::contextElement): Return non-const value.
        * svg/SVGRectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
        (WebCore::SVGRectElement::SVGRectElement):
        * svg/SVGRectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGRectElement::contextElement): Return non-const value.
        * svg/SVGSVGElement.cpp: Wrap SVGLength objects in SVGLength() statements.
        (WebCore::SVGSVGElement::SVGSVGElement):
        (WebCore::SVGSVGElement::currentView): Pass non-const SVGSVGElement* object to SVGViewSpec.
        * svg/SVGSVGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGSVGElement::contextElement): Return non-const value.
        * svg/SVGScriptElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGScriptElement::contextElement): Return non-const value.
        * svg/SVGStyledElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
        * svg/SVGStyledTransformableElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
        * svg/SVGStyledTransformableElement.h:
        * svg/SVGSwitchElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGSwitchElement::contextElement): Return non-const value.
        * svg/SVGSymbolElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGSymbolElement::contextElement): Return non-const value.
        * svg/SVGTRefElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGTRefElement::contextElement): Return non-const value.
        * svg/SVGTSpanElement.h:
        (WebCore::SVGTSpanElement::contextElement): Return non-const value.
        * svg/SVGTextContentElement.cpp: Wrap SVGLength objects in SVGLength() statements.
        (WebCore::SVGTextContentElement::SVGTextContentElement):
        * svg/SVGTextContentElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        * svg/SVGTextElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
        * svg/SVGTextElement.h:
        (WebCore::SVGTextElement::contextElement): Return non-const value.
        * svg/SVGTextPathElement.cpp: Wrap SVGLength objects in SVGLength() statements.
        (WebCore::SVGTextPathElement::SVGTextPathElement):
        * svg/SVGTextPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGTextPathElement::contextElement): Return non-const value.
        * svg/SVGTextPositioningElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
        * svg/SVGTextPositioningElement.h:
        * svg/SVGTransformList.cpp:
        (SVGTransformList::valueAsString): Add new function converting SVG values to strings.
        * svg/SVGTransformList.h:
        * svg/SVGURIReference.h: Change contextElement() to return a non-const value.
        * svg/SVGUseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
        (WebCore::SVGUseElement::SVGUseElement):
        * svg/SVGUseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGUseElement::contextElement): Return non-const value.
        * svg/SVGViewElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
        (WebCore::SVGViewElement::contextElement): Return non-const value.
        * svg/SVGViewSpec.cpp:
        (WebCore::SVGViewSpec::SVGViewSpec): Pass non-const context element in constructor.
        (WebCore::SVGViewSpec::contextElement): Return non-const value.
        * svg/SVGViewSpec.h:

2008-07-01  Alex Mathews  <possessedpenguinbob@gmail.com>

        Reviewed by Nikolas Zimmermann.

        Class name changes for SVG Light Effect files. The class names that changed :

        SVGLightSource -> LightSource
        SVGDistantLightSource -> DistantLightSource
        SVGPointLightSource -> PointLightSource
        SVGSpotLightSource -> SpotLightSource

        Every other file that is changed is just propagating the class name changes to
        dependent files.

        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::updateLights):
        * svg/SVGFEDistantLightElement.cpp:
        (WebCore::SVGFEDistantLightElement::lightSource):
        * svg/SVGFEDistantLightElement.h:
        * svg/SVGFELightElement.h:
        * svg/SVGFEPointLightElement.cpp:
        (WebCore::SVGFEPointLightElement::lightSource):
        * svg/SVGFEPointLightElement.h:
        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::updateLights):
        * svg/SVGFESpotLightElement.cpp:
        (WebCore::SVGFESpotLightElement::lightSource):
        * svg/SVGFESpotLightElement.h:
        * svg/graphics/filters/SVGDistantLightSource.h:
        (WebCore::DistantLightSource::DistantLightSource):
        (WebCore::DistantLightSource::azimuth):
        (WebCore::DistantLightSource::elevation):
        * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
        (WebCore::SVGFEDiffuseLighting::lightSource):
        (WebCore::SVGFEDiffuseLighting::setLightSource):
        * svg/graphics/filters/SVGFEDiffuseLighting.h:
        * svg/graphics/filters/SVGFESpecularLighting.cpp:
        (WebCore::SVGFESpecularLighting::lightSource):
        (WebCore::SVGFESpecularLighting::setLightSource):
        * svg/graphics/filters/SVGFESpecularLighting.h:
        * svg/graphics/filters/SVGLightSource.cpp:
        (WebCore::PointLightSource::externalRepresentation):
        (WebCore::SpotLightSource::externalRepresentation):
        (WebCore::DistantLightSource::externalRepresentation):
        * svg/graphics/filters/SVGLightSource.h:
        (WebCore::):
        (WebCore::LightSource::LightSource):
        (WebCore::LightSource::~LightSource):
        (WebCore::LightSource::type):
        * svg/graphics/filters/SVGPointLightSource.h:
        (WebCore::PointLightSource::PointLightSource):
        (WebCore::PointLightSource::position):
        * svg/graphics/filters/SVGSpotLightSource.h:
        (WebCore::SpotLightSource::SpotLightSource):
        (WebCore::SpotLightSource::position):
        (WebCore::SpotLightSource::direction):
        (WebCore::SpotLightSource::specularExponent):
        (WebCore::SpotLightSource::limitingConeAngle):
        * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
        (WebCore::SVGFEDiffuseLighting::getCIFilter):
        * svg/graphics/filters/cg/SVGFEHelpersCg.h:
        * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
        (WebCore::getLightVectors):
        * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
        (WebCore::SVGFESpecularLighting::getCIFilter):

2008-07-01  Alp Toker  <alp@nuanti.com>

        Rubber-stamped by Holger.

        autotools cleanup: move some GTK+-specific sources from libwebcore to
        libwebcoregtk.

        * GNUmakefile.am:

2008-07-01  Dan Bernstein  <mitz@apple.com>

        Reviewed by Oliver Hunt.

        - fix the non-SVG build

        * css/CSSValueKeywords.in: Added 'all'.
        * css/SVGCSSValueKeywords.in: Removed 'all'.

2008-07-01  Simon Hausmann  <hausmann@webkit.org>

        Build fix, include DateInstance.h.

        * bridge/qt/qt_runtime.cpp:

2008-06-30  Adele Peterson  <adele@apple.com>

        Reviewed by Oliver.

        Fix for <rdar://problem/5882050> clicking in hidden close box area of empty searchfield causes mousedown to stop firing

        Test: fast/forms/search-hidden-cancel-button.html

        * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler):
          Don't start capturing mouse events if the cancel button isn't visible.  This was causing the button to start but never stop capturing mouse events.

2008-06-30  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Darin Adler.

        Split InternalFunction into its own header file.

        * ForwardingHeaders/kjs/InternalFunction.h: Added.
        * bridge/runtime_method.h:

2008-06-30  Adele Peterson  <adele@apple.com>

        Reviewed by Anders.

        Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas

        Test: editing/selection/select-all-textarea.html

        * dom/Node.cpp:
        (WebCore::Node::shadowAncestorNode): Break out code to find the root of the shadow tree into a new helper function.
        (WebCore::Node::shadowTreeRootNode): Added helper function.
        * dom/Node.h:
        * dom/Range.cpp: (WebCore::Range::shadowTreeRootNode): Added helper function.
        * dom/Range.h:
        * editing/Selection.cpp: (WebCore::Selection::shadowTreeRootNode): ditto.
        * editing/Selection.h:
        * editing/SelectionController.h: (WebCore::SelectionController::shadowTreeRootNode): ditto.
        * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll):
        If the selection is in a shadow tree, only select the contents of that shadow tree, not the whole document.
        * page/Frame.cpp:
        (WebCore::Frame::findString): Use the new shadowTreeRootNode helper functions.
        (WebCore::Frame::markAllMatchesForText): ditto.

2008-06-30  chris fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin

        <rdar://problem/4180780> Add attribute to get all the radio buttons in a set

        * page/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::linkedUIElements):
        * page/AccessibilityObject.h:
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::internalLinkElement):
        (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
        (WebCore::AccessibilityRenderObject::linkedUIElements):
        * page/AccessibilityRenderObject.h:
        * page/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2008-06-30  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adele Peterson.

        - WebCore part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari

        * WebCore.base.exp: Removed Editor::setBaseWritingDirection() and added
        Frame::setSelectionBaseWritingDirection().
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected): Changed to
        call Frame::setSelectionBaseWritingDirection().
        * page/Frame.cpp:
        (WebCore::Frame::setSelectionBaseWritingDirection): Added. If the
        focused node is a text field or text area, changes its 'dir' attribute.
        This is what IE does when the user changes the writing direction in a
        text control. Otherwise, calls down to Editor::setBaseWritingDirection().
        * page/Frame.h:

2008-06-30  David Kilzer  <ddkilzer@apple.com>

        Improve HTMLObjectElement data encapsulation

        Reviewed by Dave Hyatt.

        HTMLObjectElement has some public member variables that should be
        private with accessor methods.

        No test cases added since there is no change in behavior.

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::HTMLObjectElement): Reorder
        initialization of member variables to match defined order in header.
        * html/HTMLObjectElement.h:
        (WebCore::HTMLObjectElement::classId): Added.
        (WebCore::HTMLObjectElement::url): Added.
        (WebCore::HTMLObjectElement::serviceType): Added.
        * rendering/RenderPartObject.cpp:
        (WebCore::RenderPartObject::updateWidget): Use new accessor methods
        in HTMLObjectElement now that its member variables are private.

2008-06-30  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        - remove unused member variable

        * page/Page.h: Removed Page::m_focusedNode.

2008-06-30  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        <rdar://problem/6014209>
        Crash when loading manifest from application cache fails
        
        There is no need to set any handles to 0 after calling cacheUpdateFailed(), since
        that is done inside the function. Furthermore, after calling cacheUpdateFailed() the cache
        group could be deleted causing us to access freed memory and then crashing.
        
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didReceiveResponse):
        (WebCore::ApplicationCacheGroup::didFail):
        (WebCore::ApplicationCacheGroup::didFailToLoadManifest):

2008-06-30  Adam Roben  <aroben@apple.com>

        Fix <rdar://5954749> Assertion failure due to HashTable's use of
        operator&

        Reviewed by Ada Chan.

        * bindings/js/JSSVGPODTypeWrapper.h:
        * dom/Document.h:
        * dom/StyledElement.cpp:
        * platform/graphics/FontCache.cpp:
        * platform/graphics/IntSizeHash.h:
        (WTF::):
        * platform/text/StringHash.h:
        * platform/win/COMPtr.h:
        * svg/SVGAnimatedTemplate.h:
        Updated all custom HashTraits for HashTable changes.

2008-06-30  Simon Hausmann  <hausmann@webkit.org>

        Fix the Qt build.

        Added missing includes and changed getItem array calls to use get()
        instead.

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

2008-06-29  David Smith  <catfish.man@gmail.com>

        Rubberstamped by Sam Weinig.

        Change a redundant node->isElement() check to an ASSERT for a 1.3% speedup on getElementsByTagName.

        * dom/TagNodeList.cpp:
        (WebCore::TagNodeList::nodeMatches):

2008-06-29  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix SVG layout test regressions

        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule): Made this function work
        again with primitive values, because the @font-face rules SVG fonts
        create still use a single primitive value rather than a value list.

2008-06-29  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        - fix <rdar://problem/5734440> Specifying a font-weight for @font-face not working

        Tests: fast/css/font-face-descriptor-multiple-values-parsing.html
               fast/css/font-face-descriptor-multiple-values.html

        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule): Changed to work with value
        lists for the descriptor properties.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser): Initialize m_hasFontFaceOnlyValues.
        (WebCore::CSSParser::parseValue): Added a call to
        deleteFontFaceOnlyValues() if necessary.
        (WebCore::CSSParser::parseDeclaration): Ditto.
        (WebCore::CSSParser::clearProperties): Added code to reset
        m_hasFontFaceOnlyValues to false.
        (WebCore::CSSParser::parseFontStyle): Added. If there is a single
        valid identifier other than 'all', creates a CSSPrimitiveValue and
        assigns it to the property. If 'all' is the only value, or if there are
        multiple valid identifiers that are not 'all', creates a CSSValueList
        and assigns it to the property, and sets m_hasFontFaceOnlyValues to
        true.
        (WebCore::CSSParser::parseFontVariant): Ditto.
        (WebCore::CSSParser::parseFontWeight): Ditto.
        (WebCore::CSSParser::createStyleRule): Added a call to
        deleteFontFaceOnlyValues().
        (WebCore::CSSParser::createFontFaceRule): Added code to change
        font descriptor properties that had only one value, and therefore were
        assigned a CSSPrimitiveValue, into CSSValueLists containing that value.
        (WebCore::CSSParser::deleteFontFaceOnlyValues): Added. Retroactively
        invalidates font descriptor properties that had values that are only
        allowed in @font-face. Those are identified by having CSSValueLists
        rather than CSSPrimitiveValues as their values.
        * css/CSSParser.h: Added m_hasFontFaceOnlyValues, a flag that says that
        font descriptor property values that are only valid in @font-face were
        encountered. This is used when the style declaration is created (and we
        finally know if it is @font-face or not) to delete invalid properties
        if needed.

2008-06-28  Darin Adler  <darin@apple.com>

        Reviewed by Sam and Cameron.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19805
          Array.concat turns missing array elements into "undefined"

        * bridge/jni/jni_utility.cpp:
        (KJS::Bindings::convertArrayInstanceToJavaArray):
        Use get instead of getItem, since we always want to consider values from the
        prototypes when looking at JavaScript arrays.

2008-06-28  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - allow document markers to touch or overlap if they are not of the same type

        Cannot be tested in DumpRenderTree

        * dom/Document.cpp:
        (WebCore::Document::addMarker):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintDocumentMarkers):

2008-06-28  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Darin Adler.

        Update includes after remaming string_object.h to StringObject.h and
        splitting out StringObjectThatMasqueradesAsUndefined, StringConstructor
        and StringPrototype.

        * ForwardingHeaders/kjs/StringObject.h: Copied from WebCore/ForwardingHeaders/kjs/string_object.h.
        * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Added.
        * ForwardingHeaders/kjs/StringPrototype.h: Added.
        * ForwardingHeaders/kjs/string_object.h: Removed.
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:

2008-06-28  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Oliver Hunt.

        Update includes after remaming object_object.h to ObjectPrototype.h and
        splitting FunctionConstructor out of FunctionPrototype.h

        * ForwardingHeaders/kjs/FunctionConstructor.h: Added.
        * ForwardingHeaders/kjs/ObjectPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/object_object.h.
        * ForwardingHeaders/kjs/object_object.h: Removed.
        * bindings/js/JSEventListener.cpp:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/qt/qt_instance.cpp:

2008-06-28  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix <rdar://problem/5994621> REGRESSION (r31090-r31114): Weather widget shows missing image icons briefly when (re)loaded

        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::updateFromElement): Changed to not load an
        image if the 'src' attribute is the empty string and the document's base
        URI is a file: URL.

2008-06-27  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        <rdar://problem/6025499> Make Cross-site XHR match the final specification

        Update the implemented subset of Access-Control for XMLHttpRequest to the 
        latest version. (Editor's Draft 25 May 2008)

        - Now differentiates between simple and non-simple cross-site requests, the later
          requiring a preflight.
        - Now sends request headers cross-site, limited by a blacklist.
        - Now allows access to cross-site response headers, limited by a whitelist.
        - Now sends request entity body for non-get cross-site requests after preflight.

        Tests: http/tests/xmlhttprequest/access-control-basic-blacklist-request-headers.html
               http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple.html
               http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::isOnAccessControllRequestHeaderBlackList):
        (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
        (WebCore::isOnAccessControlResponseHeaderWhitelist):
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::createRequest):
        (WebCore::XMLHttpRequest::makeSameOriginRequest):
        (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest):
        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
        (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
        (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
        (WebCore::XMLHttpRequest::loadRequestAsynchronously):
        (WebCore::XMLHttpRequest::abort):
        (WebCore::XMLHttpRequest::clearRequest):
        (WebCore::XMLHttpRequest::setRequestHeader):
        (WebCore::XMLHttpRequest::setRequestHeaderInternal):
        (WebCore::XMLHttpRequest::getAllResponseHeaders):
        (WebCore::XMLHttpRequest::getResponseHeader):
        (WebCore::XMLHttpRequest::didFinishLoading):
        (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
        (WebCore::XMLHttpRequest::didReceiveResponse):
        (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
        (WebCore::XMLHttpRequest::didReceiveData):
        * xml/XMLHttpRequest.h:

2008-06-27  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Mark Rowe.

        Clean up sorting in WebCore.xcodeproj.

        * WebCore.xcodeproj/project.pbxproj:

2008-06-27  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Darin Adler.

        Remove unnecessary options to make_names.pl command line
        http://bugs.webkit.org/show_bug.cgi?id=19777

        * DerivedSources.make:
        * GNUmakefile.am:

2008-06-27  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

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

        Properly handle untermianted <!-- comments in <textarea>s.

        Tests: fast/parser/open-comment-in-script-tricky.html
               fast/parser/open-comment-in-style.html
               fast/parser/open-comment-in-textarea.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::finish):

2008-06-27  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Alder.

        Fix <https://bugs.webkit.org/show_bug.cgi?id=19784>:
          Text areas in Wikipedia edit pages are empty, following content is missing

        Don't treat entities as comment starters in parseSpecial.

        Tests: fast/parser/comment-in-iframe.html
               fast/parser/entity-comment-in-iframe.html
               fast/parser/entity-comment-in-script-tricky.html
               fast/parser/entity-comment-in-style.html
               fast/parser/entity-comment-in-textarea.html
               fast/parser/entity-comment-in-title.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseSpecial):

2008-06-27  Antti Koivisto  <antti@apple.com>

        Reviewed by Oliver.
        
        <rdar://problem/6030720> 
        REGRESSION: Discrete animation between incompatible paths does not work

        Fall back to discrete path animation if paths are not suitable for morphing.
        
        Test: svg/custom/animate-path-discrete.svg
        
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateAnimatedValue):

2008-06-26  David Smith  <catfish.man@gmail.com>

        Reviewed by Sam Weinig.
        
        https://bugs.webkit.org/show_bug.cgi?id=19002
        
        Optimize simple id selectors in querySelector/querySelectorAll. 
        ~4.4x speedup on the 4 subtests of http://webkit.org/perf/slickspeed/ that it applies to.

        * dom/Document.h:
        (WebCore::Document::containsMultipleElementsWithId): Added to allow optimizing the common case of no duplicates
        * dom/Node.cpp:
        (WebCore::Node::querySelector): Uses getElementById instead of DOM traversal where possible now
        * dom/SelectorNodeList.cpp:
        (WebCore::createSelectorNodeList): Uses getElementById instead of DOM traversal where possible now

2008-06-26  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix <rdar://problem/3099526> Find command doesn't search form input controls (textareas and text fields)
          http://bugs.webkit.org/show_bug.cgi?id=7023

        Test: editing/selection/find-in-text-control.html

        * WebCore.base.exp: Updated the TextIterator constructor signature.

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::TextIterator): Added an enterTextControls
        boolean parameter that determines whether the iterator should visit text
        inside text areas and text fields. Added code to initialize the
        m_inShadowContent member variable based on whether the range is in
        shadow content.
        (WebCore::TextIterator::advance): Added code to step out of shadow
        content.
        (WebCore::TextIterator::handleReplacedElement): Added code to enter
        text controls if desired.
        (WebCore::CharacterIterator::CharacterIterator): Added an
        enterTextControls boolean parameter that determines whether the iterator
        should visit text inside text areas and text fields. This is passed to
        the TextIterator constructor.
        (WebCore::findPlainText): Changed to use a CharacterIterator that
        visits text controls.

        * editing/TextIterator.h: Added member variables to track whether the
        current node is in a shadow tree and whether the iterator should visit
        text controls.

        * page/Frame.cpp:
        (WebCore::Frame::findString): Changed to find inside text controls.
        (WebCore::Frame::markAllMatchesForText): Ditto.

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::innerTextElement): Added.
        * rendering/RenderTextControl.h: Added innerTextElement(), a private
        accessor method that is accessible to TextIterator through class
        friendship.

2008-06-26  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        * bridge/runtime.h: Added include of JSString.h since jsString will soon
        change to return a JSString*.

2008-06-26  Adele Peterson  <adele@apple.com>

        Fix suggested by Eric Carlson, added by me, reviewed by Adam.

        Fix for <rdar://problem/5733006> <video> and <audio> element should not prompt user for missing files

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):
        Set object with key QTMovieAskUnresolvedDataRefsAttribute to NO in the attributes dictionary passed to -[QTMovie initWithAttributes:]

2008-06-26  Sam Weinig  <sam@webkit.org>

        Reviewed by John Sullivan.

        <rdar://problem/6031969> Crash in SecurityOrigin code going Forward to a page in the back/forward cache

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::open): Make sure to update the SecurityOrigin and URL of the 
        DOMWindow when opening a CachedPage.

2008-06-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Beth Dakin.

        CSS @import statements can cause DocLoader to use
        a dead Frame pointer.
        https://bugs.webkit.org/show_bug.cgi?id=19618
        
        The fix is to get rid of the Frame pointer on DocLoader.
        
        I also took this opportunity to clean up Document::detach
        a little to make it clear why we clear the m_frame pointer
        there, and to note that in the future we should stop
        using Node::detach to mean "tear down the whole rendering
        tree and detach from the frame".

        Test: I don't know how to make a good test for this, the test
        we have is network timing dependent and does not make a good
        layout test.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::detach):
        (WebCore::Document::clearFramePointer):
        * dom/Document.h:
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::frame):
        * loader/DocLoader.h:

2008-06-26  Anders Carlsson  <andersca@apple.com>

        Reviewed by Brady.

        Don't enumerate document.applets trying to determine if a page contains applets.
        Instead, set m_containsPlugIns to true when an applet has been created.
        
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::canCachePage):
        (WebCore::FrameLoader::createJavaAppletWidget):

2008-06-26  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Maciej.

        Make JSGlobalData per-thread.

        * bindings/js/JSDOMBinding.h:
        (WebCore::DOMObject::DOMObject):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
        * bridge/runtime_object.cpp:
        (RuntimeObjectImp::RuntimeObjectImp):
        Removed collectOnMainThreadOnly() calls. WebCore objects live in their own heap now, so
        there is no danger for them to be collected on a wrong thread.

2008-06-26  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Simon.

        [svg] Disable plugins for SVG images
        The Qt platform allows to have a plugin factory per Page. Now SVG Images
        are using a Page and dummy/empty clients for Chrome. The only way to get
        the kit from the WebCore::Page is to go through the ChromeClient but this
        is not possible when the ChromeClient is an empty client. This leads to a
        crash in PluginDataQt.cpp. One way to avoid this would have been the
        addition of a rtti like field to ChromeClient to see if it is an empty
        client. The other possibility is to not enable plugins for images.

        The SVGImage relies on the fact that the document is a SVGDocument and
        that the rootElement is a SVGSVGElement. If plugins are used we could
        end up with a PluginDocument and crash badly. Do not try to use plugins
        if plugins are disabled for the WebCore::Page.

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2008-06-25  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Simon.

        CodingStyle fixes

        * platform/graphics/qt/SimpleFontDataQt.cpp:
        (WebCore::SimpleFontData::SimpleFontData):

2008-06-25  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Simon.

        [svg] Make QtWebKit build more of the SVG support
        Add the proper defines and files, update SVGResourceFilterQt.cpp
        to be enabled by the filter option and not by experimental svg support

        * WebCore.pro:
        * svg/graphics/qt/SVGResourceFilterQt.cpp:
        (WebCore::SVGResourceFilter::createPlatformData):
        (WebCore::SVGResourceFilter::prepareFilter):

2008-06-25  Sam Weinig  <sam@webkit.org>

        Reviewed by Brady Eidson.

        Move XMLHttpRequestState enum into XMLHttpRequest and rename to State.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::readyState):
        (WebCore::XMLHttpRequest::changeState):
        (WebCore::XMLHttpRequest::open):
        * xml/XMLHttpRequest.h:
        (WebCore::XMLHttpRequest::create):
        (WebCore::XMLHttpRequest::):

2008-06-25  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by John.

        <rdar://problem/5994480> Line break lost on some pastes
        
        Merging the the first paragraph of inserted content with the content that came
        before the selection that was pasted into would also move content after 
        the selection that was pasted into if:
        
        1) Only one paragraph was being pasted, and it was not wrapped in a block
        2) The selection that was pasted into ended at the end of a block
        3) The next paragraph didn't start at the start of a block.
        
        Insert a line break just after the inserted content to separate it from what 
        comes after and prevent that from happening.
        
        Doing this exposed a bug in deletion where it would insert an unnecessary placeholder
        when deleting a paragraph that started or ended with an input element.  This was
        because its m_startBlock and m_endBlock were still computed with the old deprecated
        enclosingBlockFlowOrTableElement().
        
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::initializePositionData): Use the new method for
        getting an enclosing block.
        (WebCore::DeleteSelectionCommand::doApply): The new method for getting an enclosing
        block will return 0 if it reaches the root editable element before finding a block,
        so if we're deleting inside an inline editable root, m_start/endBlock will
        be 0.  Removed an early return for this case (we already have test coverage for it).
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): Insert a line break just after the inserted 
        content to separate it from what comes after.
        * dom/Node.h: Removed enclosingBlockFlowOrTableElement().
        * dom/Node.cpp: Ditto.

2008-06-25  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dave Hyatt.

        Fix refcount leak in CSSVariablesRule.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::createVariablesRule):
        * css/CSSVariablesRule.h:
        (WebCore::CSSVariablesRule::create):
        (WebCore::CSSVariablesRule::setDeclaration):

2008-06-25  Anders Carlsson  <andersca@apple.com>

        Reviewed by Mitz.

        <rdar://problem/6007111> 
        https://bugs.webkit.org/show_bug.cgi?id=19516
        DOM modification causes Access Violation (NULL pointer?)
        
        Null check the document element.
        
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError):

2008-06-25  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/5873639> REGRESSION (r31620): css2.1/t1506-c525-font-wt-00-b fails on Windows

        - fix https://bugs.webkit.org/show_bug.cgi?id=18863
          <rdar://problem/5908890> weight mappings with @font-face aren't consistent

        Tests: fast/css/font-face-locally-installed.html
               fast/css/font-face-multiple-faces.html

        * WebCore.vcproj/WebCore.vcproj: Added FontTraitsMask.h.

        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * css/CSSFontFace.h:
        Made CSSFontFace store descriptors from the @font-face rule, as follows:
        (WebCore::CSSFontFace::create): Added a FontTraitsMask argument.
        (WebCore::CSSFontFace::traitsMask): Added this accessor.
        (WebCore::CSSFontFace::addRange): Added.
        (WebCore::CSSFontFace::ranges): Added.
        (WebCore::CSSFontFace::UnicodeRange::UnicodeRange):
        (WebCore::CSSFontFace::UnicodeRange::from):
        (WebCore::CSSFontFace::UnicodeRange::to):
        (WebCore::CSSFontFace::CSSFontFace): Added a FontTraitsMask and a vector
        of UnicodeRanges as member variables.

        * css/CSSFontFaceSource.cpp:
        Changed the hash key from the font size alone to the font size and
        the synthetic style bits, needed if the same source supplies different
        synthesized versions.
        (WebCore::CSSFontFaceSource::pruneTable):
        (WebCore::CSSFontFaceSource::getFontData):

        * css/CSSFontFaceSource.h:

        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::~CSSFontSelector): Added code to delete
        the contents of the font face, locally-installed font face and segmented
        font tables.
        (WebCore::CSSFontSelector::addFontFaceRule): Changed this function to
        not create segmented font faces, but instead just collect font faces
        and annotate them with descriptors (traits and unicode ranges).
        (WebCore::compareFontFaces): Added. Used in getFontData() to sort the
        font faces by proximity to the desired traits.
        (WebCore::CSSFontSelector::getFontData): Changed to create the segmented
        font face here and cache it.

        * css/CSSFontSelector.h:

        * css/CSSSegmentedFontFace.cpp:
        Changed to keep a vector of font faces instead of font face ranges, as
        font faces now know their Unicode ranges.
        (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
        (WebCore::CSSSegmentedFontFace::isLoaded):
        (WebCore::CSSSegmentedFontFace::isValid):
        (WebCore::CSSSegmentedFontFace::appendFontFace):
        (WebCore::CSSSegmentedFontFace::getFontData): Removed the synthetic
        traits parameters, and instead changed to set them on each FontData
        separately based on the difference between the desired traits and
        the font face's traits.

        * css/CSSSegmentedFontFace.h:

        * platform/graphics/FontCache.h:
        Removed fontExists() and added getTraitsInFamily().

        * platform/graphics/FontDescription.cpp:
        (WebCore::FontDescription::traitsMask): Added.

        * platform/graphics/FontDescription.h:

        * platform/graphics/FontTraitsMask.h: Added.

        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::GlyphPageTreeNode::initializePage): Changed to fill in with
        glyphs from all fonts in the segmented font, using each font in turn to
        fill in characters not covered by earlier fonts.

        * platform/graphics/gtk/FontCacheGtk.cpp:
        (WebCore::FontCache::getTraitsInFamily): Added a stub.

        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::FontCache::getTraitsInFamily): Added.

        * platform/graphics/qt/FontCacheQt.cpp:
        (WebCore::FontCache::getTraitsInFamily): Added a stub.

        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Added.
        (WebCore::traitsInFamilyEnumProc): Added.
        (WebCore::FontCache::getTraitsInFamily): Added.

        * platform/graphics/wx/FontCacheWx.cpp:
        (WebCore::FontCache::getTraitsInFamily): Added a stub.

        * platform/mac/WebFontCache.h:
        * platform/mac/WebFontCache.mm:
        (toTraitsMask): Added.
        (+[WebFontCache getTraits:inFamily:]): Added.

2008-06-24  Anonymous

        Reviewed by Darin Adler.  Committed by Adam Barth.

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

        Check for a null documentElement() to fix four crashes.

        * WebCore/dom/Document.cpp:
        * WebCore/dom/Node.cpp:

2008-06-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Fix <https://bugs.webkit.org/show_bug.cgi?id=19597>

        Correctly parse <!-- </textarea> --> inside a <textarea>, matching
        Internet Explorer, Firefox, Opera, and HTML 5.

        Tests: fast/parser/comment-in-script-tricky.html
               fast/parser/comment-in-style.html
               fast/parser/comment-in-textarea.html
               fast/parser/comment-in-title.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseSpecial):

2008-06-24  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by John.

        <rdar://problem/6026335> REGRESSION: Caret disappears after deleting a particular selection involving a ToDo
        
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphs): If asked to preserveStyle, we
        apply styles from the moved paragraph to the destination with applyStyle, which
        does selection preservation when it needs to apply block styles.  Selection preservation 
        uses relatively untested code in TextIterator to count VisiblePositions which fails in 
        this particular test case because it doesn't handle changes in editability properly.  
        We can avoid this bug by not applying block styles from moved paragraphs.  This is 
        something that should be done anyway, since the moved paragraph should assume the 
        block styles of the destination.
        * editing/EditCommand.cpp:
        (WebCore::EditCommand::styleAtPosition): Added a FIXME about how it is misleading for
        this function to also include the typing style.
        * editing/TextIterator.h: Added a FIXME about how the code path used for selection preservation
        is buggy and should be phased out when we rewrite moveParagraphs.

2008-06-24  Kevin McCullough  <kmccullough@apple.com>

        -Added a manual test for the profiler.

        * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Added.

2008-06-24  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Add support for loadstart, abort and error events for XMLHttpRequests.

        Tests: http/tests/xmlhttprequest/onabort-event.html
               http/tests/xmlhttprequest/onerror-event.html
               http/tests/xmlhttprequest/onloadstart-event.html

        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::mark):
        (WebCore::JSXMLHttpRequest::onreadystatechange):
        (WebCore::JSXMLHttpRequest::onabort):
        (WebCore::JSXMLHttpRequest::setOnabort):
        (WebCore::JSXMLHttpRequest::onerror):
        (WebCore::JSXMLHttpRequest::setOnerror):
        (WebCore::JSXMLHttpRequest::onload):
        (WebCore::JSXMLHttpRequest::onloadstart):
        (WebCore::JSXMLHttpRequest::setOnloadstart):
        (WebCore::JSXMLHttpRequest::onprogress):
        * dom/EventNames.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
        (WebCore::XMLHttpRequest::createRequest):
        (WebCore::XMLHttpRequest::abort):
        (WebCore::XMLHttpRequest::networkError):
        (WebCore::XMLHttpRequest::abortError):
        (WebCore::XMLHttpRequest::didFail):
        (WebCore::XMLHttpRequest::updateAndDispatchOnProgress):
        (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
        (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
        (WebCore::XMLHttpRequest::dispatchAbortEvent):
        (WebCore::XMLHttpRequest::dispatchErrorEvent):
        (WebCore::XMLHttpRequest::dispatchLoadEvent):
        (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
        (WebCore::XMLHttpRequest::dispatchProgressEvent):
        * xml/XMLHttpRequest.h:
        (WebCore::XMLHttpRequest::setOnAbortListener):
        (WebCore::XMLHttpRequest::onAbortListener):
        (WebCore::XMLHttpRequest::setOnErrorListener):
        (WebCore::XMLHttpRequest::onErrorListener):
        (WebCore::XMLHttpRequest::setOnLoadStartListener):
        (WebCore::XMLHttpRequest::onLoadStartListener):
        * xml/XMLHttpRequest.idl:

2008-06-24  Anders Carlsson  <andersca@apple.com>

        Reviewed by Mitz.

        <rdar://problem/5957606>
        CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::DocumentLoader::cancelPendingSubstituteLoad + 23

        Remove the loader from the document loader after calling didFail, so that the loader will be deferred corectly
        in case the call do didFail starts a new run loop.
        
        * loader/NetscapePlugInStreamLoader.cpp:
        (WebCore::NetscapePlugInStreamLoader::didCancel):

2008-06-24  Alexey Proskuryakov  <ap@webkit.org>

        Release build fix.

        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
        * bindings/js/JSCustomSQLTransactionCallback.cpp:
        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
        Initialize callbackCallType, as the compiler is not smart enough to figure out data flow.

2008-06-24  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        https://bugs.webkit.org/show_bug.cgi?id=19723
        REGRESSION(r34648): Some SVG tests crash when running under --threaded

        * rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::destroy): Do not attempt
        to paint during document destruction, because rendering structures are not kept in a
        consistent state then.

2008-06-24  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>

        Reviewed by Darin.

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

        Return bool from GraphicsContext::getShadow() so the tests aren't duplicated so
        many times in Cairo and Qt ports.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::getShadow): return a boolean from getShadow()
        which indicates whether there is a visible shadow to draw or not.  Ports
        without a platform shadow implementation can use this flag to determine
        whether a shadow needs to be drawn manually
        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::drawText):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawLine): use return from getShadow() to
        determine whether to draw the shadow

2008-06-24  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>

        Reviewed by Simon.

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

        Clean up and remove unused platform shadow code.

        Minor edits by Simon, removed unused TextShadow struct.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::clearPlatformShadow): Qt doesn't support a
        platform shadow, so just make these functions empty.  The shadows are
        drawn manually in function like drawLine(), etc.

2008-06-24  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>

        Reviewed by Simon.

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

        Implemented basic text-shadow support for the Qt port.

        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::drawText): implement text-shadow support in the Qt port
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawLine): also draw shadows for text
        decorations such as unerlines

2008-06-24  Simon Hausmann  <hausmann@webkit.org>

        Fix the Qt build, adapt to various JSCore API changes.

        * bridge/qt/qt_instance.cpp:
        (KJS::Bindings::QtRuntimeObjectImp::construct):
        (KJS::Bindings::QtInstance::getRuntimeObject):
        (KJS::Bindings::QtInstance::invokeDefaultMethod):
        * bridge/qt/qt_runtime.cpp:
        (KJS::Bindings::convertQVariantToValue):
        (KJS::Bindings::QtRuntimeMetaMethod::getCallData):
        (KJS::Bindings::QtRuntimeConnectionMethod::call):
        (KJS::Bindings::QtRuntimeConnectionMethod::getCallData):
        (KJS::Bindings::QtConnectionObject::execute):
        * bridge/qt/qt_runtime.h:
        (KJS::Bindings::QtRuntimeConnectionMethod::d_func):

2008-06-24  Alexey Proskuryakov  <ap@webkit.org>

        Remove XMLHttpRequestProgressEvent.cpp from more project files.

        * GNUmakefile.am:
        * WebCore.pro:

2008-06-24  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        For the Qt port, fix linking with MinGW.

        * WebCore.pro:

2008-06-23  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        Update for JavaScript changes.

        - Use CallData and ConstructData instead of the obsolete implementsCall,
          callAsFunction, and construct functions.

        - Updated native function arguments, specifically to allow a JSValue
          rather than a JSObject for the this argument, and to call toThisObject
          as needed when treating it as an object.

        - Made some more class members private and protected, including virtual
          function overrides.

        - Eliminated the use of getCallData in the JavaScript bridging code as
          a way to check if an instance supports invokeDefaultMethod.

        - Eliminated unnecessary polymorphism in the NodeIterator and TreeWalker
          classes. They were using virtual functions simply to share an instance
          of the RefCounted template, which was not helpful.

        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::constructAudio):
        (WebCore::JSAudioConstructor::getConstructData):
        * bindings/js/JSAudioConstructor.h:
        (WebCore::JSAudioConstructor::document):
        (WebCore::JSAudioConstructor::classInfo):
        * bindings/js/JSClipboardCustom.cpp:
        (WebCore::JSClipboard::types):
        * 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/JSDOMBinding.h:
        (WebCore::DOMObject::DOMObject):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::windowProtoFuncAToB):
        (WebCore::windowProtoFuncBToA):
        (WebCore::windowProtoFuncOpen):
        (WebCore::windowProtoFuncSetTimeout):
        (WebCore::windowProtoFuncClearTimeout):
        (WebCore::windowProtoFuncSetInterval):
        (WebCore::windowProtoFuncAddEventListener):
        (WebCore::windowProtoFuncRemoveEventListener):
        (WebCore::windowProtoFuncShowModalDialog):
        (WebCore::windowProtoFuncNotImplemented):
        (WebCore::toJSDOMWindow):
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::classInfo):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSAbstractEventListener::handleEvent):
        (WebCore::JSLazyEventListener::parseCode):
        * bindings/js/JSEventTargetBase.cpp:
        (WebCore::retrieveEventTargetAndCorrespondingNode):
        (WebCore::jsEventTargetAddEventListener):
        (WebCore::jsEventTargetRemoveEventListener):
        (WebCore::jsEventTargetDispatchEvent):
        * bindings/js/JSEventTargetBase.h:
        * bindings/js/JSHTMLAppletElementCustom.cpp:
        (WebCore::JSHTMLAppletElement::customGetOwnPropertySlot):
        (WebCore::JSHTMLAppletElement::customPut):
        (WebCore::JSHTMLAppletElement::getCallData):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::callHTMLCollection):
        (WebCore::JSHTMLCollection::getCallData):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::open):
        * bindings/js/JSHTMLEmbedElementCustom.cpp:
        (WebCore::JSHTMLEmbedElement::customGetOwnPropertySlot):
        (WebCore::JSHTMLEmbedElement::customPut):
        (WebCore::JSHTMLEmbedElement::getCallData):
        * bindings/js/JSHTMLInputElementBase.cpp:
        (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
        * bindings/js/JSHTMLInputElementBase.h:
        * bindings/js/JSHTMLObjectElementCustom.cpp:
        (WebCore::JSHTMLObjectElement::customGetOwnPropertySlot):
        (WebCore::JSHTMLObjectElement::customPut):
        (WebCore::JSHTMLObjectElement::getCallData):
        * bindings/js/JSHTMLOptionElementConstructor.cpp:
        (WebCore::constructHTMLOptionElement):
        (WebCore::JSHTMLOptionElementConstructor::getConstructData):
        * bindings/js/JSHTMLOptionElementConstructor.h:
        (WebCore::JSHTMLOptionElementConstructor::document):
        (WebCore::JSHTMLOptionElementConstructor::classInfo):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::constructImage):
        (WebCore::JSImageConstructor::getConstructData):
        * bindings/js/JSImageConstructor.h:
        (WebCore::JSImageConstructor::document):
        (WebCore::JSImageConstructor::classInfo):
        * bindings/js/JSInspectedObjectWrapper.h:
        (WebCore::JSInspectedObjectWrapper::classInfo):
        * bindings/js/JSInspectorCallbackWrapper.cpp:
        (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::scopeChain):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
        (WebCore::JSNodeFilterCondition::mark):
        (WebCore::JSNodeFilterCondition::acceptNode):
        * bindings/js/JSNodeFilterCondition.h:
        (WebCore::JSNodeFilterCondition::create):
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::toNodeFilter):
        * bindings/js/JSNodeListCustom.cpp:
        (WebCore::callNodeList):
        (WebCore::JSNodeList::getCallData):
        (WebCore::JSNodeList::canGetItemsForName):
        (WebCore::JSNodeList::nameGetter):
        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::runtimeObjectGetter):
        (WebCore::runtimeObjectPropertyGetter):
        (WebCore::runtimeObjectCustomGetOwnPropertySlot):
        (WebCore::runtimeObjectCustomPut):
        (WebCore::runtimeObjectGetCallData):
        (WebCore::pluginInstance):
        (WebCore::getRuntimeObject):
        (WebCore::callPlugin):
        * bindings/js/JSPluginElementFunctions.h:
        * bindings/js/JSQuarantinedObjectWrapper.cpp:
        (WebCore::JSQuarantinedObjectWrapper::put):
        (WebCore::JSQuarantinedObjectWrapper::construct):
        (WebCore::JSQuarantinedObjectWrapper::getConstructData):
        (WebCore::JSQuarantinedObjectWrapper::hasInstance):
        (WebCore::JSQuarantinedObjectWrapper::call):
        (WebCore::JSQuarantinedObjectWrapper::getCallData):
        * bindings/js/JSQuarantinedObjectWrapper.h:
        (WebCore::JSQuarantinedObjectWrapper::className):
        * bindings/js/JSRGBColor.cpp:
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::constructXMLHttpRequest):
        (WebCore::JSXMLHttpRequestConstructor::getConstructData):
        * bindings/js/JSXMLHttpRequestConstructor.h:
        (WebCore::JSXMLHttpRequestConstructor::document):
        (WebCore::JSXMLHttpRequestConstructor::classInfo):
        * bindings/js/JSXSLTProcessorConstructor.cpp:
        (WebCore::constructXSLTProcessor):
        (WebCore::JSXSLTProcessorConstructor::getConstructData):
        * bindings/js/JSXSLTProcessorConstructor.h:
        (WebCore::JSXSLTProcessorConstructor::classInfo):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::execute):
        * bindings/js/ScheduledAction.h:
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject callWebScriptMethod:withArguments:]):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/NP_jsobject.cpp:
        (_NPN_InvokeDefault):
        (_NPN_Invoke):
        * bridge/c/c_instance.cpp:
        (KJS::Bindings::CInstance::supportsInvokeDefaultMethod):
        * bridge/c/c_instance.h:
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::call):
        * bridge/objc/objc_instance.h:
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::supportsInvokeDefaultMethod):
        * bridge/objc/objc_runtime.h:
        (KJS::Bindings::ObjcFallbackObjectImp::propertyName):
        (KJS::Bindings::ObjcFallbackObjectImp::classInfo):
        * bridge/objc/objc_runtime.mm:
        (Bindings::webScriptObjectClass):
        (Bindings::webUndefinedClass):
        (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
        (callObjCFallbackObject):
        (ObjcFallbackObjectImp::getCallData):
        * bridge/qt/qt_instance.h:
        * bridge/runtime.cpp:
        (KJS::Bindings::Instance::createRuntimeObject):
        (KJS::Bindings::Instance::getInstance):
        * bridge/runtime.h:
        (KJS::Bindings::Field::~Field):
        (KJS::Bindings::Method::~Method):
        (KJS::Bindings::Class::~Class):
        (KJS::Bindings::Instance::supportsInvokeDefaultMethod):
        * bridge/runtime_method.cpp:
        (KJS::callRuntimeMethod):
        (KJS::RuntimeMethod::getCallData):
        * bridge/runtime_method.h:
        (KJS::RuntimeMethod::methods):
        * bridge/runtime_object.cpp:
        (RuntimeObjectImp::defaultValue):
        (callRuntimeObject):
        (RuntimeObjectImp::getCallData):
        * bridge/runtime_object.h:
        (KJS::RuntimeObjectImp::getInternalInstance):
        (KJS::RuntimeObjectImp::classInfo):
        * dom/NodeIterator.h:
        * dom/Traversal.cpp:
        * dom/Traversal.h:
        * dom/TreeWalker.h:

2008-06-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

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

        Move isAllowedToLoadLocalResources into SecurityOrigin.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::setURL):
        (WebCore::Document::initSecurityContext):
        * dom/Document.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::canLoad):
        * platform/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::SecurityOrigin):
        (WebCore::SecurityOrigin::isLocal):
        * platform/SecurityOrigin.h:
        (WebCore::SecurityOrigin::protocol):
        (WebCore::SecurityOrigin::host):
        (WebCore::SecurityOrigin::domain):
        (WebCore::SecurityOrigin::port):
        (WebCore::SecurityOrigin::canLoadLocalResources):
        (WebCore::SecurityOrigin::grantLoadLocalResources):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::setRequestHeader):

2008-06-23  Mark Rowe  <mrowe@apple.com>

        Fix the Windows build.

        * WebCore.vcproj/WebCore.vcproj: Add generated files related to CSS variables to the Windows project file.

2008-06-23  Steve Falkenburg  <sfalken@apple.com>

        Fix a math error in my last change.
        
        Reviewed by Ada Chan.

        * platform/win/FileSystemWin.cpp:
        (WebCore::openTemporaryFile):

2008-06-23  Kevin McCullough  <kmccullough@apple.com>

        -Build fix.

        * WebCore.vcproj/WebCore.vcproj:

2008-06-23  chris fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6024267> VO unable to read massive emails because AccessibilityObject::lengthForVisiblePositionRange makes the string

        * page/AccessibilityObject.cpp:
        (WebCore::replacedNodeNeedsCharacter):
        (WebCore::AccessibilityObject::stringForVisiblePositionRange):
        (WebCore::AccessibilityObject::lengthForVisiblePositionRange):

2008-06-23  Steve Falkenburg  <sfalken@apple.com>

        Added our own mechanism for generating temporary file names.
        
        Reviewed by Ada Chan, Darin Adler.

        * platform/win/FileSystemWin.cpp:
        (WebCore::openTemporaryFile):

2008-06-23  Sam Weinig  <sam@webkit.org>

        Remove XMLHttpRequestProgressEvent.cpp from project files.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:

2008-06-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Dave Hyatt.

        Remove empty file.

        * xml/XMLHttpRequestProgressEvent.cpp: Removed.

2008-06-23  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Tim Hatcher.

        Rename XMLHttpRequest::sameOriginRequest to XMLHttpRequest::makeSameOriginRequest
        and XMLHttpRequest::crossSiteAccessRequest to XMLHttpRequest::makeCrossSiteAccessRequest.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::createRequest):
        (WebCore::XMLHttpRequest::makeSameOriginRequest):
        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
        * xml/XMLHttpRequest.h:

2008-06-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Some XMLHttpRequest re-organization to aid further enhancements coming soon.

        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::send): Explicitly call overloaded versions of send,
        instead of always calling though send(DOMString).
        * dom/Document.idl: Adds native converter.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::open):
        (WebCore::XMLHttpRequest::initSend):
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::createRequest):
        (WebCore::XMLHttpRequest::sameOriginRequest):
        (WebCore::XMLHttpRequest::crossSiteAccessRequest):
        (WebCore::XMLHttpRequest::abort):
        (WebCore::XMLHttpRequest::clearResponse):
        (WebCore::XMLHttpRequest::clearRequest):
        (WebCore::XMLHttpRequest::genericError):
        (WebCore::XMLHttpRequest::dispatchProgressEvent):
        * xml/XMLHttpRequest.h:
        (WebCore::XMLHttpRequest::setOnReadyStateChangeListener): Inline.
        (WebCore::XMLHttpRequest::onReadyStateChangeListener): Ditto.
        (WebCore::XMLHttpRequest::setOnLoadListener): Ditto.
        (WebCore::XMLHttpRequest::onLoadListener): Ditto.
        (WebCore::XMLHttpRequest::setOnProgressListener): Ditto.
        (WebCore::XMLHttpRequest::onProgressListener): Ditto.
        Makes the request entity body a member variable so that the send method
        can be more easily broken up.

2008-06-23  Timothy Hatcher  <timothy@apple.com>

        Make profiles of the same name in the Inspector group in the
        sidebar under a collapsable item that contains all the runs.

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

        Reviewed by Darin Adler.

        * English.lproj/localizedStrings.js: New strings.
        * page/inspector/Images/profileGroupIcon.png: Added.
        * page/inspector/Images/profileSmallIcon.png: Added.
        * page/inspector/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.reset): Clear _profileGroups.
        Remove the "some-expandable" class from the sidebarTree.
        (WebInspector.ProfilesPanel.prototype.addProfile): Append new profiles
        that have the same name as a previous profile into a group. When a
        group has 2 profiles a ProfileGroupSidebarTreeElement is made and the
        ProfileSidebarTreeElements are appended to the group's element. 
        (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
        Return _mainTitle is it is set.
        (WebInspector.ProfileSidebarTreeElement.prototype.set mainTitle):
        Set _mainTitle which is an override title.
        (WebInspector.ProfileGroupSidebarTreeElement): Inherit SidebarTreeElement.
        (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
        Show the last profile in the group when selected.
        * page/inspector/SidebarTreeElement.js:
        (WebInspector.SidebarTreeElement.prototype.get small): Return _small.
        (WebInspector.SidebarTreeElement.prototype.set small): Set _small and
        update the style to match.
        (WebInspector.SidebarTreeElement.prototype.onattach): Set the small
        class if the small property is true.
        * page/inspector/inspector.css: New styles for profiles groups
        and for the small profiles.

2008-06-23  Anders Carlsson  <andersca@apple.com>

        Reviewed by Geoff.

        Make changedDocuments a HashSet.

        * dom/Document.cpp:
        (WebCore::Document::setDocumentChanged):
        (WebCore::Document::updateDocumentsRendering):

2008-06-23  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Mark Rowe.

        Restore a collectOnMainThreadOnly call that was accidentally removed in r34659. It will not
        be needed when heaps are actually per-thread, but this isn't the case yet, and collecting
        on a different thread causes crashes.

        * bindings/js/JSDOMBinding.h:
        (WebCore::DOMObject::DOMObject):

2008-06-22  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>

        Reviewed by Darin Adler.

        Fix https://bugs.webkit.org/show_bug.cgi?id=19465
        Bug 19465: Cursor sometimes gets 'stuck' in textareas when trying to navigate with arrow keys

        Test: editing/input/textarea-arrow-navigation.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::positionForCoordinates): In the case when the next position is to the right
        of the last text box but the text offset is 0, set the affinity to DOWNSTREAM instead of UPSTREAM so
        that the cursor doesn't remain on the previous line.

2008-06-22  Robert Blaut  <webkit@blaut.biz>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=17421
        Bug 17421: Lack of end tag for SELECT element causes the rest of page to not be rendered

        Test: fast/parser/input-textarea-inside-select-element.html

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

2008-06-22  David Krause  <david.krause@gmail.com>

        Reviewed by Darin Adler.

        Fix https://bugs.webkit.org/show_bug.cgi?id=19426
        Bug 19426: LOW_BANDWIDTH_DISPLAY build broken

        Change ref to addClient and deref to removeClient in code wrapped
        by USE(LOW_BANDWIDTH_DISPLAY) to match changes in r31834.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
        (WebCore::FrameLoader::removeAllLowBandwidthDisplayRequests):
        (WebCore::FrameLoader::notifyFinished):

2008-06-22  Robert Blaut  <webkit@blaut.biz>

        Reviewed by Darin Adler.

        Fix https://bugs.webkit.org/show_bug.cgi?id=19520
        Bug 19520: WebKit incorrectly accepts hidden as the value of outline-style

        Test: fast/css/outline-hidden-illegal-value.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::paintOutline):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintOutline):
        * rendering/style/RenderStyle.h:
        (WebCore::RenderStyle::outlineWidth):
        (WebCore::RenderStyle::outlineOffset):

2008-06-22  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>

        Reviewed by Dan Bernstein.

        Fix https://bugs.webkit.org/show_bug.cgi?id=19675
        Bug 19675: [GTK] negative text-shadows are not rendered

        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs): The IntSize::isEmpty() call checks that the
        sizes are > 0, while we need to check for != 0.

2008-06-22  kuchhal  <kuchhal@yahoo.com>

        Reviewed by Darin Adler.

        Fix https://bugs.webkit.org/show_bug.cgi?id=19696
        Bug 19696: Memory leak in WebCore/editing/DeleteButtonController.cpp

        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::createDeletionUI): Delete the Image instance
        if the platform resource could not be loaded.

2008-06-22  kuchhal  <kuchhal@yahoo.com>

        Reviewed by Darin Adler.

        Fix https://bugs.webkit.org/show_bug.cgi?id=19697
        Bug 19697: Redundant releaseRef causing memory leak

        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::fragmentFromCF_HTML):

2008-06-21  Sam Weinig  <sam@webkit.org>

        Fix Windows build.

        * bindings/scripts/CodeGeneratorCOM.pm:
        * html/HTMLInputElement.idl:

2008-06-21  Timothy Hatcher  <timothy@apple.com>

        Fix a typo "new" in the keywords list for hte JavaScript
        syntax highlighter. And adds "get" and "set" to the keyword list.

        Reviewed by Sam Weinig.

        * page/inspector/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
        Fixes the "new" typo and adds "get" and "set".

2008-06-21  David Kilzer  <ddkilzer@apple.com>

        Bug 7931: Escaped elements within a textarea block can cause the textarea box to be closed prematurely

        <https://bugs.webkit.org/show_bug.cgi?id=7931>

        Reviewed by Darin.

        Tests: fast/parser/entity-end-iframe-tag.html
               fast/parser/entity-end-script-tag.html
               fast/parser/entity-end-style-tag.html
               fast/parser/entity-end-textarea-tag.html
               fast/parser/entity-end-title-tag.html
               fast/parser/entity-end-xmp-tag.html

        Previously the parser accepted end tags for textarea, title and
        iframe elements that contained entity-escaped characters such as
        '&lt;'.  The fix is to save the position of the last entity-escaped
        character converted and to use that to make sure the end tag does
        not contain an escaped character.

        Note that this was not an issue for script, style and xmp elements
        since they already ignored entity-escaped characters.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseSpecial): When looking for a closing
        tag, ignore any text with entity-escaped characters by making sure
        lastDecodedEntityPosition is less than the first character of the
        end tag.

2008-06-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=19647
        REGRESSION: Problem with extjs (insertAdjacentHTML)

        Test: fast/dynamic/insertAdjacentHTML-allowed-parents.html

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::insertAdjacentHTML): Don't use innerHTML logic for creating
        the DocumentFragment from the html string.

2008-06-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Log error messages to the console when we deny a request for a URL.
        These error messages do not appear in LayoutTests, but they do
        appear in the WebInspector.

        * dom/XMLTokenizer.cpp:
        (WebCore::shouldAllowExternalLoad):
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::requestResource):
        (WebCore::DocLoader::printAccessDeniedMessage):
        * loader/DocLoader.h:
        * xml/XSLTProcessor.cpp:
        (WebCore::docLoaderFunc):

2008-06-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Fix <https://bugs.webkit.org/show_bug.cgi?id=19649>:
          XSL style sheets allowed across origins

        Block cross-orgin loads of XSL style sheets, matching Internet
        Explorer, Firefox, and Opera.  Also, we now block loading of XBL
        across origins, matching Firefox.  The XBL behavior does not appear
        testable because XBL seems to not be enabled.

        Test: http/tests/security/cross-origin-xsl-BLOCKED.html

        * loader/DocLoader.cpp:
        (WebCore::DocLoader::requestResource):

2008-06-21  Brett Wilson  <brettw@chromium.org>

        Reviewed by Dave Hyatt.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19542
          <rdar://problem/6007976> Crash in Font::glyphDataForCharacter when getting small caps data

        Adds a NULL check for getting the small caps page of glyph data. The
        page() function can explicitly return null in some cases, and every
        other usage in this function does the check.

        * platform/graphics/Font.cpp:
        (WebCore::Font::glyphDataForCharacter):

2008-06-21  Alex Taylor  <darwin@milliamp.org>

        Reviewed by Dan Bernstein.

        Fixes <https://bugs.webkit.org/show_bug.cgi?id=12425>

        Adds support for border-radius on legend elements.
        Fieldsets with a legend and rounded borders now have a clipping region set
        around the legend.
        
        Test: fast/borders/fieldsetBorderRadius.html

        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations):
        (WebCore::RenderFieldset::paintBorderMinusLegend): Removed a FIXME.

2008-06-21  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fix. Adding CSSVariable* API sources to the Bakefiles.

        * WebCoreSources.bkl:

2008-06-20  Sam Weinig  <sam@webkit.org>

        Fix Windows build.

        * bindings/scripts/CodeGeneratorCOM.pm:

2008-06-20  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Gtk build fix: Add files missing in the previous fix (r34705)

        * GNUmakefile.am:

2008-06-20  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        - fix leak of mask images

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::arenaDelete): Added a call to removeClient() on
        the mask box image.

2008-06-20  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Gtk build fix for r34702, r34700 and r34693
        Qt build fix for r34700 and r34693

        * GNUmakefile.am:
        * WebCore.pro:
        * platform/gtk/RenderThemeGtk.cpp:
        * platform/gtk/RenderThemeGtk.h:
        * platform/qt/RenderThemeQt.cpp:
        * platform/qt/RenderThemeQt.h:

2008-06-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Adele Peterson.

        Add 'files' property to the HTMLInputElement, which returns a FileList object 
        (when type=file, null otherwise) containing a list of all the files selected.
        It currently always contains only 0 or 1 files as multifile input is not supported 
        yet.  The list contains File objects which contains the name and size of the file. 
        The inspiration for these interfaces is from:
            - http://developer.mozilla.org/en/docs/nsIDOMFileList
            - http://developer.mozilla.org/en/docs/nsIDOMFile

        Also fixes <rdar://problem/6022802>

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/objc/DOMInternal.h:
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/IDLStructure.pm:
        * html/File.cpp: Added.
        (WebCore::File::File):
        (WebCore::File::fileSize):
        * html/File.h: Added.
        (WebCore::File::create):
        (WebCore::File::fileName):
        (WebCore::File::path):
        * html/File.idl: Added.
        * html/FileList.cpp: Added.
        (WebCore::FileList::FileList):
        (WebCore::FileList::item):
        * html/FileList.h: Added.
        (WebCore::FileList::create):
        (WebCore::FileList::length):
        (WebCore::FileList::isEmpty):
        (WebCore::FileList::clear):
        (WebCore::FileList::append):
        * html/FileList.idl: Added.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setInputType):
        (WebCore::HTMLInputElement::appendFormData):
        (WebCore::HTMLInputElement::value):
        (WebCore::HTMLInputElement::setValue):
        (WebCore::HTMLInputElement::setValueFromRenderer):
        (WebCore::HTMLInputElement::files):
        * html/HTMLInputElement.h:
        * html/HTMLInputElement.idl:
        * page/DOMWindow.idl:

2008-06-20  David Hyatt  <hyatt@apple.com>

        Make sure CSS variables work inside the inline style attribute.

        Reviewed by Beth

        Added fast/css/variables/inline-style-test.html

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::removeProperty):
        (WebCore::CSSMutableStyleDeclaration::addParsedProperties):

2008-06-20  David Hyatt  <hyatt@apple.com>

        Add support for the CSSVariablesRule and CSSVariablesDeclaration DOM APIs.  These allow querying of
        variables names and values, as well as iteration, setting and removal.

        Reviewed by Sam

        Added multiple new tests to fast/css/variables/

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::toJS):
        * bindings/objc/DOMInternal.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::parserValue):
        * css/CSSVariablesDeclaration.cpp:
        (WebCore::CSSVariablesDeclaration::removeVariable):
        (WebCore::CSSVariablesDeclaration::setVariable):
        (WebCore::CSSVariablesDeclaration::setCssText):
        (WebCore::CSSVariablesDeclaration::setChanged):
        * css/CSSVariablesDeclaration.h:
        * css/CSSVariablesDeclaration.idl: Added.
        * css/CSSVariablesRule.h:
        * css/CSSVariablesRule.idl: Added.

2008-06-20  Kevin McCullough  <kmccullough@apple.com>

        Rubber stamped by Adele. 

        * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Added.

2008-06-20  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        <rdar://problem/5958770> JSProfiler: Time incorrectly given to (idle)
        if profiling is started and finished within the same function. (19230)
        - Now we profile one more stack frame up from the last frame to allocate
        the time spent in it, if it exists.

        * page/Console.cpp:
        * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Added.
        (WebCore::Console::profile): When stating the profiler give a client for
        the callback of when the profile actually finishes.
        (WebCore::Console::profileEnd): No longer needs to handle the return of
        the profile object since it will be retruned in the client's callback.
        (WebCore::Console::finishedProfiling): Implemenet the ProfileClient
        callback method.
        * page/Console.h: Inherit from the ProfileClient.
        * page/InspectorController.cpp:
        (WebCore::InspectorController::startUserInitiatedProfiling): Use the
        client callback.
        (WebCore::InspectorController::stopUserInitiatedProfiling): Does not
        need to handle the profile being returned as it is now handled by the
        client callback.
        (WebCore::InspectorController::finishedProfiling): Implement the
        ProfileClient callback method.
        * page/InspectorController.h: Inherit from the ProfileClient.

2008-06-20  Timothy Hatcher  <timothy@apple.com>

        Makes the JavaScript syntax highlighter process lines in chunks
        so the user interface isn't blocked for large script files.

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

        Reviewed by Adam Roben.

        * page/inspector/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._addMessageToSource): Use the cells
        property on the row instead of getElementsByTagName.
        (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Use the
        cells property on the row instead of getElementsByTagName. Added
        a nested processChunk function that highlights 10 lines at a time
        This processChunk function is called at an interval of 25ms. The
        code is still highlighted quickly, and the user can't tell it wasn't
        highlighted all at once.

2008-06-20  Timothy Hatcher  <timothy@apple.com>

        Fixes a bug where the source view in the Resources panel had a
        couple of extra pixels at the bottom when fully scrolled.

        Reviewed by Adam Roben.

        * page/inspector/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.set autoSizesToFitContentHeight):
        Call removeStyleClass instead of addStyleClass for "webkit-height-sized-to-fit"
        when sizing to fit is being disabled.
        * page/inspector/inspector.css:
        (.resource-view.headers-visible .source-view-frame): Added the
        vertical-align: top property to prevent line alignment from adding extra
        pixels on the bottom.

2008-06-20  Timothy Hatcher  <timothy@apple.com>

        Changed all lineHeight, baselinePosition and verticalPositionHint
        calls to return int instead of short. The short was overflowing
        when a value greater than 32,767 was encountered.

        Fixes: iframes with a height of 32,768px or greater do not layout correctly
        https://bugs.webkit.org/show_bug.cgi?id=19679

        Reviewed by Dave Hyatt.

        Test: fast/css/line-height-overflow.html

        * rendering/RenderBR.cpp:
        (WebCore::RenderBR::baselinePosition):
        * rendering/RenderBR.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::lineHeight):
        * rendering/RenderBlock.h:
        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:
        * rendering/RenderListBox.cpp:
        * rendering/RenderListBox.h:
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::lineHeight):
        * rendering/RenderListMarker.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::verticalPositionHint):
        * rendering/RenderObject.h:
        (WebCore::):
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::lineHeight):
        * rendering/RenderPath.h:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::lineHeight):
        * rendering/RenderReplaced.h:
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::lineHeight):
        * rendering/RenderSVGContainer.h:
        * rendering/RenderSVGHiddenContainer.cpp:
        (WebCore::RenderSVGHiddenContainer::lineHeight):
        * rendering/RenderSVGHiddenContainer.h:
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::lineHeight):
        * rendering/RenderSVGRoot.h:
        * rendering/RenderSlider.cpp:
        * rendering/RenderSlider.h:
        * rendering/RenderTableCell.cpp:
        * rendering/RenderTableCell.h:
        * rendering/RenderTableCol.h:
        * rendering/RenderTableRow.h:
        * rendering/RenderTableSection.h:
        * rendering/RenderText.cpp:
        * rendering/RenderText.h:
        * rendering/RenderTextControl.cpp:
        * rendering/RenderTextControl.h:
        * rendering/RenderTheme.cpp:
        * rendering/RenderTheme.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        * rendering/RenderThemeSafari.cpp:
        * rendering/RenderThemeSafari.h:

2008-06-20  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19519
          <rdar://problem/6007345> DOM modification causes stack exhaustion (BUTTON OBJECT COLGROUP)

        Test: fast/table/prepend-in-anonymous-table.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addChildToFlow): Added code to handle the case
        of inserting before a child that has been wrapped by an anonymous table,
        in which case if the new child is the type that needs to be in a table,
        it is inserted into the table, and otherwise it is inserted before the
        table.
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild): Added table-column-group alongside
        table-caption as content that can exist inside an anonymous table
        without being wrapped in a table section.

2008-06-20  David Hyatt  <hyatt@apple.com>

        Allow CSS variables to support arbitrary expressions as values instead of just a single term.

        Reviewed by Sam

        Removed fast/css/variables/single-term-test.html and replaced with multiple-term-test.html

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::addVariable):
        * css/CSSParser.h:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::addMatchedDeclaration):
        * css/CSSVariablesDeclaration.cpp:
        (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
        (WebCore::CSSVariablesDeclaration::getVariableValue):
        (WebCore::CSSVariablesDeclaration::addParsedVariable):
        (WebCore::CSSVariablesDeclaration::getParsedVariable):
        * css/CSSVariablesDeclaration.h:
        (WebCore::CSSVariablesDeclaration::create):

2008-06-19  Dan Bernstein  <mitz@apple.com>

        Reviewed by John Sullivan.

        - fix a bug where anonymous tables were inserted in the wrong place

        Tests: tables/mozilla/bugs/bug2479-2.html
               tables/mozilla/bugs/bug278266.html
               tables/mozilla/bugs/bug8411.xml

        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::addChild): Changed to create an anonymous
        table and insert it before beforeChild unless the insertion point is
        right after an existing anonymous table, in which case the existing
        table is used.

2008-06-19  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Oliver.

        <https://bugs.webkit.org/show_bug.cgi?id=16049>
        execCommand('backColor') fails on collapsed selections

        * editing/EditorCommand.cpp:
        (WebCore::CommandEntry::): Enable BackColor for caret selections, and
        disable ForeColor in plaintext-only regions.

2008-06-19  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by John.

        <https://bugs.webkit.org/show_bug.cgi?id=19653>
        Typing style lost when creating list from, indenting or outdenting an empty paragraph
        
        There were two problems.  First, moveParagraphs didn't preserve the style of empty paragraphs.
        Second, indent, outdent and list creation returned false from preservesTypingStyle.
        The second problem couldn't be fixed by just adding preservesTypingStyle() { return true; }
        to those commands, though, because of other bugs.
        
        Cleaned up the implementation of typing style enough to remove FIXMEs for:
        
        <rdar://problem/3769899> Implementation of typing style needs improvement 
        
        which has actually been closed for some time now anyway.
        
        * dom/Document.cpp: Removed an unused header.
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphs): Preserve the style of an empty paragraph, too.
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Removed FIXME.
        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): 
        Removed FIXME.  
        If there is a typing style to apply after a delete, apply it to any line break that acts as a paragraph
        placeholder, not only one that was inserted by deletion.  This fixes a bug where deleting
        <div><b>Bold</b><br></div>, changing the selection and then coming back and typing wouldn't 
        produce bold text.  
        Don't set the EditCommand's typingStyle, it has been removed (more on that later).
        (WebCore::DeleteSelectionCommand::doApply): We don't need to pass calculateTypingStyleAfterDelete
        the inserted placeholder because it will find it.
        (WebCore::DeleteSelectionCommand::preservesTypingStyle): Normally deletion doesn't preserve the 
        typing style that was present before it.  For example, type a character, Bold, then delete the 
        character and start typing.  The Bold typing style shouldn't stick around.  We got this right before 
        purely by chance. Deletion should preserve a typing style that *it* sets, however.
        * editing/DeleteSelectionCommand.h: No longer need to pass calculateTypingStyleAfterDelete
        the inserted placeholder.
        * editing/EditCommand.cpp:
        (WebCore::EditCommand::apply): 
        Clearing or not clearing a removed anchor should not be determined by whether or not a command 
        preservesTypingStyle().  For example, the deletion that removed an anchor (and stored it), may 
        not preserve the typing style, but that doesn't mean that it should then go and clear the removed 
        anchor.  All high level commands, and all commands that a TypingCommand spawns, except for
        text insertions, which should restore a removed anchor, should clear it.
        There is no longer a typing style on EditCommand, removed code that cleared it.  Code that clears the 
        *actual* typing style is now in Editor::appliedEditing, just like before.
        There is no longer a typing style on EditCommand, removed code to set one.
        (WebCore::EditCommand::styleAtPosition): Removed FIXME.
        * editing/EditCommand.h: 
        Removed code assosiated with m_typingStyle.
        Made preservesTypingStyle() public, so that we can call it from Editor::appliedEditing().
        * editing/Editor.cpp:
        (WebCore::Editor::appliedEditing):
        Removed code to preserve the removedAnchor during the call to setSelection, because we no longer
        request to clear the typing style with that call.  Also removed the FIXME about this.
        Before, a command would set the Frame's typing style by setting its own typingStyle, and then 
        letting code here, in appliedEditing pick that up and set it on the Frame.  Now, the command 
        itself sets the Frame's typing style.  Deletion is the only command that does this right now.
        * editing/IndentOutdentCommand.h:
        (WebCore::IndentOutdentCommand::preservesTypingStyle): Added, returns true.
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply): Removed FIXME.
        * editing/InsertListCommand.h:
        (WebCore::InsertListCommand::preservesTypingStyle): Added.
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Removed FIXME.
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input): Removed FIXME.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): Removed FIXME and also added one about clearing
        the typing style here.  It seems like it's something that could wait until after the command
        has been performed, since there is no code between this point and the end of the operation
        that queries or uses the typing style.

2008-06-19  Dan Bernstein  <mitz@apple.com>

        Reviewed by Alexey Proskuryakov.

        - fix crash in CSSStyleDeclaration::copyPropertiesInSet()

        Covered by many editing tests

        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::copyPropertiesInSet): Re-ordered to avoid
        null pointer deref.

2008-06-19  David Hyatt  <hyatt@apple.com>

        Fix out of bounds bug in CSSVariablesDeclaration's item() method.

        Reviewed by Sam, Darin

        * css/CSSVariablesDeclaration.cpp:
        (WebCore::CSSVariablesDeclaration::item):
        * css/CSSVariablesDeclaration.h:

2008-06-19  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin
        
        Tweak to previous checkin

        * page/FrameView.cpp:
        (WebCore::FrameView::performPostLayoutTasks):
        clear m_firstLayoutCallbackPending before performing callback, to avoid recursion

2008-06-19  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin
        
        - fixed <rdar://problem/6021353> Assertion failure (!root->needsLayout()) after certain steps
        
        The didFirstLayout callback was called in a place where trouble would ensue if the client
        did any work that would cause the layout to be dirtied. Fixed by delaying the callback
        until performPostLayoutTasks.

        * page/FrameView.cpp:
        new m_firstLayoutCallbackPending instance member variable in FrameViewPrivate
        (WebCore::FrameViewPrivate::reset):
        set m_firstLayoutCallbackPending to false
        (WebCore::FrameView::layout):
        set m_firstLayoutCallbackPending instead of a local variable; don't do didFirstLayout callback here
        (WebCore::FrameView::performPostLayoutTasks):
        if m_firstLayoutCallbackPending is set, do didFirstLayout callback here, then clear m_firstLayoutCallbackPending

2008-06-19  David Hyatt  <hyatt@apple.com>

        Implement some cleanup of CSS variables based off Darin's review comments.

        Reviewed by darin

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseVariable):
        (WebCore::CSSParser::checkForVariables):
        (WebCore::CSSParser::addUnresolvedProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::addMatchedDeclaration):
        * css/CSSVariableDependentValue.h:
        * css/CSSVariablesRule.cpp:
        (WebCore::CSSVariablesRule::CSSVariablesRule):

2008-06-19  John Sullivan  <sullivan@apple.com>

        Rubber-stamped by Dan
        
        Prepended all FrameViewPrivate instance member variables with "m_" (in preparation
        for adding a new one in a future patch)

        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::FrameViewPrivate):
        (WebCore::FrameViewPrivate::reset):
        (WebCore::FrameView::~FrameView):
        (WebCore::FrameView::resetScrollbars):
        (WebCore::FrameView::didFirstLayout):
        (WebCore::FrameView::initScrollbars):
        (WebCore::FrameView::layoutCount):
        (WebCore::FrameView::needsFullRepaint):
        (WebCore::FrameView::layoutRoot):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::scrollTo):
        (WebCore::FrameView::useSlowRepaints):
        (WebCore::FrameView::setUseSlowRepaints):
        (WebCore::FrameView::removeSlowRepaintObject):
        (WebCore::FrameView::setScrollbarsMode):
        (WebCore::FrameView::setVScrollbarMode):
        (WebCore::FrameView::setHScrollbarMode):
        (WebCore::FrameView::scheduleRelayout):
        (WebCore::FrameView::scheduleRelayoutOfSubtree):
        (WebCore::FrameView::layoutPending):
        (WebCore::FrameView::needsLayout):
        (WebCore::FrameView::unscheduleRelayout):
        (WebCore::FrameView::isTransparent):
        (WebCore::FrameView::setTransparent):
        (WebCore::FrameView::baseBackgroundColor):
        (WebCore::FrameView::setBaseBackgroundColor):
        (WebCore::FrameView::performPostLayoutTasks):
        (WebCore::FrameView::updateOverflowStatus):

2008-06-19  David Hyatt  <hyatt@apple.com>

        Add initial support for CSS variables.  Non-dynamic cases should (hopefully) all work.  Things will get
        confused if you use the CSS OM to remove variables/inject variables, etc.  In addition no DOM APIs are
        exposed yet for the new variable interfaces.

        Reviewed by Beth

        Added many tests to fast/css/variables/

        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSFunctionValue.cpp: Added.
        (WebCore::CSSFunctionValue::CSSFunctionValue):
        (WebCore::CSSFunctionValue::~CSSFunctionValue):
        (WebCore::CSSFunctionValue::cssText):
        (WebCore::CSSFunctionValue::parserValue):
        * css/CSSFunctionValue.h: Added.
        (WebCore::CSSFunctionValue::create):
        * css/CSSGrammar.y:
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        (WebCore::CSSMutableStyleDeclaration::copy):
        * css/CSSMutableStyleDeclaration.h:
        (WebCore::CSSMutableStyleDeclaration::create):
        (WebCore::CSSMutableStyleDeclaration::hasVariableDependentValue):
        * css/CSSParser.cpp:
        (WebCore::equal):
        (WebCore::equalIgnoringCase):
        (WebCore::CSSParser::~CSSParser):
        (WebCore::CSSParserString::lower):
        (WebCore::CSSParser::document):
        (WebCore::CSSParser::validUnit):
        (WebCore::unitFromString):
        (WebCore::CSSParser::checkForOrphanedUnits):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFillShorthand):
        (WebCore::CSSParser::parseTransitionShorthand):
        (WebCore::CSSParser::parseContent):
        (WebCore::CSSParser::parseFillImage):
        (WebCore::CSSParser::parseFillPosition):
        (WebCore::CSSParser::parseFillSize):
        (WebCore::CSSParser::parseFillProperty):
        (WebCore::CSSParser::parseTransitionDuration):
        (WebCore::CSSParser::parseTransitionRepeatCount):
        (WebCore::CSSParser::parseTimingFunctionValue):
        (WebCore::CSSParser::parseTransitionTimingFunction):
        (WebCore::CSSParser::parseTransitionProperty):
        (WebCore::skipCommaInDashboardRegion):
        (WebCore::CSSParser::parseDashboardRegions):
        (WebCore::CSSParser::parseCounterContent):
        (WebCore::CSSParser::parseShape):
        (WebCore::CSSParser::parseFont):
        (WebCore::CSSParser::parseFontFamily):
        (WebCore::CSSParser::parseFontFaceSrc):
        (WebCore::CSSParser::parseFontFaceUnicodeRange):
        (WebCore::CSSParser::parseColorParameters):
        (WebCore::CSSParser::parseHSLParameters):
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::parseColorFromValue):
        (WebCore::ShadowParseContext::commitLength):
        (WebCore::CSSParser::parseShadow):
        (WebCore::CSSParser::parseReflect):
        (WebCore::BorderImageParseContext::commitNumber):
        (WebCore::BorderImageParseContext::commitWidth):
        (WebCore::BorderImageParseContext::commitBorderImage):
        (WebCore::CSSParser::parseBorderImage):
        (WebCore::CSSParser::parseCounter):
        (WebCore::parseGradientPoint):
        (WebCore::parseGradientColorStop):
        (WebCore::CSSParser::parseGradient):
        (WebCore::CSSParser::parseCanvas):
        (WebCore::TransformOperationInfo::TransformOperationInfo):
        (WebCore::CSSParser::parseTransform):
        (WebCore::CSSParser::lex):
        (WebCore::CSSParser::text):
        (WebCore::CSSParser::createFloatingValueList):
        (WebCore::CSSParser::sinkFloatingValueList):
        (WebCore::CSSParser::createFloatingFunction):
        (WebCore::CSSParser::sinkFloatingFunction):
        (WebCore::CSSParser::sinkFloatingValue):
        (WebCore::CSSParser::createFloatingMediaQueryExp):
        (WebCore::CSSParser::createCharsetRule):
        (WebCore::CSSParser::createImportRule):
        (WebCore::CSSParser::createVariablesRule):
        (WebCore::CSSParser::addVariable):
        (WebCore::CSSParser::clearVariables):
        (WebCore::CSSParser::parseVariable):
        (WebCore::CSSParser::parsePropertyWithResolvedVariables):
        (WebCore::CSSParser::checkForVariables):
        (WebCore::CSSParser::addUnresolvedProperty):
        (WebCore::cssPropertyID):
        (WebCore::cssValueKeywordID):
        * css/CSSParser.h:
        * css/CSSParserValues.cpp: Added.
        (WebCore::CSSParserValueList::~CSSParserValueList):
        (WebCore::CSSParserValueList::addValue):
        (WebCore::CSSParserValueList::deleteValueAt):
        (WebCore::CSSParserValue::createCSSValue):
        * css/CSSParserValues.h: Added.
        (WebCore::CSSParserString::operator String):
        (WebCore::CSSParserString::operator AtomicString):
        (WebCore::CSSParserValue::):
        (WebCore::CSSParserValueList::CSSParserValueList):
        (WebCore::CSSParserValueList::size):
        (WebCore::CSSParserValueList::current):
        (WebCore::CSSParserValueList::next):
        (WebCore::CSSParserValueList::valueAt):
        (WebCore::CSSParserValueList::clear):
        (WebCore::CSSParserValueList::containsVariables):
        (WebCore::CSSParserFunction::~CSSParserFunction):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::getStringValue):
        (WebCore::CSSPrimitiveValue::cssText):
        (WebCore::CSSPrimitiveValue::parserValue):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::):
        (WebCore::CSSPrimitiveValue::setPrimitiveType):
        * css/CSSRule.h:
        (WebCore::CSSRule::):
        * css/CSSRule.idl:
        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::addMatchedDeclaration):
        (WebCore::CSSStyleSelector::addVariables):
        (WebCore::CSSStyleSelector::resolveVariableDependentValue):
        (WebCore::CSSRuleSet::addRulesFromSheet):
        (WebCore::CSSStyleSelector::applyDeclarations):
        * css/CSSStyleSelector.h:
        * css/CSSValue.h:
        (WebCore::CSSValue::isVariableDependentValue):
        (WebCore::CSSValue::parserValue):
        * css/CSSValueList.cpp:
        (WebCore::CSSValueList::CSSValueList):
        (WebCore::CSSValueList::createParserValueList):
        * css/CSSValueList.h:
        (WebCore::CSSValueList::createFromParserValueList):
        * css/CSSVariableDependentValue.cpp: Added.
        (WebCore::CSSVariableDependentValue::CSSVariableDependentValue):
        (WebCore::CSSVariableDependentValue::~CSSVariableDependentValue):
        (WebCore::CSSVariableDependentValue::cssText):
        * css/CSSVariableDependentValue.h: Added.
        (WebCore::CSSVariableDependentValue::create):
        (WebCore::CSSVariableDependentValue::isVariableDependentValue):
        (WebCore::CSSVariableDependentValue::valueList):
        * css/CSSVariablesDeclaration.cpp: Added.
        (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
        (WebCore::CSSVariablesDeclaration::~CSSVariablesDeclaration):
        (WebCore::CSSVariablesDeclaration::getVariableValue):
        (WebCore::CSSVariablesDeclaration::removeVariable):
        (WebCore::CSSVariablesDeclaration::setVariable):
        (WebCore::CSSVariablesDeclaration::addParsedVariable):
        (WebCore::CSSVariablesDeclaration::getParsedVariable):
        (WebCore::CSSVariablesDeclaration::length):
        (WebCore::CSSVariablesDeclaration::item):
        (WebCore::CSSVariablesDeclaration::parentRule):
        (WebCore::CSSVariablesDeclaration::cssText):
        * css/CSSVariablesDeclaration.h: Added.
        (WebCore::CSSVariablesDeclaration::create):
        * css/CSSVariablesRule.cpp: Added.
        (WebCore::CSSVariablesRule::CSSVariablesRule):
        (WebCore::CSSVariablesRule::~CSSVariablesRule):
        (WebCore::CSSVariablesRule::cssText):
        * css/CSSVariablesRule.h: Added.
        (WebCore::CSSVariablesRule::media):
        (WebCore::CSSVariablesRule::variables):
        (WebCore::CSSVariablesRule::type):
        (WebCore::CSSVariablesRule::isVariablesRule):
        (WebCore::CSSVariablesRule::setDeclaration):
        * css/MediaQueryExp.cpp:
        (WebCore::MediaQueryExp::MediaQueryExp):
        * css/MediaQueryExp.h:
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        (WebCore::CSSParser::parseSVGStrokeDasharray):
        * css/StyleBase.h:
        (WebCore::StyleBase::isVariablesRule):
        * css/tokenizer.flex:

2008-06-19  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin.

        Bug 19529 : Empty clients need to be refactored
        https://bugs.webkit.org/show_bug.cgi?id=19529

        - SVGImageEmptyClients' refactoring in order to be able to use them for other
        elements.

        - Trimmed empty spaces that were pointed out by git.

        * WebCore.xcodeproj/project.pbxproj:
        * loader/EmptyClients.h: Copied from WebCore/svg/graphics/SVGImageEmptyClients.h.

        (WebCore::EmptyChromeClient::~EmptyChromeClient):
        (WebCore::EmptyFrameLoaderClient::~EmptyFrameLoaderClient):
        (WebCore::EmptyEditorClient::~EmptyEditorClient):
        (WebCore::EmptyEditorClient::smartInsertDeleteEnabled):
        (WebCore::EmptyContextMenuClient::~EmptyContextMenuClient):
        (WebCore::EmptyDragClient::~EmptyDragClient):
        (WebCore::EmptyDragClient::createDragImageForLink):
        (WebCore::EmptyInspectorClient::~EmptyInspectorClient):
        Renamed SVGImageEmpty*Client classes to Empty*Client.

        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):
        * svg/graphics/SVGImageEmptyClients.h: Removed.

2008-06-19  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix <rdar://problem/6008098> REGRESSION: Crash at FontFallbackList::fontDataAt()

        Test: fast/css/font-face-multiple-families.html

        Made changes to reflect the fact that the relationship between
        CSSFontFace and CSSSegmentedFontFace is in fact many-to-many.

        * css/CSSFontFace.cpp:
        (WebCore::CSSFontFace::addedToSegmentedFontFace): Added.
        (WebCore::CSSFontFace::removedFromSegmentedFontFace): Added.
        (WebCore::CSSFontFace::fontLoaded): Changed to notify all segmented font
        faces that include this font face.
        (WebCore::CSSFontFace::getFontData): Updated to get the font selector
        from one of the segmented font faces.
        * css/CSSFontFace.h:
        (WebCore::CSSFontFace::CSSFontFace):
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule): Fixed the direct cause of
        the crash, namely releasing the font face when adding it to the first
        family that uses it, making it impossible to add it to the second and
        onwards families.
        * css/CSSSegmentedFontFace.cpp:
        (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace): Added code to
        call CSSFontFace::removedFromSegmentedFontFace().
        (WebCore::CSSSegmentedFontFace::overlayRange): Added code to call
        CSSFontFace::{addedTo, removedFrom}SegmentedFontFace().

2008-06-19  Alexey Proskuryakov  <ap@webkit.org>

        Qt build fix.

        * bridge/qt/qt_runtime.h: Include completion.h.

2008-06-17  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        Prepare JavaScript heap for being per-thread.

        * ForwardingHeaders/kjs/JSGlobalData.h: Added.
        * bindings/js/GCController.cpp:
        (WebCore::collect):
        (WebCore::GCController::gcTimerFired):
        (WebCore::GCController::garbageCollectNow):
        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::JSAudioConstructor):
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::nameGetter):
        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSCanvasPixelArrayCustom.cpp:
        (WebCore::JSCanvasPixelArray::indexGetter):
        (WebCore::toJS):
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSClipboardCustom.cpp:
        (WebCore::JSClipboard::types):
        (WebCore::JSClipboard::getData):
        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        (WebCore::JSDOMApplicationCache::addEventListener):
        (WebCore::JSDOMApplicationCache::removeEventListener):
        (WebCore::JSDOMApplicationCache::setOnchecking):
        (WebCore::JSDOMApplicationCache::setOnerror):
        (WebCore::JSDOMApplicationCache::setOnnoupdate):
        (WebCore::JSDOMApplicationCache::setOndownloading):
        (WebCore::JSDOMApplicationCache::setOnprogress):
        (WebCore::JSDOMApplicationCache::setOnupdateready):
        (WebCore::JSDOMApplicationCache::setOncached):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::jsStringOrNull):
        (WebCore::jsOwnedStringOrNull):
        (WebCore::jsStringOrUndefined):
        (WebCore::jsStringOrFalse):
        (WebCore::nonCachingStaticFunctionGetter):
        (WebCore::objectToStringFunctionGetter):
        * bindings/js/JSDOMBinding.h:
        (WebCore::DOMObject::DOMObject):
        (WebCore::cacheDOMObject):
        (WebCore::cacheSVGDOMObject):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
        (WebCore::JSDOMWindowBase::getValueProperty):
        (WebCore::JSDOMWindowBase::setListener):
        (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
        (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
        (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
        (WebCore::windowProtoFuncAToB):
        (WebCore::windowProtoFuncBToA):
        (WebCore::windowProtoFuncSetTimeout):
        (WebCore::windowProtoFuncSetInterval):
        (WebCore::windowProtoFuncAddEventListener):
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::operator new):
        * bindings/js/JSDOMWindowShell.h:
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSElementCustom.cpp:
        (WebCore::toJSNewlyCreated):
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSLazyEventListener::eventParameterName):
        (WebCore::JSLazyEventListener::parseCode):
        * bindings/js/JSEventTargetBase.cpp:
        (WebCore::jsEventTargetAddEventListener):
        * bindings/js/JSEventTargetBase.h:
        (WebCore::JSEventTargetPrototype::self):
        * bindings/js/JSEventTargetNode.cpp:
        (WebCore::JSEventTargetNode::setListener):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        (WebCore::toJS):
        * bindings/js/JSHTMLFormElementCustom.cpp:
        (WebCore::JSHTMLFormElement::nameGetter):
        * bindings/js/JSHTMLInputElementBase.cpp:
        (WebCore::JSHTMLInputElementBase::getValueProperty):
        * bindings/js/JSHTMLOptionElementConstructor.cpp:
        (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
        (WebCore::JSHTMLOptionsCollection::length):
        * bindings/js/JSInspectedObjectWrapper.cpp:
        (WebCore::JSInspectedObjectWrapper::wrap):
        * bindings/js/JSInspectorCallbackWrapper.cpp:
        (WebCore::JSInspectorCallbackWrapper::wrap):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::toString):
        * bindings/js/JSNamedNodesCollection.cpp:
        (WebCore::JSNamedNodesCollection::lengthGetter):
        * bindings/js/JSNavigatorCustom.cpp:
        (WebCore::JSNavigator::appVersion):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::createWrapper):
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::JSNodeFilter::acceptNode):
        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::getRuntimeObject):
        * bindings/js/JSRGBColor.cpp:
        (WebCore::getJSRGBColor):
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item):
        * bindings/js/JSSVGLazyEventListener.cpp:
        (WebCore::JSSVGLazyEventListener::eventParameterName):
        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::nameGetter):
        * bindings/js/JSStyleSheetCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSTextCustom.cpp:
        (WebCore::toJSNewlyCreated):
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::JSXMLHttpRequestConstructor::construct):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::setOnreadystatechange):
        (WebCore::JSXMLHttpRequest::setOnload):
        (WebCore::JSXMLHttpRequest::setOnprogress):
        (WebCore::JSXMLHttpRequest::getResponseHeader):
        (WebCore::JSXMLHttpRequest::addEventListener):
        (WebCore::JSXMLHttpRequest::removeEventListener):
        * bindings/js/JSXSLTProcessorConstructor.cpp:
        (WebCore::JSXSLTProcessorConstructor::construct):
        * bindings/js/JSXSLTProcessorCustom.cpp:
        (WebCore::JSXSLTProcessor::getParameter):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/c/c_instance.cpp:
        (KJS::Bindings::CInstance::defaultValue):
        (KJS::Bindings::CInstance::stringValue):
        (KJS::Bindings::CInstance::numberValue):
        (KJS::Bindings::CInstance::valueOf):
        * bridge/c/c_instance.h:
        * bridge/c/c_utility.cpp:
        (KJS::Bindings::convertNPVariantToValue):
        * bridge/jni/jni_instance.cpp:
        (JavaInstance::stringValue):
        (JavaInstance::numberValue):
        (JavaInstance::invokeMethod):
        (JavaInstance::defaultValue):
        (JavaInstance::valueOf):
        * bridge/jni/jni_instance.h:
        * bridge/jni/jni_jsobject.h:
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::call):
        (JavaJSObject::setMember):
        (JavaJSObject::setSlot):
        (JavaJSObject::convertJObjectToValue):
        (JavaJSObject::getListFromJArray):
        * bridge/jni/jni_objc.mm:
        (KJS::Bindings::dispatchJNICall):
        * bridge/jni/jni_runtime.cpp:
        (JavaArray::convertJObjectToArray):
        (JavaField::dispatchValueFromInstance):
        (JavaField::valueFromInstance):
        (JavaField::dispatchSetValueToInstance):
        (JavaArray::valueAt):
        * bridge/jni/jni_utility.h:
        * bridge/objc/objc_class.mm:
        (KJS::Bindings::ObjcClass::fallbackObject):
        * bridge/objc/objc_instance.h:
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::defaultValue):
        (ObjcInstance::stringValue):
        (ObjcInstance::numberValue):
        (ObjcInstance::valueOf):
        * bridge/objc/objc_utility.h:
        * bridge/objc/objc_utility.mm:
        (KJS::Bindings::convertNSStringToString):
        (KJS::Bindings::convertObjcValueToValue):
        * bridge/runtime.cpp:
        (KJS::Bindings::Instance::createRuntimeObject):
        * bridge/runtime.h:
        (KJS::Bindings::Instance::valueOf):
        * bridge/runtime_array.cpp:
        (RuntimeArray::lengthGetter):
        * bridge/runtime_method.cpp:
        (RuntimeMethod::lengthGetter):
        * bridge/runtime_object.cpp:
        (RuntimeObjectImp::RuntimeObjectImp):
        (RuntimeObjectImp::methodGetter):
        (RuntimeObjectImp::defaultValue):
        * dom/make_names.pl:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::dropProtection):
        * bridge/qt/qt_class.cpp:
        (KJS::Bindings::QtClass::fallbackObject):
        * bridge/qt/qt_instance.cpp:
        (KJS::Bindings::QtRuntimeObjectImp::construct):
        (KJS::Bindings::QtInstance::getRuntimeObject):
        (KJS::Bindings::QtInstance::invokeDefaultMethod):
        (KJS::Bindings::QtInstance::defaultValue):
        (KJS::Bindings::QtInstance::stringValue):
        (KJS::Bindings::QtInstance::numberValue):
        (KJS::Bindings::QtInstance::valueOf):
        * bridge/qt/qt_instance.h:
        * bridge/qt/qt_runtime.cpp:
        (KJS::Bindings::convertValueToQVariant):
        (KJS::Bindings::convertQVariantToValue):
        (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter):
        (KJS::Bindings::QtRuntimeMetaMethod::connectGetter):
        (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter):
        (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter):
        (KJS::Bindings::QtConnectionObject::execute):
        Pass ExecState* where now required.

2008-06-19  Timothy Hatcher  <timothy@apple.com>

        Update the JavaScript syntax highlight colors to match Xcode.
        This matches the other Xcode colors we are using for HTML.

        Reviewed by Dan Bernstein.

        * page/inspector/SourceFrame.js:

2008-06-19  Keishi Hattori  <casey.hattori@gmail.com>

        Added JavaScript syntax highlighting to the Web Inspector.

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

        Reviewed by Tim Hatcher and Adam Roben.

        * page/inspector/ScriptView.js: Added a call to syntaxHighlightJavascript.
        * page/inspector/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine): Added.
        Modifies a line content element.
        (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Added.
        Syntax highlights the entire script.
        * page/inspector/SourceView.js: Added a call to syntaxHighlightJavascript.

2008-06-19  Alex Mathews  <possessedpenguinbob@gmail.com>

        Reviewed by Oliver.

        Starting to clean up the SVG Filter code. Mostly adding 'create' wrapper
        functions and changing raw pointer fields to RefPtrs.

        * Configurations/WebCore.xcconfig:
        * WebCore.xcodeproj/project.pbxproj:
        * svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::~SVGFEBlendElement):
        (WebCore::SVGFEBlendElement::filterEffect):
        * svg/SVGFEBlendElement.h:
        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::~SVGFEColorMatrixElement):
        (WebCore::SVGFEColorMatrixElement::filterEffect):
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::~SVGFEComponentTransferElement):
        (WebCore::SVGFEComponentTransferElement::filterEffect):
        * svg/SVGFEComponentTransferElement.h:
        * svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::~SVGFECompositeElement):
        (WebCore::SVGFECompositeElement::filterEffect):
        * svg/SVGFECompositeElement.h:
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::~SVGFEDiffuseLightingElement):
        (WebCore::SVGFEDiffuseLightingElement::filterEffect):
        * svg/SVGFEDiffuseLightingElement.h:
        * svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::~SVGFEDisplacementMapElement):
        (WebCore::SVGFEDisplacementMapElement::filterEffect):
        * svg/SVGFEDisplacementMapElement.h:
        * svg/SVGFEFloodElement.cpp:
        (WebCore::SVGFEFloodElement::~SVGFEFloodElement):
        (WebCore::SVGFEFloodElement::filterEffect):
        * svg/SVGFEFloodElement.h:
        * svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::~SVGFEGaussianBlurElement):
        (WebCore::SVGFEGaussianBlurElement::filterEffect):
        * svg/SVGFEGaussianBlurElement.h:
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::~SVGFEImageElement):
        (WebCore::SVGFEImageElement::filterEffect):
        * svg/SVGFEImageElement.h:
        * svg/SVGFEMergeElement.cpp:
        (WebCore::SVGFEMergeElement::~SVGFEMergeElement):
        (WebCore::SVGFEMergeElement::filterEffect):
        * svg/SVGFEMergeElement.h:
        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::~SVGFEOffsetElement):
        (WebCore::SVGFEOffsetElement::filterEffect):
        * svg/SVGFEOffsetElement.h:
        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::~SVGFESpecularLightingElement):
        (WebCore::SVGFESpecularLightingElement::filterEffect):
        * svg/SVGFESpecularLightingElement.h:
        * svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::~SVGFETileElement):
        (WebCore::SVGFETileElement::filterEffect):
        * svg/SVGFETileElement.h:
        * svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::~SVGFETurbulenceElement):
        (WebCore::SVGFETurbulenceElement::filterEffect):
        * svg/SVGFETurbulenceElement.h:
        * svg/graphics/SVGResourceFilter.cpp:
        (WebCore::SVGResourceFilter::addFilterEffect):
        * svg/graphics/SVGResourceFilter.h:
        * svg/graphics/filters/SVGFEBlend.cpp:
        (WebCore::SVGFEBlend::create):
        * svg/graphics/filters/SVGFEBlend.h:
        * svg/graphics/filters/SVGFEColorMatrix.cpp:
        (WebCore::SVGFEColorMatrix::create):
        * svg/graphics/filters/SVGFEColorMatrix.h:
        * svg/graphics/filters/SVGFEComponentTransfer.cpp:
        (WebCore::SVGFEComponentTransfer::create):
        * svg/graphics/filters/SVGFEComponentTransfer.h:
        * svg/graphics/filters/SVGFEComposite.cpp:
        (WebCore::SVGFEComposite::create):
        * svg/graphics/filters/SVGFEComposite.h:
        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
        (WebCore::SVGFEConvolveMatrix::create):
        * svg/graphics/filters/SVGFEConvolveMatrix.h:
        * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
        (WebCore::SVGFEDiffuseLighting::create):
        (WebCore::SVGFEDiffuseLighting::~SVGFEDiffuseLighting):
        (WebCore::SVGFEDiffuseLighting::lightSource):
        (WebCore::SVGFEDiffuseLighting::setLightSource):
        * svg/graphics/filters/SVGFEDiffuseLighting.h:
        * svg/graphics/filters/SVGFEDisplacementMap.cpp:
        (WebCore::SVGFEDisplacementMap::create):
        * svg/graphics/filters/SVGFEDisplacementMap.h:
        * svg/graphics/filters/SVGFEFlood.cpp:
        (WebCore::SVGFEFlood::create):
        * svg/graphics/filters/SVGFEFlood.h:
        * svg/graphics/filters/SVGFEGaussianBlur.cpp:
        (WebCore::SVGFEGaussianBlur::create):
        * svg/graphics/filters/SVGFEGaussianBlur.h:
        * svg/graphics/filters/SVGFEImage.cpp:
        (WebCore::SVGFEImage::create):
        * svg/graphics/filters/SVGFEImage.h:
        * svg/graphics/filters/SVGFEMerge.cpp:
        (WebCore::SVGFEMerge::SVGFEMerge):
        (WebCore::SVGFEMerge::create):
        * svg/graphics/filters/SVGFEMerge.h:
        * svg/graphics/filters/SVGFEOffset.cpp:
        (WebCore::SVGFEOffset::create):
        * svg/graphics/filters/SVGFEOffset.h:
        * svg/graphics/filters/SVGFESpecularLighting.cpp:
        (WebCore::SVGFESpecularLighting::create):
        (WebCore::SVGFESpecularLighting::~SVGFESpecularLighting):
        (WebCore::SVGFESpecularLighting::lightSource):
        (WebCore::SVGFESpecularLighting::setLightSource):
        * svg/graphics/filters/SVGFESpecularLighting.h:
        * svg/graphics/filters/SVGFETile.cpp: Added.
        (WebCore::SVGFETile::SVGFETile):
        (WebCore::SVGFETile::create):
        * svg/graphics/filters/SVGFETile.h:
        * svg/graphics/filters/SVGFETurbulence.cpp:
        (WebCore::SVGFETurbulence::create):
        * svg/graphics/filters/SVGFETurbulence.h:
        * svg/graphics/filters/SVGFilterEffect.h:
        * svg/graphics/filters/SVGLightSource.h:

2008-06-18  Adele Peterson  <adele@apple.com>

        Reviewed by Dan Bernstein.

        Fix assertion in fast/dom/ImageDocument-image-deletion.html caused by new media document creation.

        * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
          Create the media document after we're done processing pdfs and images.

192008-06-17  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19598
          Crash in WebCore::RenderBlock::determineStartPosition

        Test: fast/dynamic/floating-to-positioned-2.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setStyle): Changed to also remove relatively
        positioned floats from object lists when they become positioned, because
        then they cease to be floating.

2008-06-18  Darin Adler  <darin@apple.com>

        Reviewed by Mark Rowe.

        - fix storage leak

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::copy): Added an adoptRef that
        I missed when changing these objects to start with a refcount of 1.

2008-06-18  Timothy Hatcher  <timothy@apple.com>

        Add a script build phase to remove the WebKit.qrc file from
        WebCore's resources. This file is used for the Qt port, but we
        copy the whole inspector folder for connivence and get this file.

        Reviewed by Adam Roben.

        * WebCore.xcodeproj/project.pbxproj: New script phase.

2008-06-18  Timothy Hatcher  <timothy@apple.com>

        Combine the Web Inspector's JavaScript resources into one large
        script file to speed up loading of the Inspector. This is only
        done for Release and Production builds.

        Reviewed by Adam Roben.

        * WebCore.xcodeproj/project.pbxproj: Added a Streamline Inspector Source
        script build phase that calls combine-javascript-resources and
        moves files around in the build directory.
        * combine-javascript-resources: Added.

2008-06-18  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        https://bugs.webkit.org/show_bug.cgi?id=18786
        Once rendered, SVG text elements removed from DOM continue to be displayed

        Repaint the text visual rect before removing it.

        * rendering/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::destroy):
        * rendering/RenderSVGInlineText.h:

2008-06-18  Christian Dywan  <christian@twotoasts.de>

        Gtk build fix, brought up by Dirk Schulze.

        * page/gtk/AccessibilityObjectWrapperAtk.cpp:

2008-06-17  Beth Dakin  <bdakin@apple.com>

        Reviewed by Tim.

        This patch removes all instances of the phrase "TextMarker" from 
        function names in the C++ accessibility code. TextMarkers only 
        exists in the Objective-C code.

        * page/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::visiblePositionRangeForLine):
        (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions):
        (WebCore::AccessibilityObject::positionOfLeftWord):
        (WebCore::AccessibilityObject::positionOfRightWord):
        (WebCore::AccessibilityObject::leftLineVisiblePositionRange):
        (WebCore::AccessibilityObject::rightLineVisiblePositionRange):
        (WebCore::AccessibilityObject::sentenceForPosition):
        (WebCore::AccessibilityObject::paragraphForPosition):
        (WebCore::AccessibilityObject::styleRangeForPosition):
        (WebCore::AccessibilityObject::visiblePositionRangeForRange):
        (WebCore::AccessibilityObject::stringForVisiblePositionRange):
        (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
        (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
        (WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
        (WebCore::AccessibilityObject::visiblePositionForPoint):
        (WebCore::AccessibilityObject::nextVisiblePosition):
        (WebCore::AccessibilityObject::previousVisiblePosition):
        (WebCore::AccessibilityObject::nextWordEnd):
        (WebCore::AccessibilityObject::previousWordStart):
        (WebCore::AccessibilityObject::nextLineEndPosition):
        (WebCore::AccessibilityObject::previousLineStartPosition):
        (WebCore::AccessibilityObject::nextSentenceEndPosition):
        (WebCore::AccessibilityObject::previousSentenceStartPosition):
        (WebCore::AccessibilityObject::nextParagraphEndPosition):
        (WebCore::AccessibilityObject::previousParagraphStartPosition):
        (WebCore::AccessibilityObject::visiblePositionForIndex):
        (WebCore::AccessibilityObject::accessibilityObjectForPosition):
        (WebCore::AccessibilityObject::lineForPosition):
        (WebCore::AccessibilityObject::plainTextRangeForVisiblePositionRange):
        (WebCore::AccessibilityObject::index):
        (WebCore::AccessibilityObject::doAXRangeForPosition):
        (WebCore::AccessibilityObject::doAXStyleRangeForIndex):
        (WebCore::AccessibilityObject::doAXLineForIndex):
        * page/AccessibilityObject.h:
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
        (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
        (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
        (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
        (WebCore::AccessibilityRenderObject::index):
        (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
        * page/AccessibilityRenderObject.h:
        * page/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
        (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

2008-06-17  Mark Rowe  <mrowe@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/5775802> WebCore should not force use of GCC 4.0.

        * WebCore.xcodeproj/project.pbxproj:

2008-06-17  Darin Adler  <darin@apple.com>

        Reviewed by Sam.

        - eliminate the last RefCounted client that needs the "start at 0" behavior, NodeFilter

        - move handling of non-Attr arguments from the code generation script to the DOM
          itself (as with every other type of argument)

        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::toNodeFilter): Changed return type to PassRefPtr. Use create instead of new.

        * bindings/objc/DOM.mm:
        (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
        Use create instead of new.
        (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
        Ditto.

        * bindings/scripts/CodeGeneratorJS.pm: Use PassRefPtr and RefPtr for toNodeFilter and
        the local variable for NodeFilter arguments. Remove the TypeCanFailConversion mechanism:
        It's no longer needed for Attr, was not having any effect for VoidCallback, and was
        returning false for all other types.

        * dom/Element.cpp:
        (WebCore::Element::setAttributeNode): Added code to return TYPE_MISMATCH_ERR when
        the attr is 0 -- this matches what the autogenerated bindings did before.
        (WebCore::Element::setAttributeNodeNS): Ditto.
        (WebCore::Element::removeAttributeNode): Ditto.

        * dom/NodeFilter.h: Added create, made constructor private, and got rid of code to
        initialize the refcount to 0.

        * html/CanvasPattern.h: Made CachedResourceClient base class private in a
        more-explicit way.

2008-06-17  Adam Roben  <aroben@apple.com>

        Fix <rdar://6016755> Assertion failure when WebView is child of
        message-only window

        Reviewed by Ada Chan.

        No test possible.

        * platform/win/WindowMessageBroadcaster.cpp:
        (WebCore::WindowMessageBroadcaster::addListener): Only subclass the
        window when we're adding our first listener. Removed an assertion that
        an old WNDPROC was returned -- this will be 0 in the case of a
        message-only window. Added an assertion to help catch cases where we
        try to subclass the window twice.
        (WebCore::WindowMessageBroadcaster::unsubclassWindow): Removed an
        assertion that is not correct in the message-only window case.

2008-06-17  Adele Peterson  <adele@apple.com>

        Attempt to fix builds by wrapping new code in #if ENABLE(VIDEO)

        * loader/MediaDocument.cpp:
        * loader/MediaDocument.h:

2008-06-17  Adele Peterson  <adele@apple.com>

        Attempt to fix builds by wrapping new code in #if ENABLE(VIDEO)

        * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):

2008-06-17  Adele Peterson  <adele@apple.com>

        Reviewed by Brady.

        Fix for <rdar://problem/5605768> Render full-page video/audio with <video>/<audio> instead of QuickTime plug-in

        * WebCore.xcodeproj/project.pbxproj: Added MediaDocument class.
        * GNUmakefile.am: ditto.
        * WebCore.pro: ditto.
        * WebCore.vcproj/WebCore.vcproj: ditto.
        * WebCoreSources.bkl: ditto.

        * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
          Check to see if the type can be played by our MediaPlayer, if so create a MediaDocument
        * dom/Document.h: (WebCore::Document::isMediaDocument): Added.

        * loader/MediaDocument.cpp: Added.
        (WebCore::MediaTokenizer::MediaTokenizer):
        (WebCore::MediaTokenizer::wantsRawData):
        (WebCore::MediaTokenizer::write):
        (WebCore::MediaTokenizer::createDocumentStructure):
        (WebCore::MediaTokenizer::writeRawData):
        (WebCore::MediaTokenizer::stopParsing):
        (WebCore::MediaTokenizer::finish):
        (WebCore::MediaTokenizer::isWaitingForScripts):
        (WebCore::MediaDocument::MediaDocument):
        (WebCore::MediaDocument::createTokenizer):
        * loader/MediaDocument.h: Added.
        (WebCore::MediaDocument::create):
        (WebCore::MediaDocument::isMediaDocument):

        * page/InspectorController.cpp: (WebCore::getResourceDocumentNode):
          Added MediaDocument case so it is handled the same as a PluginDocument or ImageDocument.
        * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::supportsType): Added.
        * platform/graphics/MediaPlayer.h:
        * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):
          Instead of checking the html element to decide if the media is audio, check the player.
          This means that if a video element actually only contains audio, then we will still avoid fading the controls in and out.

2008-06-17  Timothy Hatcher  <timothy@apple.com>

        Adds the file name and line number for call frames next to
        the function name in the Call Stack pane.

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

        Reviewed by Adam Roben.

        * English.lproj/localizedStrings.js: Updated strings.
        * page/inspector/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype.update): Create a subtitle
        based on the URL and line number.

2008-06-17  Timothy Hatcher  <timothy@apple.com>

        Use accurate call frame title's based on the call frame type.

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

        Reviewed by Geoff Garen.

        * English.lproj/localizedStrings.js: Updated strings.
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::evaluate): Removed the isValid()
        check since the evaluate() functiondoes the check already.
        (WebCore::JSJavaScriptCallFrame::thisObject): Removed the isValid()
        check, since thisObject() does the check and returns null if invalid.
        (WebCore::JSJavaScriptCallFrame::type): Return a string
        based on the enum value of the type.
        (WebCore::JSJavaScriptCallFrame::scopeChain): Removed the isValid()
        check, since scopeChain() does the check and returns null if invalid.
        So just null check scopeChain().
        * page/JavaScriptCallFrame.cpp:
        (WebCore::JavaScriptCallFrame::type): Return the DebuggerCallFrame::Type.
        Return DebuggerCallFrame::UnknownType if the call frame is invalid.
        * page/JavaScriptCallFrame.h:
        * page/JavaScriptCallFrame.idl: Add the type property.
        * page/inspector/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype.update): Check the type
        of the call frame to create the correct title.
        * page/inspector/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use the
        "(program)" title for the file menu to match the call frames.

2008-06-17  Timothy Hatcher  <timothy@apple.com>

        Remember the expanded state of objects in the Scope Variables pane when stepping.
        https://bugs.webkit.org/show_bug.cgi?id=19584

        Reviewed by Adam Roben.

        * page/inspector/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection): Add an optional argument
        that is the treeElementConstructor to use when making TreeElements.
        (WebInspector.ObjectPropertiesSection.prototype.onpopulate): Use
        the treeElementConstructor to create TreeElements.
        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Use
        the treeElementConstructor to create TreeElements.
        * page/inspector/ScopeChainSidebarPane.js:
        (WebInspector.ScopeChainSidebarPane.prototype.update): Create an
        _expandedProperties object on the callframe if one doesn't exist yet.
        Pass WebInspector.ScopeVariableTreeElement to the ObjectPropertiesSection
        as the TreeElement constructor we want to use.
        (WebInspector.ScopeVariableTreeElement): Added.
        (WebInspector.ScopeVariableTreeElement.prototype.onattach): Expand if the
        propertyIdentifier is in the pane's _expandedProperties.
        (WebInspector.ScopeVariableTreeElement.prototype.onexpand): Add the
        propertyIdentifier to the pane's _expandedProperties.
        (WebInspector.ScopeVariableTreeElement.prototype.oncollapse): Remove the
        propertyIdentifier from the pane's _expandedProperties.
        (WebInspector.ScopeVariableTreeElement.prototype.get propertyIdentifier):
        Return an identifier that has the section title, subtile and propertyPath concatenated.
        (WebInspector.ScopeVariableTreeElement.prototype.get propertyPath): Return a string
        that has the propertyNames up to the root ancestor concatenated with a period.

2008-06-17  Timothy Hatcher  <timothy@apple.com>

        Focus the mainPanelsElement in a timeout so it happens after the
        initial focus, so it doesn't get reset to the first toolbar button.
        This initial focus happens on Mac when the window is made key and
        the WebHTMLView becomes the first responder.

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

        Reviewed by Adele Peterson.

        * page/inspector/inspector.js:
        (WebInspector.loaded): Focus the mainPanelsElement in a timeout.

2008-06-17  Timothy Hatcher  <timothy@apple.com>

        Use tabIndex in the Web Inspector for focusable areas.
        https://bugs.webkit.org/show_bug.cgi?id=19583

        Reviewed by Adam Roben.

        * page/inspector/Console.js:
        (WebInspector.Console): No longer make the messagesElement
        focusable since the engine handles the case for us. The promptElement
        now handles the key events.
        (WebInspector.Console.prototype.show): Set the current focus element
        to the prompt element.
        (WebInspector.Console.prototype.hide): Set the current focus element
        to WebInspector.previousFocusElement.
        (WebInspector.Console.prototype._messagesFocused): Removed.
        * page/inspector/DataGrid.js:
        (WebInspector.DataGrid): Remove the focusable class.
        * page/inspector/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView): Remove the focusable class. Set
        tabIndex to 0. The promptElement now handles the key events.
        (WebInspector.DatabaseQueryView.prototype._focused): Removed.
        * page/inspector/inspector.css: Updated selectors to use :focus
        instead of .focused and .blurred.
        * page/inspector/inspector.html: Removed focusable, focused and blurred
        classes and added tabindex attributes.
        * page/inspector/inspector.js:
        (WebInspector.get previousFocusElement): Added. Returns _previousFocusElement.
        (WebInspector.set currentFocusElement): Simplified. Stores the previous element
        in _previousFocusElement for clients that need it. Calls focus on the passed
        in element or blur on the previous element.
        (WebInspector.loaded): Removed the event listener for mousedown. Renamed
        changeFocus to focusChanged.
        (WebInspector.focusChanged): Renamed from changeFocus. Just sets the
        currentFocusElement to the event target.
        (WebInspector.startEditing): Changed to use tabIndex and blur events.
        Add a more robust check for restoring focus to the previous element
        when editing finishes that catches focused descendants.

2008-06-17  Timothy Hatcher  <timothy@apple.com>

        Removed redundant if statements and early returns from
        AccessibilityRenderObject::ariaRoleAttribute.

        Reviewed by Sam Wenig.

        * page/AccessibilityRenderObject.cpp:
        (AccessibilityRenderObject::ariaRoleAttribute): Removed redundant if
        statements and early returns.

2008-06-17  Timothy Hatcher  <timothy@apple.com>

        Removed duplicate implementations of setTabIndex. They all matched
        the HTMLElement::setTabIndex implementation.

        Reviewed by Sam Wenig.

        * html/HTMLAnchorElement.cpp: Removed setTabIndex.
        * html/HTMLAreaElement.cpp: Ditto.
        * html/HTMLFormControlElement.cpp: Ditto.
        * html/HTMLFormControlElement.h: Ditto.
        * html/HTMLObjectElement.cpp: Ditto.
        * html/HTMLObjectElement.h: Ditto.

2008-06-17  Darin Adler  <darin@apple.com>

        Reviewed by Sam.

        - more of https://bugs.webkit.org/show_bug.cgi?id=17257
          start ref counts at 1 instead of 0 for speed

        Change StyleBase and all classes derived from it.

        * bindings/js/JSRGBColor.cpp:
        (WebCore::JSRGBColor::getValueProperty):
        * bindings/objc/DOMRGBColor.mm:
        (-[DOMRGBColor red]):
        (-[DOMRGBColor green]):
        (-[DOMRGBColor blue]):
        (-[DOMRGBColor alpha]):
        * css/CSSBorderImageValue.cpp:
        (WebCore::CSSBorderImageValue::cssText):
        * css/CSSBorderImageValue.h:
        (WebCore::CSSBorderImageValue::create):
        * css/CSSCanvasValue.h:
        (WebCore::CSSCanvasValue::create):
        (WebCore::CSSCanvasValue::setName):
        (WebCore::CSSCanvasValue::CSSCanvasValue):
        * css/CSSCharsetRule.cpp:
        (WebCore::CSSCharsetRule::CSSCharsetRule):
        * css/CSSCharsetRule.h:
        (WebCore::CSSCharsetRule::create):
        (WebCore::CSSCharsetRule::encoding):
        (WebCore::CSSCharsetRule::isCharsetRule):
        (WebCore::CSSCharsetRule::type):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForShadow):
        (WebCore::valueForNinePieceImage):
        (WebCore::valueForReflection):
        (WebCore::getPositionOffsetValue):
        (WebCore::currentColorOrValidColor):
        (WebCore::getBorderRadiusCornerValue):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSComputedStyleDeclaration.h:
        (WebCore::computedStyle):
        * css/CSSCursorImageValue.h:
        (WebCore::CSSCursorImageValue::create):
        * css/CSSFontFaceRule.cpp:
        (WebCore::CSSFontFaceRule::CSSFontFaceRule):
        * css/CSSFontFaceRule.h:
        (WebCore::CSSFontFaceRule::create):
        (WebCore::CSSFontFaceRule::isFontFaceRule):
        (WebCore::CSSFontFaceRule::type):
        * css/CSSFontFaceSrcValue.h:
        (WebCore::CSSFontFaceSrcValue::create):
        (WebCore::CSSFontFaceSrcValue::createLocal):
        (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
        (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
        * css/CSSGradientValue.h:
        (WebCore::CSSGradientColorStop::CSSGradientColorStop):
        (WebCore::CSSGradientValue::create):
        (WebCore::CSSGradientValue::CSSGradientValue):
        * css/CSSImageGeneratorValue.h:
        (WebCore::CSSImageGeneratorValue::isImageGeneratorValue):
        * css/CSSImageValue.h:
        (WebCore::CSSImageValue::create):
        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::CSSImportRule):
        (WebCore::CSSImportRule::setCSSStyleSheet):
        * css/CSSImportRule.h:
        (WebCore::CSSImportRule::create):
        (WebCore::CSSImportRule::isImportRule):
        (WebCore::CSSImportRule::type):
        * css/CSSInheritedValue.h:
        (WebCore::CSSInheritedValue::create):
        (WebCore::CSSInheritedValue::CSSInheritedValue):
        * css/CSSInitialValue.h:
        (WebCore::CSSInitialValue::createExplicit):
        (WebCore::CSSInitialValue::createImplicit):
        (WebCore::CSSInitialValue::CSSInitialValue):
        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::CSSMediaRule):
        * css/CSSMediaRule.h:
        (WebCore::CSSMediaRule::create):
        (WebCore::CSSMediaRule::isMediaRule):
        (WebCore::CSSMediaRule::type):
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::setProperty):
        (WebCore::CSSMutableStyleDeclaration::setStringProperty):
        * css/CSSMutableStyleDeclaration.h:
        (WebCore::CSSMutableStyleDeclaration::create):
        * css/CSSPageRule.cpp:
        (WebCore::CSSPageRule::CSSPageRule):
        * css/CSSPageRule.h:
        (WebCore::CSSPageRule::create):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::addFillValue):
        (WebCore::CSSParser::parseFillShorthand):
        (WebCore::CSSParser::addTransitionValue):
        (WebCore::CSSParser::parseTransitionShorthand):
        (WebCore::CSSParser::parseShorthand):
        (WebCore::CSSParser::parseContent):
        (WebCore::CSSParser::parseBackgroundColor):
        (WebCore::CSSParser::parseFillPositionXY):
        (WebCore::CSSParser::parseFillPosition):
        (WebCore::CSSParser::parseFillSize):
        (WebCore::CSSParser::parseFillProperty):
        (WebCore::CSSParser::parseTransitionDuration):
        (WebCore::CSSParser::parseTransitionRepeatCount):
        (WebCore::CSSParser::parseTransitionTimingFunction):
        (WebCore::CSSParser::parseTransitionProperty):
        (WebCore::CSSParser::parseDashboardRegions):
        (WebCore::CSSParser::parseCounterContent):
        (WebCore::CSSParser::parseShape):
        (WebCore::CSSParser::parseFont):
        (WebCore::CSSParser::parseFontFamily):
        (WebCore::CSSParser::parseFontFaceSrc):
        (WebCore::CSSParser::parseFontFaceUnicodeRange):
        (WebCore::ShadowParseContext::commitValue):
        (WebCore::ShadowParseContext::commitLength):
        (WebCore::CSSParser::parseShadow):
        (WebCore::CSSParser::parseReflect):
        (WebCore::BorderImageParseContext::commitNumber):
        (WebCore::BorderImageParseContext::commitBorderImage):
        (WebCore::CSSParser::parseBorderImage):
        (WebCore::CSSParser::parseCounter):
        (WebCore::parseGradientPoint):
        (WebCore::parseGradientColorStop):
        (WebCore::CSSParser::parseGradient):
        (WebCore::CSSParser::parseCanvas):
        (WebCore::CSSParser::parseTransform):
        (WebCore::CSSParser::createMediaList):
        (WebCore::CSSParser::createCharsetRule):
        (WebCore::CSSParser::createImportRule):
        (WebCore::CSSParser::createMediaRule):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::createFontFaceRule):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::):
        (WebCore::CSSPrimitiveValue::createIdentifier):
        (WebCore::CSSPrimitiveValue::createColor):
        (WebCore::CSSPrimitiveValue::create):
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::isPrimitiveValue):
        * css/CSSQuirkPrimitiveValue.h:
        (WebCore::CSSQuirkPrimitiveValue::create):
        * css/CSSReflectValue.h:
        (WebCore::CSSReflectValue::create):
        * css/CSSRule.cpp:
        (WebCore::CSSRule::parentRule):
        (WebCore::CSSRule::setCssText):
        * css/CSSRule.h:
        (WebCore::CSSRule::CSSRule):
        (WebCore::CSSRule::isRule):
        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
        * css/CSSStyleDeclaration.h:
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::CSSStyleRule):
        * css/CSSStyleRule.h:
        (WebCore::CSSStyleRule::create):
        (WebCore::CSSStyleRule::isStyleRule):
        (WebCore::CSSStyleRule::type):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::parseUASheet):
        (WebCore::CSSRuleSet::addRulesFromSheet):
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::checkLoaded):
        * css/CSSStyleSheet.h:
        (WebCore::CSSStyleSheet::create):
        (WebCore::CSSStyleSheet::isCSSStyleSheet):
        (WebCore::CSSStyleSheet::type):
        * css/CSSTimingFunctionValue.h:
        (WebCore::CSSTimingFunctionValue::create):
        (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
        (WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue):
        * css/CSSTransformValue.cpp:
        (WebCore::CSSTransformValue::CSSTransformValue):
        (WebCore::CSSTransformValue::~CSSTransformValue):
        (WebCore::CSSTransformValue::addValue):
        (WebCore::CSSTransformValue::cssText):
        * css/CSSTransformValue.h:
        (WebCore::CSSTransformValue::create):
        * css/CSSUnicodeRangeValue.h:
        (WebCore::CSSUnicodeRangeValue::create):
        (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
        * css/CSSUnknownRule.h:
        * css/CSSValue.h:
        (WebCore::CSSValue::isImageGeneratorValue):
        (WebCore::CSSValue::isImageValue):
        (WebCore::CSSValue::isPrimitiveValue):
        (WebCore::CSSValue::isValueList):
        (WebCore::CSSValue::isSVGColor):
        (WebCore::CSSValue::isSVGPaint):
        (WebCore::CSSValue::CSSValue):
        * css/CSSValueList.h:
        (WebCore::CSSValueList::createCommaSeparated):
        (WebCore::CSSValueList::createSpaceSeparated):
        (WebCore::CSSValueList::isValueList):
        * css/FontFamilyValue.h:
        (WebCore::FontFamilyValue::create):
        * css/FontValue.h:
        (WebCore::FontValue::create):
        (WebCore::FontValue::FontValue):
        (WebCore::FontValue::isFontValue):
        * css/MediaList.cpp:
        (WebCore::MediaList::MediaList):
        (WebCore::MediaList::deleteMedium):
        (WebCore::MediaList::setMediaText):
        * css/MediaList.h:
        (WebCore::MediaList::create):
        (WebCore::MediaList::createAllowingDescriptionSyntax):
        (WebCore::MediaList::length):
        (WebCore::MediaList::mediaQueries):
        * css/MediaQueryEvaluator.cpp:
        (WebCore::MediaQueryEvaluator::eval):
        * css/MediaQueryExp.cpp:
        (WebCore::MediaQueryExp::MediaQueryExp):
        * css/SVGCSSComputedStyleDeclaration.cpp:
        (WebCore::glyphOrientationToCSSPrimitiveValue):
        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        (WebCore::CSSParser::parseSVGStrokeDasharray):
        (WebCore::CSSParser::parseSVGPaint):
        (WebCore::CSSParser::parseSVGColor):
        * css/ShadowValue.h:
        (WebCore::ShadowValue::create):
        * css/StyleBase.h:
        (WebCore::StyleBase::isCSSStyleSheet):
        (WebCore::StyleBase::isFontFaceRule):
        (WebCore::StyleBase::isRule):
        (WebCore::StyleBase::isStyleRule):
        (WebCore::StyleBase::isStyleSheet):
        (WebCore::StyleBase::isXSLStyleSheet):
        (WebCore::StyleBase::StyleBase):
        * css/StyleList.cpp:
        * css/StyleList.h:
        (WebCore::StyleList::StyleList):
        * css/StyleSheet.h:
        (WebCore::StyleSheet::styleSheetChanged):
        (WebCore::StyleSheet::isStyleSheet):
        * dom/CSSMappedAttributeDeclaration.h:
        (WebCore::CSSMappedAttributeDeclaration::create):
        (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createCSSStyleSheet):
        * dom/Document.cpp:
        (WebCore::Document::createCSSStyleDeclaration):
        (WebCore::Document::setCSSStyleSheet):
        (WebCore::Document::elementSheet):
        (WebCore::Document::mappedElementSheet):
        (WebCore::Document::recalcStyleSelector):
        * dom/Node.cpp:
        (WebCore::Node::querySelector):
        (WebCore::Node::querySelectorAll):
        * dom/Position.cpp:
        (WebCore::Position::computedStyle):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::checkStyleSheet):
        (WebCore::ProcessingInstruction::setCSSStyleSheet):
        (WebCore::ProcessingInstruction::setXSLStyleSheet):
        * dom/ProcessingInstruction.h:
        * dom/StyleElement.cpp:
        (WebCore::StyleElement::createSheet):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::createInlineStyleDecl):
        (WebCore::StyledElement::createMappedDecl):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::ApplyStyleCommand):
        (WebCore::hasTextDecorationProperty):
        (WebCore::ApplyStyleCommand::extractAndNegateTextDecorationStyle):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
        * editing/Editor.cpp:
        (WebCore::Editor::selectionHasStyle):
        (WebCore::Editor::setBaseWritingDirection):
        * editing/EditorCommand.cpp:
        (WebCore::executeApplyStyle):
        (WebCore::executeToggleStyle):
        (WebCore::executeApplyParagraphStyle):
        (WebCore::stateStyle):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion):
        * editing/RemoveFormatCommand.cpp:
        (WebCore::RemoveFormatCommand::doApply):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::insertFragmentForTestRendering):
        * editing/markup.cpp:
        (WebCore::styleFromMatchedRulesForElement):
        (WebCore::appendStartMarkup):
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::createLinkDecl):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process):
        (WebCore::HTMLLinkElement::setCSSStyleSheet):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::pickMedia):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
        (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
        (WebCore::HTMLTableElement::addSharedGroupDecls):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::getComputedStyle):
        * page/Frame.cpp:
        (WebCore::Frame::computeAndSetTypingStyle):
        (WebCore::Frame::selectionComputedStyle):
        * page/Frame.h:
        * rendering/style/RenderStyle.cpp:
        (WebCore::StyleCachedImage::cssValue):
        * rendering/style/RenderStyle.h:
        * svg/SVGColor.h:
        (WebCore::SVGColor::create):
        (WebCore::SVGColor::isSVGColor):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
        (WebCore::SVGFontFaceElement::rebuildFontFace):
        * svg/SVGFontFaceNameElement.cpp:
        (WebCore::SVGFontFaceNameElement::srcValue):
        * svg/SVGFontFaceSrcElement.cpp:
        (WebCore::SVGFontFaceSrcElement::srcValue):
        * svg/SVGFontFaceUriElement.cpp:
        (WebCore::SVGFontFaceUriElement::srcValue):
        * svg/SVGPaint.cpp:
        (WebCore::SVGPaint::SVGPaint):
        * svg/SVGPaint.h:
        (WebCore::SVGPaint::create):
        (WebCore::SVGPaint::isSVGPaint):
        * svg/animation/SMILTimeContainer.cpp:
        (WebCore::SMILTimeContainer::baseValueFor):
        * xml/XSLImportRule.cpp:
        (WebCore::XSLImportRule::XSLImportRule):
        (WebCore::XSLImportRule::setXSLStyleSheet):
        * xml/XSLImportRule.h:
        (WebCore::XSLImportRule::create):
        (WebCore::XSLImportRule::href):
        (WebCore::XSLImportRule::isImportRule):
        * xml/XSLStyleSheet.cpp:
        (WebCore::XSLStyleSheet::checkLoaded):
        (WebCore::XSLStyleSheet::loadChildSheet):
        * xml/XSLStyleSheet.h:
        (WebCore::XSLStyleSheet::create):
        (WebCore::XSLStyleSheet::createEmbedded):
        * xml/XSLTProcessor.cpp:
        (WebCore::xsltStylesheetPointer):

2008-06-17  Michelangelo De Simone  <m.des@mac.com>

        Reviewed by Adele.
        
        Fix for https://bugs.webkit.org/show_bug.cgi?id=18887
        Added support for autofocus controls.

        When authors specify the "autofocus" attribute on form controls these 
        acquire focus automatically as the document is rendered.

        Tests: fast/forms/autofocus-attribute.html
               fast/forms/autofocus-opera-001.html
               fast/forms/autofocus-opera-002.html
               fast/forms/autofocus-opera-003.html
               fast/forms/autofocus-opera-004.html
               fast/forms/autofocus-opera-005.html
               fast/forms/autofocus-opera-006.html
               fast/forms/autofocus-opera-007.html
               fast/forms/autofocus-opera-008.html

        * dom/Document.cpp: (WebCore::Document::Document): Initialize the flag to ignore autofocus.
        * dom/Document.h:
        * html/HTMLAttributeNames.in:
        * html/HTMLButtonElement.idl:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::attach): Sets focus onto the appropriate "autofocus" control
        (WebCore::HTMLFormControlElement::autofocus): Autofocus attribute getter
        (WebCore::HTMLFormControlElement::setAutofocus): Autofocus attribute setter
        * html/HTMLFormControlElement.h:
        * html/HTMLInputElement.idl:
        * html/HTMLSelectElement.idl:
        * html/HTMLTextAreaElement.idl:
        * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setUserEdited):
          Sets the "ignore autofocus" flag on document if the user edited the control.
        * rendering/RenderTextControl.h:

2008-06-17  Alp Toker  <alp@nuanti.com>

        Reviewed by Dave Hyatt and Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=19190
        [CAIRO] Canvas rendered as black

        Make sure the frame alpha transparency flag is set to true unless
        we're certain the image data is solid and can be blitted, since the
        Cairo backend implements a fast-path for blittable BitmapImages.

        Thanks to Dirk Schulze for helping to track down this problem.

        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::frameHasAlphaAtIndex):
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::BitmapImage::BitmapImage):
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::BitmapImage):

2008-06-17  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        Fix the Qt port by adding ExecState when necessary.

        * bridge/qt/qt_instance.cpp:
        (KJS::Bindings::QtInstance::getPropertyNames):
        (KJS::Bindings::QtInstance::invokeDefaultMethod):
        * bridge/qt/qt_runtime.cpp:
        (KJS::Bindings::convertValueToQVariant):
        (KJS::Bindings::convertQVariantToValue):
        (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction):
        (KJS::Bindings::QtConnectionObject::execute):

2008-06-17  David Hyatt  <hyatt@apple.com>

        Fix for slow performance on CSS selector tests at:

        http://jpsykes.com/153/more-css-performance-testing-pt-2

        Fix <style> element processing so that we don't reparse the entire stylesheet as chunks come in from
        the network (since this is O(n^2)).   Wait for the parser to deliver all of the data before we
        process the sheet for the first time.

        Reviewed by olliej

        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::finishParsingChildren):
        (WebCore::HTMLStyleElement::childrenChanged):

2008-06-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Justin Garcia.

        - fix <rdar://problem/5973313> REGRESSION (r32508): Down arrow doesn't change caret with non-user entered newlines in textareas

        Test: editing/selection/after-line-break.html

        * dom/Position.cpp:
        (WebCore::Position::getInlineBoxAndOffset): Changed to not include the
        position after a line break in its line box, because that position is
        actually on the next line.

2008-06-16  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Geoff Garen.

        Make Identifier construction use an explicitly passed IdentifierTable.

        * platform/text/AtomicString.cpp:
        * platform/text/AtomicString.h:
        * platform/text/PlatformString.h:
        * platform/text/String.cpp:
        Removed "operator KJS::Identifier".

        * 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/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
        (WebCore::JSDOMWindowBase::updateDocument):
        (WebCore::createWindow):
        (WebCore::showModalDialog):
        (WebCore::JSDOMWindowBase::getOwnPropertySlot):
        (WebCore::JSDOMWindowBase::put):
        (WebCore::JSDOMWindowBase::clear):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation):
        * bindings/js/JSDOMWindowCustom.h:
        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSAbstractEventListener::handleEvent):
        (WebCore::JSLazyEventListener::parseCode):
        * bindings/js/JSEventTargetBase.h:
        (WebCore::JSEventTargetPrototype::self):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::JSHTMLCollection::callAsFunction):
        (WebCore::JSHTMLCollection::item):
        (WebCore::JSHTMLCollection::namedItem):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::all):
        (WebCore::JSHTMLDocument::setAll):
        (WebCore::JSHTMLDocument::open):
        * bindings/js/JSHTMLInputElementBase.cpp:
        (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::customGetOwnPropertySlot):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::customGetOwnPropertySlot):
        (WebCore::JSLocation::customPut):
        * bindings/js/JSNavigatorCustom.cpp:
        (WebCore::needsYouTubeQuirk):
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item):
        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::customGetPropertyNames):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluate):
        * bindings/objc/WebScriptObject.mm:
        (WebCore::addExceptionToConsole):
        (-[WebScriptObject callWebScriptMethod:withArguments:]):
        (-[WebScriptObject setValue:forKey:]):
        (-[WebScriptObject valueForKey:]):
        (-[WebScriptObject removeWebScriptKey:]):
        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/NP_jsobject.cpp:
        (_NPN_Enumerate):
        * bridge/c/c_instance.cpp:
        (KJS::Bindings::CInstance::getPropertyNames):
        * bridge/c/c_utility.cpp:
        (KJS::Bindings::identifierFromNPIdentifier):
        * bridge/jni/jni_class.cpp:
        (JavaClass::JavaClass):
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::call):
        (JavaJSObject::getMember):
        (JavaJSObject::setMember):
        (JavaJSObject::removeMember):
        * bridge/runtime_method.cpp:
        (RuntimeMethod::callAsFunction):
        Adapted to JavaScriptCore changes by explicitly constructing Identifiers, and always passing
        an ExecState or JSGlobalData pointer. Since WebCore is not a legacy client, this can use
        JSGlobalData::threadInstance(), as performance permits.

2008-06-16  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>

        Reviewed by Dan Bernstein.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19592
          Mismatched GraphicsContext::save()/restore() pairs in shadow painting code

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintTextDecorations): remove an extra context->save()
        from the shadow painting code.

2008-06-16  Adriaan de Groot  <groot@kde.org>

        Reviewed by Simon.

        Fix compilation on Sun Studio 12

        make_pair is a function template with two template arguments. This is to force
        it to have the correct type according to the pair<> structure.

        * editing/TextIterator.cpp:
        (WebCore::plainTextToMallocAllocatedBuffer):
        * page/Chrome.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):

2008-06-10  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon

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

        Fill the background of scrollbars to the window color before
        letting the QStyle paint its primitive elements.

        * platform/qt/PlatformScrollBarQt.cpp:
        (WebCore::PlatformScrollbar::paint):

2008-06-15  Darin Adler  <darin@apple.com>

        Rubber stamped by Sam.

        - renamed kjs_html.h/cpp to JSPluginElementFunctions.h/cpp
        - renamed kjs_events.h/cpp to JSEventListener.h/cpp

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        * bindings/js/JSDOMWindowBase.cpp:
        * bindings/js/JSEventCustom.cpp:
        * bindings/js/JSEventListener.cpp: Copied from WebCore/bindings/js/kjs_events.cpp.
        * bindings/js/JSEventListener.h: Copied from WebCore/bindings/js/kjs_events.h.
        * bindings/js/JSEventTargetBase.h:
        * bindings/js/JSHTMLAppletElementCustom.cpp:
        * bindings/js/JSHTMLCollectionCustom.cpp:
        * bindings/js/JSHTMLDocumentCustom.cpp:
        * bindings/js/JSHTMLEmbedElementCustom.cpp:
        * bindings/js/JSHTMLInputElementBase.h:
        * bindings/js/JSHTMLObjectElementCustom.cpp:
        * bindings/js/JSHTMLSelectElementCustom.cpp:
        * bindings/js/JSPluginElementFunctions.cpp: Copied from WebCore/bindings/js/kjs_html.cpp.
        * bindings/js/JSPluginElementFunctions.h: Copied from WebCore/bindings/js/kjs_html.h.
        * bindings/js/JSSVGLazyEventListener.h:
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        * bindings/js/ScriptController.cpp:
        * bindings/js/kjs_events.cpp: Removed.
        * bindings/js/kjs_events.h: Removed.
        * bindings/js/kjs_html.cpp: Removed.
        * bindings/js/kjs_html.h: Removed.

2008-06-15  Darin Adler  <darin@apple.com>

        - give Frame object functions shorter names: scriptProxy() -> script(),
          selectionController() -> selection(), animationController() -> animation()

        * WebCore.base.exp:
        * 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/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
        (WebCore::allowPopUp):
        (WebCore::createWindow):
        (WebCore::windowProtoFuncOpen):
        (WebCore::toJS):
        (WebCore::toJSDOMWindow):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::toJS):
        (WebCore::toJSDOMWindowShell):
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::setLocation):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::navigateIfAllowed):
        (WebCore::JSLocation::reload):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::acceptNode):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/js/kjs_events.cpp:
        (WebCore::JSAbstractEventListener::handleEvent):
        (WebCore::JSLazyEventListener::parseCode):
        * bindings/js/kjs_html.cpp:
        (WebCore::runtimeObjectImplementsCall):
        * bindings/objc/DOMInternal.mm:
        (-[WebScriptObject _initializeScriptDOMNodeImp]):
        * bridge/jni/jni_jsobject.mm:
        (createRootObject):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
        * dom/Document.cpp:
        (WebCore::Document::nodeWillBeRemoved):
        (WebCore::Document::createHTMLEventListener):
        * dom/Element.cpp:
        (WebCore::Element::updateFocusAppearance):
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::dispatchGenericEvent):
        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::startElementNs):
        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::respondToChangedSelection):
        (WebCore::DeleteButtonController::enable):
        (WebCore::DeleteButtonController::deleteTarget):
        * editing/EditCommand.cpp:
        (WebCore::EditCommand::EditCommand):
        * editing/Editor.cpp:
        (WebCore::Editor::selectionForCommand):
        (WebCore::Editor::canEdit):
        (WebCore::Editor::canEditRichly):
        (WebCore::Editor::canDHTMLCut):
        (WebCore::Editor::canDHTMLCopy):
        (WebCore::Editor::canCopy):
        (WebCore::Editor::canDelete):
        (WebCore::Editor::deleteWithDirection):
        (WebCore::Editor::deleteSelectionWithSmartDelete):
        (WebCore::Editor::replaceSelectionWithFragment):
        (WebCore::Editor::selectedRange):
        (WebCore::Editor::tryDHTMLCopy):
        (WebCore::Editor::tryDHTMLCut):
        (WebCore::Editor::fontForSelection):
        (WebCore::Editor::selectionUnorderedListState):
        (WebCore::Editor::selectionOrderedListState):
        (WebCore::Editor::increaseSelectionListLevel):
        (WebCore::Editor::increaseSelectionListLevelOrdered):
        (WebCore::Editor::increaseSelectionListLevelUnordered):
        (WebCore::Editor::decreaseSelectionListLevel):
        (WebCore::Editor::dispatchCPPEvent):
        (WebCore::Editor::applyStyle):
        (WebCore::Editor::applyParagraphStyle):
        (WebCore::Editor::applyStyleToSelection):
        (WebCore::Editor::applyParagraphStyleToSelection):
        (WebCore::Editor::selectionHasStyle):
        (WebCore::Editor::appliedEditing):
        (WebCore::Editor::unappliedEditing):
        (WebCore::Editor::reappliedEditing):
        (WebCore::Editor::insertLineBreak):
        (WebCore::Editor::insertParagraphSeparator):
        (WebCore::Editor::paste):
        (WebCore::Editor::selectComposition):
        (WebCore::Editor::confirmComposition):
        (WebCore::Editor::setComposition):
        (WebCore::Editor::advanceToNextMisspelling):
        (WebCore::Editor::isSelectionUngrammatical):
        (WebCore::Editor::guessesForUngrammaticalSelection):
        (WebCore::Editor::getCompositionSelection):
        (WebCore::Editor::transpose):
        * editing/EditorCommand.cpp:
        (WebCore::expandSelectionToGranularity):
        (WebCore::executeDeleteToMark):
        (WebCore::executeMoveBackward):
        (WebCore::executeMoveBackwardAndModifySelection):
        (WebCore::executeMoveDown):
        (WebCore::executeMoveDownAndModifySelection):
        (WebCore::executeMoveForward):
        (WebCore::executeMoveForwardAndModifySelection):
        (WebCore::executeMoveLeft):
        (WebCore::executeMoveLeftAndModifySelection):
        (WebCore::executeMovePageDown):
        (WebCore::executeMovePageDownAndModifySelection):
        (WebCore::executeMovePageUp):
        (WebCore::executeMovePageUpAndModifySelection):
        (WebCore::executeMoveRight):
        (WebCore::executeMoveRightAndModifySelection):
        (WebCore::executeMoveToBeginningOfDocument):
        (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
        (WebCore::executeMoveToBeginningOfLine):
        (WebCore::executeMoveToBeginningOfLineAndModifySelection):
        (WebCore::executeMoveToBeginningOfParagraph):
        (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
        (WebCore::executeMoveToBeginningOfSentence):
        (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
        (WebCore::executeMoveToEndOfDocument):
        (WebCore::executeMoveToEndOfDocumentAndModifySelection):
        (WebCore::executeMoveToEndOfSentence):
        (WebCore::executeMoveToEndOfSentenceAndModifySelection):
        (WebCore::executeMoveToEndOfLine):
        (WebCore::executeMoveToEndOfLineAndModifySelection):
        (WebCore::executeMoveToEndOfParagraph):
        (WebCore::executeMoveToEndOfParagraphAndModifySelection):
        (WebCore::executeMoveParagraphBackwardAndModifySelection):
        (WebCore::executeMoveParagraphForwardAndModifySelection):
        (WebCore::executeMoveUp):
        (WebCore::executeMoveUpAndModifySelection):
        (WebCore::executeMoveWordBackward):
        (WebCore::executeMoveWordBackwardAndModifySelection):
        (WebCore::executeMoveWordForward):
        (WebCore::executeMoveWordForwardAndModifySelection):
        (WebCore::executeMoveWordLeft):
        (WebCore::executeMoveWordLeftAndModifySelection):
        (WebCore::executeMoveWordRight):
        (WebCore::executeMoveWordRightAndModifySelection):
        (WebCore::executeSelectAll):
        (WebCore::executeSelectToMark):
        (WebCore::executeSetMark):
        (WebCore::executeSwapWithMark):
        (WebCore::executeUnselect):
        (WebCore::enabledAnySelection):
        (WebCore::enabledAnySelectionAndMark):
        (WebCore::enabledInRichlyEditableText):
        (WebCore::enabledRangeInEditableText):
        (WebCore::enabledRangeInRichlyEditableText):
        * editing/ModifySelectionListLevel.cpp:
        (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel):
        (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel):
        * editing/RemoveFormatCommand.cpp:
        (WebCore::RemoveFormatCommand::doApply):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelection):
        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteSelection):
        (WebCore::TypingCommand::insertText):
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        * history/CachedPage.cpp:
        (WebCore::CachedPage::CachedPage):
        (WebCore::CachedPage::restore):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::defaultEventHandler):
        (WebCore::HTMLAnchorElement::setActive):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::createNPObject):
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::evaluateScript):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseTag):
        (WebCore::HTMLTokenizer::processToken):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::executeScript):
        (WebCore::FrameLoader::clear):
        (WebCore::FrameLoader::userGestureHint):
        (WebCore::FrameLoader::open):
        (WebCore::FrameLoader::dispatchWindowObjectAvailable):
        (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::createFromSelection):
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::selection):
        (WebCore::AccessibilityRenderObject::setSelectedTextRange):
        (WebCore::AccessibilityRenderObject::isFocused):
        (WebCore::AccessibilityRenderObject::doAXTextMarkerRangeForLine):
        (WebCore::AccessibilityRenderObject::doSetAXSelectedTextMarkerRange):
        (WebCore::AccessibilityRenderObject::doAXRangeForLine):
        (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected):
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::anchorNode):
        (WebCore::DOMSelection::baseNode):
        (WebCore::DOMSelection::anchorOffset):
        (WebCore::DOMSelection::baseOffset):
        (WebCore::DOMSelection::focusNode):
        (WebCore::DOMSelection::extentNode):
        (WebCore::DOMSelection::focusOffset):
        (WebCore::DOMSelection::extentOffset):
        (WebCore::DOMSelection::isCollapsed):
        (WebCore::DOMSelection::type):
        (WebCore::DOMSelection::rangeCount):
        (WebCore::DOMSelection::collapse):
        (WebCore::DOMSelection::collapseToEnd):
        (WebCore::DOMSelection::collapseToStart):
        (WebCore::DOMSelection::empty):
        (WebCore::DOMSelection::setBaseAndExtent):
        (WebCore::DOMSelection::setPosition):
        (WebCore::DOMSelection::modify):
        (WebCore::DOMSelection::extend):
        (WebCore::DOMSelection::getRangeAt):
        (WebCore::DOMSelection::removeAllRanges):
        (WebCore::DOMSelection::addRange):
        (WebCore::DOMSelection::deleteFromDocument):
        (WebCore::DOMSelection::containsNode):
        (WebCore::DOMSelection::toString):
        * page/DragController.cpp:
        (WebCore::DragController::dragIsMove):
        (WebCore::DragController::tryDocumentDrag):
        (WebCore::setSelectionToDragCaret):
        (WebCore::DragController::concludeDrag):
        (WebCore::prepareClipboardForImageDrag):
        (WebCore::DragController::startDrag):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::selectClosestWordFromMouseEvent):
        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
        (WebCore::EventHandler::handleMousePressEventDoubleClick):
        (WebCore::EventHandler::handleMousePressEventTripleClick):
        (WebCore::EventHandler::handleMousePressEventSingleClick):
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::updateSelectionForMouseDrag):
        (WebCore::EventHandler::handleMouseReleaseEvent):
        (WebCore::nodeIsNotBeingEdited):
        (WebCore::EventHandler::selectCursor):
        (WebCore::EventHandler::dispatchMouseEvent):
        (WebCore::EventHandler::sendContextMenuEvent):
        (WebCore::EventHandler::handleKeyboardSelectionMovement):
        (WebCore::EventHandler::handleDrag):
        * page/FocusController.cpp:
        (WebCore::FocusController::setFocusedFrame):
        (WebCore::clearSelectionIfNeeded):
        (WebCore::FocusController::setActive):
        * page/Frame.cpp:
        (WebCore::Frame::~Frame):
        (WebCore::Frame::script):
        (WebCore::Frame::setDocument):
        (WebCore::Frame::selectedText):
        (WebCore::Frame::selection):
        (WebCore::Frame::animation):
        (WebCore::Frame::notifyRendererOfSelectionChange):
        (WebCore::Frame::invalidateSelection):
        (WebCore::Frame::clearCaretRectIfNeeded):
        (WebCore::Frame::setFocusedNodeIfNeeded):
        (WebCore::Frame::selectionLayoutChanged):
        (WebCore::Frame::caretBlinkTimerFired):
        (WebCore::Frame::paintCaret):
        (WebCore::Frame::shouldChangeSelection):
        (WebCore::Frame::updateSecureKeyboardEntryIfActive):
        (WebCore::Frame::computeAndSetTypingStyle):
        (WebCore::Frame::selectionComputedStyle):
        (WebCore::Frame::bindingRootObject):
        (WebCore::Frame::windowScriptNPObject):
        (WebCore::Frame::clearScriptController):
        (WebCore::Frame::selectionTextRects):
        (WebCore::Frame::currentForm):
        (WebCore::Frame::revealSelection):
        (WebCore::Frame::revealCaret):
        (WebCore::Frame::clearTimers):
        (WebCore::Frame::styleForSelectionStart):
        (WebCore::Frame::setSelectionFromNone):
        (WebCore::Frame::findString):
        (WebCore::Frame::pageDestroyed):
        (WebCore::Frame::respondToChangedSelection):
        (WebCore::FramePrivate::FramePrivate):
        * page/Frame.h:
        * page/FramePrivate.h:
        * page/InspectorController.cpp:
        (WebCore::canPassNodeToJavaScript):
        (WebCore::InspectorController::windowScriptObjectAvailable):
        * page/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
        * page/Page.cpp:
        (WebCore::Page::findString):
        (WebCore::Page::selection):
        (WebCore::Page::setDebugger):
        * page/mac/FrameMac.mm:
        (WebCore::Frame::baseWritingDirectionForSelectionStart):
        (WebCore::Frame::dragImageForSelection):
        (WebCore::Frame::createScriptInstanceForWidget):
        (WebCore::Frame::windowScriptObject):
        * page/win/FrameWin.cpp:
        (WebCore::Frame::dragImageForSelection):
        * platform/ContextMenu.cpp:
        (WebCore::selectionContainsPossibleWord):
        (WebCore::ContextMenu::populate):
        (WebCore::ContextMenu::checkOrEnableIfNeeded):
        * plugins/PluginView.cpp:
        (WebCore::PluginView::performRequest):
        (WebCore::PluginView::bindingInstance):
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::isSelected):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintCaret):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintItemForeground):
        (WebCore::RenderListBox::paintItemBackground):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::selectionBackgroundColor):
        (WebCore::RenderObject::selectionForegroundColor):
        (WebCore::RenderObject::setAnimatableStyle):
        (WebCore::RenderObject::destroy):
        (WebCore::RenderObject::animation):
        * rendering/RenderObject.h:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::selectionStart):
        (WebCore::RenderTextControl::selectionEnd):
        (WebCore::RenderTextControl::setSelectionRange):
        (WebCore::RenderTextControl::selectionChanged):
        (WebCore::RenderTextControl::capsLockStateMayHaveChanged):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::isFocused):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::writeSelection):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::destroy):
        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::createSVGEventListener):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::deselectAll):
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::selectSubString):

2008-06-15  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Remove outdated comment.

        * bindings/js/ScriptController.h:

2008-06-15  Darin Adler  <darin@apple.com>

        - try to fix Qt build

        * dom/XMLTokenizer.cpp: Use create instead of new.

        - rename KJS::List to KJS::ArgList

        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::construct):
        * bindings/js/JSAudioConstructor.h:
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::setFillColor):
        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
        (WebCore::JSCanvasRenderingContext2D::strokeRect):
        (WebCore::JSCanvasRenderingContext2D::drawImage):
        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
        (WebCore::JSCanvasRenderingContext2D::setShadow):
        (WebCore::JSCanvasRenderingContext2D::createPattern):
        (WebCore::JSCanvasRenderingContext2D::putImageData):
        * bindings/js/JSClipboardCustom.cpp:
        (WebCore::JSClipboard::types):
        (WebCore::JSClipboard::clearData):
        (WebCore::JSClipboard::getData):
        (WebCore::JSClipboard::setData):
        (WebCore::JSClipboard::setDragImage):
        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::debug):
        (WebCore::JSConsole::error):
        (WebCore::JSConsole::info):
        (WebCore::JSConsole::log):
        (WebCore::JSConsole::warn):
        (WebCore::JSConsole::assertCondition):
        (WebCore::JSConsole::profile):
        (WebCore::JSConsole::profileEnd):
        * 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/JSDOMApplicationCacheCustom.cpp:
        (WebCore::JSDOMApplicationCache::add):
        (WebCore::JSDOMApplicationCache::remove):
        (WebCore::JSDOMApplicationCache::addEventListener):
        (WebCore::JSDOMApplicationCache::removeEventListener):
        (WebCore::JSDOMApplicationCache::dispatchEvent):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::windowProtoFuncAToB):
        (WebCore::windowProtoFuncBToA):
        (WebCore::windowProtoFuncOpen):
        (WebCore::windowProtoFuncSetTimeout):
        (WebCore::windowProtoFuncClearTimeout):
        (WebCore::windowProtoFuncSetInterval):
        (WebCore::windowProtoFuncAddEventListener):
        (WebCore::windowProtoFuncRemoveEventListener):
        (WebCore::windowProtoFuncShowModalDialog):
        (WebCore::windowProtoFuncNotImplemented):
        (WebCore::JSDOMWindowBase::installTimeout):
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::postMessage):
        * bindings/js/JSDatabaseCustom.cpp:
        (WebCore::JSDatabase::changeVersion):
        (WebCore::JSDatabase::transaction):
        * bindings/js/JSElementCustom.cpp:
        (WebCore::JSElement::setAttribute):
        (WebCore::JSElement::setAttributeNode):
        (WebCore::JSElement::setAttributeNS):
        (WebCore::JSElement::setAttributeNodeNS):
        * bindings/js/JSEventTargetBase.cpp:
        (WebCore::jsEventTargetAddEventListener):
        (WebCore::jsEventTargetRemoveEventListener):
        (WebCore::jsEventTargetDispatchEvent):
        * bindings/js/JSEventTargetBase.h:
        * bindings/js/JSHTMLAppletElementCustom.cpp:
        (WebCore::JSHTMLAppletElement::callAsFunction):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::JSHTMLCollection::callAsFunction):
        (WebCore::JSHTMLCollection::item):
        (WebCore::JSHTMLCollection::namedItem):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::open):
        (WebCore::writeHelper):
        (WebCore::JSHTMLDocument::write):
        (WebCore::JSHTMLDocument::writeln):
        * bindings/js/JSHTMLEmbedElementCustom.cpp:
        (WebCore::JSHTMLEmbedElement::callAsFunction):
        * bindings/js/JSHTMLInputElementBase.cpp:
        (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
        * bindings/js/JSHTMLInputElementBase.h:
        * bindings/js/JSHTMLObjectElementCustom.cpp:
        (WebCore::JSHTMLObjectElement::callAsFunction):
        * bindings/js/JSHTMLOptionElementConstructor.cpp:
        (WebCore::JSHTMLOptionElementConstructor::construct):
        * bindings/js/JSHTMLOptionElementConstructor.h:
        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
        (WebCore::JSHTMLOptionsCollection::add):
        (WebCore::JSHTMLOptionsCollection::remove):
        * bindings/js/JSHTMLSelectElementCustom.cpp:
        (WebCore::JSHTMLSelectElement::remove):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::JSImageConstructor::construct):
        * bindings/js/JSImageConstructor.h:
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::evaluate):
        (WebCore::JSJavaScriptCallFrame::scopeChain):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::replace):
        (WebCore::JSLocation::reload):
        (WebCore::JSLocation::assign):
        (WebCore::JSLocation::toString):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::insertBefore):
        (WebCore::JSNode::replaceChild):
        (WebCore::JSNode::removeChild):
        (WebCore::JSNode::appendChild):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::acceptNode):
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::JSNodeFilter::acceptNode):
        * bindings/js/JSNodeIteratorCustom.cpp:
        (WebCore::JSNodeIterator::nextNode):
        (WebCore::JSNodeIterator::previousNode):
        * bindings/js/JSNodeListCustom.cpp:
        (WebCore::JSNodeList::callAsFunction):
        * bindings/js/JSQuarantinedObjectWrapper.cpp:
        (WebCore::JSQuarantinedObjectWrapper::construct):
        (WebCore::JSQuarantinedObjectWrapper::callAsFunction):
        * bindings/js/JSQuarantinedObjectWrapper.h:
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item):
        * bindings/js/JSSQLTransactionCustom.cpp:
        (WebCore::JSSQLTransaction::executeSql):
        * bindings/js/JSSVGMatrixCustom.cpp:
        (WebCore::JSSVGMatrix::multiply):
        (WebCore::JSSVGMatrix::inverse):
        (WebCore::JSSVGMatrix::translate):
        (WebCore::JSSVGMatrix::scale):
        (WebCore::JSSVGMatrix::scaleNonUniform):
        (WebCore::JSSVGMatrix::rotate):
        (WebCore::JSSVGMatrix::rotateFromVector):
        (WebCore::JSSVGMatrix::flipX):
        (WebCore::JSSVGMatrix::flipY):
        (WebCore::JSSVGMatrix::skewX):
        (WebCore::JSSVGMatrix::skewY):
        * bindings/js/JSSVGPathSegListCustom.cpp:
        (WebCore::JSSVGPathSegList::clear):
        (WebCore::JSSVGPathSegList::initialize):
        (WebCore::JSSVGPathSegList::getItem):
        (WebCore::JSSVGPathSegList::insertItemBefore):
        (WebCore::JSSVGPathSegList::replaceItem):
        (WebCore::JSSVGPathSegList::removeItem):
        (WebCore::JSSVGPathSegList::appendItem):
        * bindings/js/JSSVGPointListCustom.cpp:
        (WebCore::JSSVGPointList::clear):
        (WebCore::JSSVGPointList::initialize):
        (WebCore::JSSVGPointList::getItem):
        (WebCore::JSSVGPointList::insertItemBefore):
        (WebCore::JSSVGPointList::replaceItem):
        (WebCore::JSSVGPointList::removeItem):
        (WebCore::JSSVGPointList::appendItem):
        * bindings/js/JSSVGTransformListCustom.cpp:
        (WebCore::JSSVGTransformList::clear):
        (WebCore::JSSVGTransformList::initialize):
        (WebCore::JSSVGTransformList::getItem):
        (WebCore::JSSVGTransformList::insertItemBefore):
        (WebCore::JSSVGTransformList::replaceItem):
        (WebCore::JSSVGTransformList::removeItem):
        (WebCore::JSSVGTransformList::appendItem):
        * bindings/js/JSTreeWalkerCustom.cpp:
        (WebCore::JSTreeWalker::parentNode):
        (WebCore::JSTreeWalker::firstChild):
        (WebCore::JSTreeWalker::lastChild):
        (WebCore::JSTreeWalker::nextSibling):
        (WebCore::JSTreeWalker::previousSibling):
        (WebCore::JSTreeWalker::previousNode):
        (WebCore::JSTreeWalker::nextNode):
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::JSXMLHttpRequestConstructor::construct):
        * bindings/js/JSXMLHttpRequestConstructor.h:
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::open):
        (WebCore::JSXMLHttpRequest::setRequestHeader):
        (WebCore::JSXMLHttpRequest::send):
        (WebCore::JSXMLHttpRequest::getResponseHeader):
        (WebCore::JSXMLHttpRequest::overrideMimeType):
        (WebCore::JSXMLHttpRequest::addEventListener):
        (WebCore::JSXMLHttpRequest::removeEventListener):
        (WebCore::JSXMLHttpRequest::dispatchEvent):
        * bindings/js/JSXSLTProcessorConstructor.cpp:
        (WebCore::JSXSLTProcessorConstructor::construct):
        * bindings/js/JSXSLTProcessorConstructor.h:
        * bindings/js/JSXSLTProcessorCustom.cpp:
        (WebCore::JSXSLTProcessor::importStylesheet):
        (WebCore::JSXSLTProcessor::transformToFragment):
        (WebCore::JSXSLTProcessor::transformToDocument):
        (WebCore::JSXSLTProcessor::setParameter):
        (WebCore::JSXSLTProcessor::getParameter):
        (WebCore::JSXSLTProcessor::removeParameter):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::execute):
        * bindings/js/ScheduledAction.h:
        * bindings/js/kjs_events.cpp:
        (WebCore::JSAbstractEventListener::handleEvent):
        (WebCore::JSLazyEventListener::parseCode):
        * bindings/js/kjs_html.cpp:
        (WebCore::runtimeObjectCallAsFunction):
        * bindings/js/kjs_html.h:
        * bindings/objc/WebScriptObject.mm:
        (getListFromNSArray):
        (-[WebScriptObject callWebScriptMethod:withArguments:]):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/NP_jsobject.cpp:
        (getListFromVariantArgs):
        (_NPN_InvokeDefault):
        (_NPN_Invoke):
        * bridge/c/c_instance.cpp:
        (KJS::Bindings::CInstance::invokeMethod):
        (KJS::Bindings::CInstance::invokeDefaultMethod):
        * bridge/c/c_instance.h:
        * bridge/jni/jni_instance.cpp:
        (JavaInstance::invokeMethod):
        * bridge/jni/jni_instance.h:
        * bridge/jni/jni_jsobject.h:
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::call):
        (JavaJSObject::getListFromJArray):
        * bridge/objc/objc_instance.h:
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::invokeMethod):
        (ObjcInstance::invokeDefaultMethod):
        * bridge/objc/objc_runtime.h:
        * bridge/objc/objc_runtime.mm:
        (ObjcFallbackObjectImp::callAsFunction):
        * bridge/qt/qt_instance.cpp:
        (KJS::Bindings::QtRuntimeObjectImp::construct):
        (KJS::Bindings::QtInstance::invokeMethod):
        (KJS::Bindings::QtInstance::invokeDefaultMethod):
        * bridge/qt/qt_instance.h:
        * bridge/qt/qt_runtime.cpp:
        (KJS::Bindings::convertQVariantToValue):
        (KJS::Bindings::findMethodIndex):
        (KJS::Bindings::QtRuntimeMetaMethod::callAsFunction):
        (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction):
        (KJS::Bindings::QtConnectionObject::execute):
        * bridge/qt/qt_runtime.h:
        * bridge/runtime.h:
        (KJS::Bindings::Instance::invokeDefaultMethod):
        * bridge/runtime_method.cpp:
        (RuntimeMethod::callAsFunction):
        * bridge/runtime_method.h:
        * bridge/runtime_object.cpp:
        (RuntimeObjectImp::callAsFunction):
        * bridge/runtime_object.h:
        * page/Console.cpp:
        (WebCore::printToStandardOut):
        (WebCore::Console::debug):
        (WebCore::Console::error):
        (WebCore::Console::info):
        (WebCore::Console::log):
        (WebCore::Console::assertCondition):
        (WebCore::Console::profile):
        (WebCore::Console::profileEnd):
        (WebCore::Console::warn):
        * page/Console.h:
        * page/InspectorController.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        (WebCore::InspectorController::addMessageToConsole):
        * page/InspectorController.h:

2008-06-15  Darin Adler  <darin@apple.com>

        * platform/graphics/gtk/VideoSinkGStreamer.h: Undo a bogus rename done by the script.

2008-06-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Fix our implementation of Document.documentURI (DOM Core Level 3).

        Tests: fast/dom/documenturi-affects-relative-paths.html
               fast/dom/documenturi-assigned-junk-implies-baseuri-null.html
               fast/dom/documenturi-assigned-junk-implies-relative-urls-do-not-resolve.html
               fast/dom/documenturi-can-hold-arbitrary-string.html
               fast/dom/documenturi-loses-to-base-tag.html
               fast/dom/documenturi-not-affected-by-base-tag.html

        * dom/Document.cpp:
        (WebCore::Document::setDocumentURI):
        (WebCore::Document::setURL):
        (WebCore::Document::updateBaseURL):
        * dom/Document.h:
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::url):

2008-06-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Refactor our handling of Document::m_baseURL in preparation for
        correcting our implementation of Document.documentURI.

        * dom/Document.cpp:
        (WebCore::Document::documentURI):
        (WebCore::Document::open):
        (WebCore::Document::setURL):
        (WebCore::Document::setBaseElementURL):
        (WebCore::Document::updateBaseURL):
        (WebCore::Document::elementSheet):
        (WebCore::Document::mappedElementSheet):
        (WebCore::Document::completeURL):
        * dom/Document.h:
        (WebCore::Document::url):
        (WebCore::Document::baseURL):
        * html/HTMLBaseElement.cpp:
        (WebCore::HTMLBaseElement::removedFromDocument):
        (WebCore::HTMLBaseElement::process):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::begin):
        (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource):

2008-06-15  Darin Adler  <darin@apple.com>

        - new names for more JavaScriptCore files

        * ForwardingHeaders/kjs/ArrayPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/array_object.h.
        * ForwardingHeaders/kjs/BooleanObject.h: Copied from WebCore/ForwardingHeaders/kjs/bool_object.h.
        * ForwardingHeaders/kjs/FunctionPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/function_object.h.
        * ForwardingHeaders/kjs/JSArray.h: Copied from WebCore/ForwardingHeaders/kjs/array_instance.h.
        * ForwardingHeaders/kjs/PropertyMap.h: Copied from WebCore/ForwardingHeaders/kjs/property_map.h.
        * ForwardingHeaders/kjs/array_instance.h: Removed.
        * ForwardingHeaders/kjs/array_object.h: Removed.
        * ForwardingHeaders/kjs/bool_object.h: Removed.
        * ForwardingHeaders/kjs/function_object.h: Removed.
        * ForwardingHeaders/kjs/property_map.h: Removed.
        * WebCore.vcproj/WebCore.vcproj:
        * bindings/js/JSClipboardCustom.cpp:
        * bindings/js/JSDatabaseCustom.cpp:
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        * bindings/js/kjs_events.cpp:
        * bridge/jni/jni_utility.cpp:
        * bridge/qt/qt_runtime.cpp:
        * bridge/runtime_array.cpp:

2008-06-15  Darin Adler  <darin@apple.com>

        - new names for a few key JavaScriptCore files

        * ForwardingHeaders/kjs/JSFunction.h: Copied from WebCore/ForwardingHeaders/kjs/function.h.
        * ForwardingHeaders/kjs/JSObject.h: Copied from WebCore/ForwardingHeaders/kjs/object.h.
        * ForwardingHeaders/kjs/JSString.h: Copied from WebCore/ForwardingHeaders/kjs/internal.h.
        * ForwardingHeaders/kjs/JSValue.h: Copied from WebCore/ForwardingHeaders/kjs/value.h.
        * ForwardingHeaders/kjs/function.h: Removed.
        * ForwardingHeaders/kjs/internal.h: Removed.
        * ForwardingHeaders/kjs/object.h: Removed.
        * ForwardingHeaders/kjs/value.h: Removed.
        * WebCore.vcproj/WebCore.vcproj:
        * bindings/js/JSCustomSQLStatementCallback.h:
        * bindings/js/JSCustomSQLStatementErrorCallback.h:
        * bindings/js/JSCustomSQLTransactionErrorCallback.h:
        * bindings/js/JSCustomVoidCallback.h:
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/js/JSDOMWindowShell.cpp:
        * bindings/js/JSQuarantinedObjectWrapper.h:
        * bridge/objc/objc_runtime.h:
        * bridge/objc/objc_utility.h:
        * bridge/qt/qt_runtime.cpp:
        * bridge/runtime.h:
        * bridge/runtime_array.h:
        * bridge/runtime_method.h:
        * bridge/runtime_object.h:
        * bridge/testbindings.cpp:
        * bridge/testbindings.mm:
        * bridge/testqtbindings.cpp:
        * loader/FrameLoader.cpp:
        * page/JavaScriptCallFrame.cpp:
        * page/JavaScriptProfile.cpp:
        * page/JavaScriptProfileNode.cpp:
        * platform/graphics/gtk/VideoSinkGStreamer.h:
        * plugins/PluginView.cpp:
        * plugins/gtk/PluginViewGtk.cpp:
        * plugins/qt/PluginViewQt.cpp:
        * plugins/win/PluginViewWin.cpp:

2008-06-15  Darin Adler  <darin@apple.com>

        Rubber stamped by Sam.

        - cut down on confusing uses of "Object" and "Imp" in
          JavaScriptCore class names

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::nameGetter):
        * bridge/qt/qt_runtime.cpp:
        (KJS::Bindings::valueRealType):
        (KJS::Bindings::convertValueToQVariant):
        (KJS::Bindings::convertQVariantToValue):
        (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
        * bridge/qt/qt_runtime.h:
        * bridge/runtime_method.cpp:
        (RuntimeMethod::RuntimeMethod):
        (RuntimeMethod::getOwnPropertySlot):
        * bridge/runtime_method.h:

2008-06-15  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix <rdar://problem/5825683> Three slash URLs are modified by WebKit

        Test: fast/loader/url-parse-1.html

        URIs in which the scheme is followed by "://" are ambiguous, because
        "//" can be either the beginning of a net_path or the beginning of an
        abs_path whose first path segment is empty. In the case of ":///", the
        net_path interpretation is invalid, because the authority (the part
        between the second and third slashes) cannot be empty. However, for
        historical reasons, this is allowed in http:, https: and file: URLs,
        in which an empty authority means the local host.

        * platform/KURL.cpp:
        (WebCore::KURL::parse): Changed to interpret URLs in which the scheme
        is followed by ":///" as abs_path-only URLs, unless the scheme is http,
        https or file.

2008-06-15  Darin Adler  <darin@apple.com>

        Rubber stamped by Sam.

        - use JS prefix and simpler names for basic JavaScriptCore types,
          to complement JSValue and JSObject

        * bindings/js/JSNavigatorCustom.cpp:
        (WebCore::needsYouTubeQuirk):
        * bindings/js/kjs_events.cpp:
        (WebCore::JSLazyEventListener::parseCode):
        * bridge/jni/jni_utility.cpp:
        (KJS::Bindings::convertArrayInstanceToJavaArray):
        (KJS::Bindings::convertValueToJValue):
        * bridge/qt/qt_runtime.cpp:
        (KJS::Bindings::valueRealType):
        (KJS::Bindings::convertValueToQVariant):
        (KJS::Bindings::QtConnectionObject::execute):
        * bridge/runtime_array.cpp:

2008-06-15  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19556
          REGRESSION (r34544): Crash while visiting bigglook.com

        This fix eliminates the crash, but the logic remaining seems a little strange.
        We create an IconRecord and then immediately destroy it. Worth taking another
        look at this later.

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::setIconDataForIconURL): Added code to remove the icon
        just as in the other cases where we might be holding the single reference to it.
        (WebCore::IconDatabase::setIconURLForPageURL): Fixed comment typo.
        (WebCore::IconDatabase::writeToDatabase): Removed unused local variable.

2008-06-15  Darin Adler  <darin@apple.com>

        Reviewed and tweaked by Sam Weinig.

        Fix for <rdar://problem/5908591>
        https://bugs.webkit.org/show_bug.cgi?id=18743

        Makes DOMImplementation per-document.

        Test: http/tests/security/cross-frame-access-DOMImplementation.html

        * bindings/objc/DOMImplementationFront.cpp:
        (WebCore::DOMImplementationFront::getInterface):
        * bindings/objc/DOMImplementationFront.h:
        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::hasFeature):
        (WebCore::DOMImplementation::createDocumentType):
        (WebCore::DOMImplementation::getInterface):
        (WebCore::DOMImplementation::createDocument):
        (WebCore::DOMImplementation::createHTMLDocument):
        * dom/DOMImplementation.h:
        (WebCore::DOMImplementation::create):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::implementation):
        * dom/Document.h:
        (WebCore::Document::create):
        (WebCore::Document::createXHTML):
        * dom/DocumentType.cpp:
        * dom/DocumentType.h:
        (WebCore::DocumentType::create):
        (WebCore::DocumentType::entities):
        (WebCore::DocumentType::notations):
        (WebCore::DocumentType::name):
        (WebCore::DocumentType::publicId):
        (WebCore::DocumentType::systemId):
        (WebCore::DocumentType::internalSubset):
        * dom/Node.cpp:
        (WebCore::Node::isSupported):
        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::internalSubset):
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::HTMLDocument):
        * html/HTMLDocument.h:
        (WebCore::HTMLDocument::create):
        (WebCore::HTMLDocument::isHTMLDocument):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::parseDoctypeToken):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
        (WebCore::HTMLViewSourceDocument::createTokenizer):
        * html/HTMLViewSourceDocument.h:
        (WebCore::HTMLViewSourceDocument::create):
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::ensureSVGFontData):
        * loader/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryDocument::FTPDirectoryDocument):
        * loader/FTPDirectoryDocument.h:
        (WebCore::FTPDirectoryDocument::create):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::begin):
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocument::ImageDocument):
        * loader/ImageDocument.h:
        (WebCore::ImageDocument::create):
        (WebCore::ImageDocument::isImageDocument):
        * loader/PluginDocument.cpp:
        (WebCore::PluginDocument::PluginDocument):
        * loader/PluginDocument.h:
        (WebCore::PluginDocument::create):
        (WebCore::PluginDocument::isPluginDocument):
        * loader/TextDocument.cpp:
        (WebCore::TextTokenizer::checkBuffer):
        (WebCore::TextDocument::TextDocument):
        (WebCore::createTextTokenizer):
        * loader/TextDocument.h:
        (WebCore::TextDocument::create):
        * svg/SVGDocument.cpp:
        (WebCore::SVGDocument::SVGDocument):
        * svg/SVGDocument.h:
        (WebCore::SVGDocument::create):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::isSupported):
        * svg/SVGTests.cpp:
        (WebCore::SVGTests::isValid):
        * xml/DOMParser.cpp:
        (WebCore::DOMParser::parseFromString):

2008-06-15  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Maciej.

        Mac build fix.

        * WebCore.base.exp:
        * WebCore.order:

2008-06-14  Darin Adler  <darin@apple.com>

        Rubber stamped by Sam.

        - new names for kjs_binding.h and kjs_proxy.h

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSAudioConstructor.h:
        * bindings/js/JSCustomSQLStatementCallback.cpp:
        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
        * bindings/js/JSCustomSQLTransactionCallback.cpp:
        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
        * bindings/js/JSCustomVoidCallback.cpp:
        * bindings/js/JSCustomXPathNSResolver.cpp:
        * bindings/js/JSDOMBinding.cpp: Copied from WebCore/bindings/js/kjs_binding.cpp.
        * bindings/js/JSDOMBinding.h: Copied from WebCore/bindings/js/kjs_binding.h.
        * bindings/js/JSDOMWindowBase.cpp:
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/js/JSDOMWindowShell.cpp:
        * bindings/js/JSDOMWindowShell.h:
        * bindings/js/JSDocumentCustom.cpp:
        * bindings/js/JSHTMLCollectionCustom.cpp:
        * bindings/js/JSHTMLFrameElementCustom.cpp:
        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
        * bindings/js/JSHTMLIFrameElementCustom.cpp:
        * bindings/js/JSHTMLInputElementBase.h:
        * bindings/js/JSHTMLOptionElementConstructor.h:
        * bindings/js/JSImageConstructor.h:
        * bindings/js/JSLocationCustom.cpp:
        * bindings/js/JSNamedNodeMapCustom.cpp:
        * bindings/js/JSNamedNodesCollection.h:
        * bindings/js/JSNodeFilterCondition.cpp:
        * bindings/js/JSNodeFilterCustom.cpp:
        * bindings/js/JSRGBColor.h:
        * bindings/js/JSSVGPathSegCustom.cpp:
        * bindings/js/JSXMLHttpRequestConstructor.h:
        * bindings/js/JSXSLTProcessorConstructor.h:
        * bindings/js/JSXSLTProcessorCustom.cpp:
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/js/ScriptController.cpp: Copied from WebCore/bindings/js/kjs_proxy.cpp.
        * bindings/js/ScriptController.h: Copied from WebCore/bindings/js/kjs_proxy.h.
        * bindings/js/kjs_binding.cpp: Removed.
        * bindings/js/kjs_binding.h: Removed.
        * bindings/js/kjs_events.cpp:
        (WebCore::JSAbstractEventListener::handleEvent):
        * bindings/js/kjs_html.cpp:
        * bindings/js/kjs_html.h:
        * bindings/js/kjs_proxy.cpp: Removed.
        * bindings/js/kjs_proxy.h: Removed.
        * bindings/objc/DOMInternal.mm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/jni/jni_jsobject.mm:
        * dom/Document.cpp:
        * dom/EventTarget.cpp:
        * dom/Node.cpp:
        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::startElementNs):
        * history/CachedPage.cpp:
        (WebCore::CachedPage::CachedPage):
        (WebCore::CachedPage::restore):
        * html/HTMLPlugInElement.cpp:
        * html/HTMLScriptElement.cpp:
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::processToken):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::executeScript):
        * page/Frame.cpp:
        (WebCore::Frame::scriptProxy):
        * page/Frame.h:
        * page/FramePrivate.h:
        * page/InspectorController.cpp:
        * page/JavaScriptDebugServer.cpp:
        * page/JavaScriptProfileNode.cpp:
        * page/Page.cpp:
        * page/gtk/FrameGtk.cpp:
        * page/mac/FrameMac.mm:
        * page/qt/FrameQt.cpp:
        * page/win/FrameWin.cpp:
        * plugins/PluginView.cpp:
        (WebCore::getString):
        * plugins/gtk/PluginViewGtk.cpp:
        * plugins/qt/PluginViewQt.cpp:
        * plugins/win/PluginViewWin.cpp:
        * svg/SVGDocumentExtensions.cpp:
        * xml/XMLHttpRequest.cpp:

2008-06-14  Darin Adler  <darin@apple.com>

        Rubber stamped by Sam.

        - renamed HTMLGenericFormElement to HTMLFormControlElement

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::HTMLButtonElement):
        (WebCore::HTMLButtonElement::parseMappedAttribute):
        (WebCore::HTMLButtonElement::defaultEventHandler):
        * html/HTMLButtonElement.h:
        * html/HTMLFieldSetElement.cpp:
        (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
        * html/HTMLFieldSetElement.h:
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::item):
        (WebCore::HTMLFormCollection::getNamedFormItem):
        (WebCore::HTMLFormCollection::updateNameCache):
        * html/HTMLFormControlElement.cpp: Copied from WebCore/html/HTMLGenericFormElement.cpp.
        * html/HTMLFormControlElement.h: Copied from WebCore/html/HTMLGenericFormElement.h.
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::formData):
        (WebCore::HTMLFormElement::submit):
        (WebCore::HTMLFormElement::formElementIndex):
        (WebCore::HTMLFormElement::registerFormElement):
        (WebCore::HTMLFormElement::removeFormElement):
        (WebCore::HTMLFormElement::elementForAlias):
        (WebCore::HTMLFormElement::addElementAlias):
        (WebCore::HTMLFormElement::getNamedElements):
        (WebCore::HTMLFormElement::CheckedRadioButtons::addButton):
        (WebCore::HTMLFormElement::CheckedRadioButtons::removeButton):
        * html/HTMLFormElement.h:
        * html/HTMLGenericFormElement.cpp: Removed.
        * html/HTMLGenericFormElement.h: Removed.
        * html/HTMLInputElement.h:
        * html/HTMLIsIndexElement.cpp:
        (WebCore::HTMLIsIndexElement::parseMappedAttribute):
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::parseMappedAttribute):
        * html/HTMLLegendElement.cpp:
        (WebCore::HTMLLegendElement::HTMLLegendElement):
        * html/HTMLLegendElement.h:
        * html/HTMLOptGroupElement.cpp:
        (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
        (WebCore::HTMLOptGroupElement::insertBefore):
        (WebCore::HTMLOptGroupElement::replaceChild):
        (WebCore::HTMLOptGroupElement::removeChild):
        (WebCore::HTMLOptGroupElement::appendChild):
        (WebCore::HTMLOptGroupElement::removeChildren):
        (WebCore::HTMLOptGroupElement::childrenChanged):
        (WebCore::HTMLOptGroupElement::parseMappedAttribute):
        (WebCore::HTMLOptGroupElement::attach):
        (WebCore::HTMLOptGroupElement::detach):
        * html/HTMLOptGroupElement.h:
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::HTMLOptionElement):
        (WebCore::HTMLOptionElement::attach):
        (WebCore::HTMLOptionElement::detach):
        (WebCore::HTMLOptionElement::parseMappedAttribute):
        (WebCore::HTMLOptionElement::childrenChanged):
        (WebCore::HTMLOptionElement::disabled):
        (WebCore::HTMLOptionElement::insertedIntoDocument):
        * html/HTMLOptionElement.h:
        * html/HTMLSelectElement.h:
        * html/HTMLTextAreaElement.h:
        * page/Frame.cpp:
        (WebCore::scanForForm):
        (WebCore::Frame::currentForm):
        * page/mac/FrameMac.mm:
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::RenderFieldset):
        * rendering/RenderFieldset.h:
        * rendering/RenderLegend.cpp:
        (WebCore::RenderLegend::RenderLegend):
        * rendering/RenderLegend.h:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::createInnerTextStyle):
        (WebCore::RenderTextControl::updateFromElement):
        (WebCore::RenderTextControl::subtreeHasChanged):
        (WebCore::RenderTextControl::selectionChanged):

2008-06-14  Sam Weinig  <sam@webkit.org>

        Windows build fix.

        * bindings/scripts/CodeGeneratorCOM.pm:

2008-06-14  Darin Adler  <darin@apple.com>

        - more build fixing

        * platform/gtk/DragDataGtk.cpp: Added missing header.
        * platform/wx/DragDataWx.cpp: Ditto.

2008-06-14  Darin Adler  <darin@apple.com>

        Reviewed by Sam.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19544
          DashboardRegion pieces are leaking

        My recent change introduced a leak of objects owned by each DashboardRegion,
        because I made ~Rect non-virtual. By using a separate RefCounted class for
        each of Rect and DashboardRegion, the leak is gone. It's not clear if the
        DashboardRegion class should really exist -- it doesn't have a DOM binding,
        so it could conceivably be removed some day.

        * css/DashboardRegion.h: Derive from RectBase instead of from Rect.
        * css/Rect.h: Added RectBase. Changed Rect to derive from RectBase.

2008-06-14  Darin Adler  <darin@apple.com>

        Reviewed by Sam.

        - https://bugs.webkit.org/show_bug.cgi?id=19545
          use PassRefPtr, not RefPtr, for return values

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseGradient): Call release() when assigning result to avoid
        a little bit of refcount churn.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleRulesForElement): Changed return value to PassRefPtr.
        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Ditto.
        * css/CSSStyleSelector.h: Ditto.

        * svg/SVGElementInstanceList.cpp:
        (WebCore::SVGElementInstanceList::length): Tweaked formatting.
        (WebCore::SVGElementInstanceList::item): Changed return value to raw pointer.
        * svg/SVGElementInstanceList.h: Ditto.

        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource): Changed return value to PassRefPtr.
        (WebCore::XSLTProcessor::transformToDocument): Ditto.
        (WebCore::XSLTProcessor::transformToFragment): Ditto.
        * xml/XSLTProcessor.h: Ditto.

2008-06-14  Darin Adler  <darin@apple.com>

        - try to fix the gtk build

        * platform/gtk/DragDataGtk.cpp:
        (WebCore::DragData::createClipboard): Changed return type to PassRefPtr.

2008-06-14  Darin Adler  <darin@apple.com>

        - another try at fixing the wx build

        * platform/wx/DragDataWx.cpp:
        (WebCore::DragData::createClipboard): Changed return type to PassRefPtr.

2008-06-14  Darin Adler  <darin@apple.com>

        - try to fix Windows build

        * svg/graphics/SVGImageEmptyClients.h: Added missing include.

2008-06-14  Darin Adler  <darin@apple.com>

        - fix wx build

        * platform/wx/TemporaryLinkStubs.cpp: Removed unneeded Icon constructor.

2008-06-14  Darin Adler  <darin@apple.com>

        Reviewed by Sam.

        - more work on https://bugs.webkit.org/show_bug.cgi?id=17257
          start ref counts at 1 instead of 0 for speed

        * WebCore.base.exp: Added some new exports needed for functions that are now
        non-virtual.

        * WebCore.xcodeproj/project.pbxproj: Moved the "icon" group to the correct
        location in the project. Before it was inside "appcache"!

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * dom/Clipboard.cpp:
        (WebCore::Clipboard::Clipboard):
        * editing/mac/EditorMac.mm:
        (WebCore::Editor::newGeneralClipboard):
        * editing/qt/EditorQt.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * editing/wx/EditorWx.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::DocumentLoader):
        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::create):
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::defaultIcon):
        (WebCore::IconDatabase::setIconDataForIconURL):
        (WebCore::IconDatabase::setIconURLForPageURL):
        (WebCore::IconDatabase::getOrCreateIconRecord):
        (WebCore::IconDatabase::performURLImport):
        * loader/icon/IconDatabase.h:
        * loader/icon/IconRecord.cpp:
        (WebCore::IconRecord::IconRecord):
        * loader/icon/IconRecord.h:
        (WebCore::IconRecord::create):
        * page/EventHandler.h:
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        * page/Frame.h:
        (WebCore::Frame::create):
        * page/gtk/EventHandlerGtk.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::createDraggingClipboard):
        * page/qt/EventHandlerQt.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * page/win/EventHandlerWin.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * page/wx/EventHandlerWx.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * platform/Cursor.h:
        (WebCore::SharedCursor::create):
        (WebCore::SharedCursor::~SharedCursor):
        (WebCore::SharedCursor::SharedCursor):
        * platform/DragData.h:
        * platform/PopupMenu.h:
        (WebCore::PopupMenu::create):
        (WebCore::PopupMenu::isActive):
        * platform/ScrollBar.cpp:
        (WebCore::Scrollbar::Scrollbar):
        * platform/SearchPopupMenu.h:
        (WebCore::SearchPopupMenu::create):
        * platform/graphics/FontFamily.cpp:
        (WebCore::FontFamily::FontFamily):
        (WebCore::operator==):
        * platform/graphics/FontFamily.h:
        (WebCore::FontFamily::FontFamily):
        (WebCore::SharedFontFamily::create):
        (WebCore::SharedFontFamily::SharedFontFamily):
        (WebCore::operator!=):
        (WebCore::FontFamily::next):
        (WebCore::FontFamily::appendFamily):
        (WebCore::FontFamily::releaseNext):
        * platform/graphics/Icon.h:
        * platform/graphics/gtk/IconGtk.cpp:
        (WebCore::Icon::Icon):
        (WebCore::Icon::~Icon):
        (WebCore::Icon::newIconForFile):
        * platform/graphics/mac/IconMac.mm:
        (WebCore::Icon::Icon):
        (WebCore::Icon::newIconForFile):
        * platform/graphics/qt/IconQt.cpp:
        (WebCore::Icon::Icon):
        (WebCore::Icon::newIconForFile):
        * platform/graphics/win/IconWin.cpp:
        (WebCore::Icon::Icon):
        (WebCore::Icon::~Icon):
        (WebCore::Icon::newIconForFile):
        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * platform/gtk/ClipboardGtk.h:
        (WebCore::ClipboardGtk::create):
        * platform/gtk/PlatformScrollBar.h:
        (WebCore::PlatformScrollbar::create):
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenu::PopupMenu):
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollViewScrollbar::create):
        (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
        (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
        * platform/mac/ClipboardMac.h:
        (WebCore::ClipboardMac::create):
        * platform/mac/DragDataMac.mm:
        (WebCore::DragData::createClipboard):
        (WebCore::DragData::containsCompatibleContent):
        * platform/mac/PlatformScrollBar.h:
        (WebCore::PlatformScrollbar::create):
        (WebCore::PlatformScrollbar::horizontalScrollbarHeight):
        (WebCore::PlatformScrollbar::verticalScrollbarWidth):
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenu::PopupMenu):
        * platform/qt/ClipboardQt.h:
        (WebCore::ClipboardQt::create):
        * platform/qt/DragDataQt.cpp:
        (WebCore::DragData::createClipboard):
        * platform/qt/PlatformScrollBar.h:
        (WebCore::PlatformScrollbar::create):
        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenu::PopupMenu):
        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
        (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
        * platform/win/ClipboardWin.h:
        (WebCore::ClipboardWin::create):
        * platform/win/CursorWin.cpp:
        (WebCore::Cursor::Cursor):
        (WebCore::loadSharedCursor):
        * platform/win/DragDataWin.cpp:
        (WebCore::DragData::createClipboard):
        * platform/win/EditorWin.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * platform/win/PlatformScrollBar.h:
        (WebCore::PlatformScrollbar::create):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::show):
        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
        (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
        * platform/wx/ClipboardWx.h:
        (WebCore::ClipboardWx::create):
        * platform/wx/PlatformScrollBar.h:
        (WebCore::PlatformScrollbar::create):
        * platform/wx/PopupMenuWx.cpp:
        (WebCore::PopupMenu::PopupMenu):
        * platform/wx/TemporaryLinkStubs.cpp:
        (Icon::Icon):
        (Icon::newIconForFile):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::createScrollbar):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::updateFromElement):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):
        * svg/graphics/SVGImageEmptyClients.h:
        (WebCore::SVGEmptyFrameLoaderClient::createDocumentLoader):

2008-06-14  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Fix for <rdar://problem/5775192>
        insertAdjacentHTML and insertAdjacentText are not implemented although insertAdjacentElement is.

        - Implements insertAdjacentHTML and insertAdjacentText for HTMLElement.
        - Moves the insertAdjacentElement implementation from Element to HTMLElement.

        Tests: fast/dynamic/insertAdjacentHTML.html
               fast/dynamic/insertAdjacentText.html

        * dom/Element.cpp:
        * dom/Element.h:
        * dom/Element.idl:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::insertAdjacent):
        (WebCore::HTMLElement::insertAdjacentElement):
        (WebCore::HTMLElement::insertAdjacentHTML):
        (WebCore::HTMLElement::insertAdjacentText):
        * html/HTMLElement.h:
        * html/HTMLElement.idl:

2008-06-14  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19538
          <rdar://problem/5957595> Reading transition property from the style JS gives the wrong value

        Test: fast/dom/CSSStyleDeclaration/transition-property-names.html

        * css/CSSPrimitiveValue.cpp:
        (WebCore::valueOrPropertyName): Added.
        (WebCore::CSSPrimitiveValue::getStringValue): Use valueOrPropertyName since the ident can either
        be a value or property ID.
        (WebCore::CSSPrimitiveValue::cssText): Ditto.

        * css/makeprop.pl: Assign property IDs starting at 1001 instead of 1 so they can be stored along
        with value IDs with no ambiguity.

2008-06-14  Adam Barth  <abarth@webkit.org>

        Reviewed by David Kilzer.

        Fix typo.

        * dom/XMLTokenizer.cpp:
        (WebCore::shouldAllowExternalLoad):

2008-06-14  Darin Adler  <darin@apple.com>

        - fix build

        * plugins/PluginStream.h: Move functions back into public section.

2008-06-14  Darin Adler  <darin@apple.com>

        Reviewed by Sam.

        - more work on https://bugs.webkit.org/show_bug.cgi?id=17257
          start ref counts at 1 instead of 0 for speed

        * WebCore.base.exp:
        * bindings/js/JSSVGMatrixCustom.cpp:
        (WebCore::JSSVGMatrix::multiply):
        (WebCore::JSSVGMatrix::inverse):
        (WebCore::JSSVGMatrix::translate):
        (WebCore::JSSVGMatrix::scale):
        (WebCore::JSSVGMatrix::scaleNonUniform):
        (WebCore::JSSVGMatrix::rotate):
        (WebCore::JSSVGMatrix::rotateFromVector):
        (WebCore::JSSVGMatrix::flipX):
        (WebCore::JSSVGMatrix::flipY):
        (WebCore::JSSVGMatrix::skewX):
        (WebCore::JSSVGMatrix::skewY):
        * bindings/js/JSSVGPODTypeWrapper.h:
        (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::create):
        (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::JSSVGPODTypeWrapperCreatorReadWrite):
        (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::create):
        (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::JSSVGPODTypeWrapperCreatorReadOnly):
        (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
        (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
        (WebCore::JSSVGPODTypeWrapperCache::lookupOrCreateWrapper):
        (WebCore::JSSVGPODTypeWrapperCache::forgetWrapper):
        * bindings/js/JSSVGPointListCustom.cpp:
        (WebCore::finishGetter):
        (WebCore::finishSetter):
        (WebCore::finishSetterReadOnlyResult):
        (WebCore::JSSVGPointList::clear):
        (WebCore::JSSVGPointList::initialize):
        (WebCore::JSSVGPointList::getItem):
        (WebCore::JSSVGPointList::insertItemBefore):
        (WebCore::JSSVGPointList::replaceItem):
        (WebCore::JSSVGPointList::removeItem):
        (WebCore::JSSVGPointList::appendItem):
        * bindings/js/JSSVGTransformListCustom.cpp:
        (WebCore::finishGetter):
        (WebCore::finishSetter):
        (WebCore::finishSetterReadOnlyResult):
        (WebCore::JSSVGTransformList::clear):
        (WebCore::JSSVGTransformList::initialize):
        (WebCore::JSSVGTransformList::getItem):
        (WebCore::JSSVGTransformList::insertItemBefore):
        (WebCore::JSSVGTransformList::replaceItem):
        (WebCore::JSSVGTransformList::removeItem):
        (WebCore::JSSVGTransformList::appendItem):
        * bindings/scripts/CodeGeneratorJS.pm:
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::CSSFontSelector):
        (WebCore::CSSFontSelector::~CSSFontSelector):
        * css/CSSFontSelector.h:
        (WebCore::CSSFontSelector::create):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::CSSStyleSelector::applyProperty):
        * dom/Attribute.cpp:
        (WebCore::Attribute::clone):
        * dom/Attribute.h:
        (WebCore::Attribute::create):
        (WebCore::Attribute::Attribute):
        * dom/BeforeTextInsertedEvent.h:
        (WebCore::BeforeTextInsertedEvent::create):
        * dom/BeforeUnloadEvent.h:
        (WebCore::BeforeUnloadEvent::create):
        * dom/CharacterData.cpp:
        (WebCore::CharacterData::dispatchModifiedEvent):
        * dom/ClipboardEvent.cpp:
        (WebCore::ClipboardEvent::ClipboardEvent):
        * dom/ClipboardEvent.h:
        (WebCore::ClipboardEvent::create):
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChild):
        (WebCore::dispatchChildInsertionEvents):
        (WebCore::dispatchChildRemovalEvents):
        * dom/Document.cpp:
        (WebCore::Document::createTextNode):
        (WebCore::Document::createComment):
        (WebCore::Document::createCDATASection):
        (WebCore::Document::createProcessingInstruction):
        (WebCore::Document::createEntityReference):
        (WebCore::Document::createEditingTextNode):
        (WebCore::Document::createEvent):
        (WebCore::Document::createAttributeNS):
        (WebCore::Document::finishedParsing):
        * dom/Document.h:
        * dom/Element.cpp:
        (WebCore::Element::createAttribute):
        * dom/Element.h:
        * dom/Event.cpp:
        (WebCore::Event::Event):
        * dom/Event.h:
        (WebCore::Event::create):
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
        (WebCore::EventTargetNode::dispatchWindowEvent):
        (WebCore::EventTargetNode::dispatchUIEvent):
        (WebCore::EventTargetNode::dispatchKeyEvent):
        (WebCore::EventTargetNode::dispatchMouseEvent):
        (WebCore::EventTargetNode::dispatchWheelEvent):
        (WebCore::EventTargetNode::dispatchHTMLEvent):
        (WebCore::EventTargetNode::dispatchProgressEvent):
        (WebCore::EventTargetNode::dispatchStorageEvent):
        * dom/KeyboardEvent.h:
        (WebCore::KeyboardEvent::create):
        * dom/MappedAttribute.cpp:
        (WebCore::MappedAttribute::clone):
        * dom/MappedAttribute.h:
        (WebCore::MappedAttribute::create):
        (WebCore::MappedAttribute::setDecl):
        (WebCore::MappedAttribute::MappedAttribute):
        * dom/MessageEvent.cpp:
        (WebCore::MessageEvent::MessageEvent):
        * dom/MessageEvent.h:
        (WebCore::MessageEvent::create):
        * dom/MouseEvent.cpp:
        (WebCore::MouseEvent::MouseEvent):
        (WebCore::MouseEvent::initMouseEvent):
        * dom/MouseEvent.h:
        (WebCore::MouseEvent::create):
        * dom/MouseRelatedEvent.cpp:
        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
        * dom/MouseRelatedEvent.h:
        * dom/MutationEvent.cpp:
        (WebCore::MutationEvent::MutationEvent):
        (WebCore::MutationEvent::initMutationEvent):
        * dom/MutationEvent.h:
        (WebCore::MutationEvent::create):
        * dom/OverflowEvent.h:
        (WebCore::OverflowEvent::create):
        * dom/ProgressEvent.h:
        (WebCore::ProgressEvent::create):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::getMappedAttributeDecl):
        (WebCore::StyledElement::setMappedAttributeDecl):
        (WebCore::StyledElement::removeMappedAttributeDecl):
        (WebCore::StyledElement::createAttribute):
        * dom/StyledElement.h:
        * dom/TextEvent.cpp:
        (WebCore::TextEvent::TextEvent):
        (WebCore::TextEvent::initTextEvent):
        * dom/TextEvent.h:
        (WebCore::TextEvent::create):
        * dom/UIEvent.cpp:
        (WebCore::UIEvent::UIEvent):
        (WebCore::UIEvent::initUIEvent):
        * dom/UIEvent.h:
        (WebCore::UIEvent::create):
        * dom/UIEventWithKeyState.h:
        (WebCore::UIEventWithKeyState::ctrlKey):
        (WebCore::UIEventWithKeyState::shiftKey):
        (WebCore::UIEventWithKeyState::altKey):
        (WebCore::UIEventWithKeyState::metaKey):
        (WebCore::UIEventWithKeyState::UIEventWithKeyState):
        * dom/WheelEvent.cpp:
        (WebCore::WheelEvent::WheelEvent):
        (WebCore::WheelEvent::initWheelEvent):
        * dom/WheelEvent.h:
        (WebCore::WheelEvent::create):
        * editing/AppendNodeCommand.cpp:
        (WebCore::AppendNodeCommand::AppendNodeCommand):
        * editing/AppendNodeCommand.h:
        (WebCore::AppendNodeCommand::create):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyBlockStyle):
        * editing/ApplyStyleCommand.h:
        (WebCore::ApplyStyleCommand::create):
        * editing/BreakBlockquoteCommand.h:
        (WebCore::BreakBlockquoteCommand::create):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::applyStyle):
        (WebCore::CompositeEditCommand::applyStyledElement):
        (WebCore::CompositeEditCommand::removeStyledElement):
        (WebCore::CompositeEditCommand::insertParagraphSeparator):
        (WebCore::CompositeEditCommand::insertLineBreak):
        (WebCore::CompositeEditCommand::insertNodeBefore):
        (WebCore::CompositeEditCommand::appendNode):
        (WebCore::CompositeEditCommand::removeNode):
        (WebCore::CompositeEditCommand::removeNodePreservingChildren):
        (WebCore::CompositeEditCommand::splitTextNode):
        (WebCore::CompositeEditCommand::splitElement):
        (WebCore::CompositeEditCommand::mergeIdenticalElements):
        (WebCore::CompositeEditCommand::wrapContentsInDummySpan):
        (WebCore::CompositeEditCommand::splitTextNodeContainingElement):
        (WebCore::CompositeEditCommand::joinTextNodes):
        (WebCore::CompositeEditCommand::inputText):
        (WebCore::CompositeEditCommand::insertTextIntoNode):
        (WebCore::CompositeEditCommand::deleteTextFromNode):
        (WebCore::CompositeEditCommand::replaceTextInNode):
        (WebCore::CompositeEditCommand::deleteSelection):
        (WebCore::CompositeEditCommand::removeCSSProperty):
        (WebCore::CompositeEditCommand::removeNodeAttribute):
        (WebCore::CompositeEditCommand::setNodeAttribute):
        (WebCore::CompositeEditCommand::appendBlockPlaceholder):
        (WebCore::CompositeEditCommand::insertBlockPlaceholder):
        (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
        (WebCore::CompositeEditCommand::moveParagraphs):
        (WebCore::CompositeEditCommand::splitTreeToNode):
        * editing/CompositeEditCommand.h:
        (WebCore::CompositeEditCommand::isFirstCommand):
        * editing/CreateLinkCommand.h:
        (WebCore::CreateLinkCommand::create):
        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::deleteTarget):
        * editing/DeleteFromTextNodeCommand.cpp:
        (WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand):
        * editing/DeleteFromTextNodeCommand.h:
        (WebCore::DeleteFromTextNodeCommand::create):
        * editing/DeleteSelectionCommand.h:
        (WebCore::DeleteSelectionCommand::create):
        * editing/EditCommand.h:
        (WebCore::SimpleEditCommand::SimpleEditCommand):
        * editing/Editor.cpp:
        (WebCore::Editor::deleteSelectionWithSmartDelete):
        (WebCore::Editor::replaceSelectionWithFragment):
        (WebCore::Editor::removeFormattingAndStyle):
        (WebCore::Editor::clearLastEditCommand):
        (WebCore::Editor::dispatchCPPEvent):
        (WebCore::Editor::applyStyle):
        (WebCore::Editor::applyParagraphStyle):
        (WebCore::Editor::indent):
        (WebCore::Editor::outdent):
        (WebCore::dispatchEditableContentChangedEvents):
        * editing/Editor.h:
        * editing/EditorCommand.cpp:
        (WebCore::executeInsertFragment):
        (WebCore::executeCreateLink):
        (WebCore::executeFormatBlock):
        (WebCore::executeIndent):
        (WebCore::executeInsertOrderedList):
        (WebCore::executeInsertUnorderedList):
        (WebCore::executeOutdent):
        (WebCore::executeUnlink):
        * editing/FormatBlockCommand.h:
        (WebCore::FormatBlockCommand::create):
        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::indentRegion):
        (WebCore::IndentOutdentCommand::outdentParagraph):
        * editing/IndentOutdentCommand.h:
        (WebCore::IndentOutdentCommand::create):
        * editing/InsertIntoTextNodeCommand.cpp:
        (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand):
        * editing/InsertIntoTextNodeCommand.h:
        (WebCore::InsertIntoTextNodeCommand::create):
        * editing/InsertLineBreakCommand.h:
        (WebCore::InsertLineBreakCommand::create):
        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply):
        * editing/InsertListCommand.h:
        (WebCore::InsertListCommand::create):
        * editing/InsertNodeBeforeCommand.cpp:
        (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand):
        * editing/InsertNodeBeforeCommand.h:
        (WebCore::InsertNodeBeforeCommand::create):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * editing/InsertParagraphSeparatorCommand.h:
        (WebCore::InsertParagraphSeparatorCommand::create):
        * editing/InsertTextCommand.h:
        (WebCore::InsertTextCommand::create):
        * editing/JoinTextNodesCommand.cpp:
        (WebCore::JoinTextNodesCommand::JoinTextNodesCommand):
        * editing/JoinTextNodesCommand.h:
        (WebCore::JoinTextNodesCommand::create):
        * editing/MergeIdenticalElementsCommand.cpp:
        (WebCore::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand):
        * editing/MergeIdenticalElementsCommand.h:
        (WebCore::MergeIdenticalElementsCommand::create):
        * editing/ModifySelectionListLevel.cpp:
        (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelWithType):
        * editing/MoveSelectionCommand.cpp:
        (WebCore::MoveSelectionCommand::doApply):
        * editing/MoveSelectionCommand.h:
        (WebCore::MoveSelectionCommand::create):
        * editing/RemoveCSSPropertyCommand.cpp:
        (WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand):
        * editing/RemoveCSSPropertyCommand.h:
        (WebCore::RemoveCSSPropertyCommand::create):
        * editing/RemoveFormatCommand.h:
        (WebCore::RemoveFormatCommand::create):
        * editing/RemoveNodeAttributeCommand.cpp:
        (WebCore::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand):
        * editing/RemoveNodeAttributeCommand.h:
        (WebCore::RemoveNodeAttributeCommand::create):
        * editing/RemoveNodeCommand.cpp:
        (WebCore::RemoveNodeCommand::RemoveNodeCommand):
        * editing/RemoveNodeCommand.h:
        (WebCore::RemoveNodeCommand::create):
        * editing/RemoveNodePreservingChildrenCommand.cpp:
        (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand):
        (WebCore::RemoveNodePreservingChildrenCommand::doApply):
        * editing/RemoveNodePreservingChildrenCommand.h:
        (WebCore::RemoveNodePreservingChildrenCommand::create):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::hasInterchangeNewlineAtStart):
        (WebCore::ReplacementFragment::hasInterchangeNewlineAtEnd):
        (WebCore::ReplacementFragment::ReplacementFragment):
        * editing/ReplaceSelectionCommand.h:
        (WebCore::ReplaceSelectionCommand::create):
        * editing/SetNodeAttributeCommand.cpp:
        (WebCore::SetNodeAttributeCommand::SetNodeAttributeCommand):
        * editing/SetNodeAttributeCommand.h:
        (WebCore::SetNodeAttributeCommand::create):
        * editing/SplitElementCommand.cpp:
        (WebCore::SplitElementCommand::SplitElementCommand):
        * editing/SplitElementCommand.h:
        (WebCore::SplitElementCommand::create):
        * editing/SplitTextNodeCommand.cpp:
        (WebCore::SplitTextNodeCommand::SplitTextNodeCommand):
        * editing/SplitTextNodeCommand.h:
        (WebCore::SplitTextNodeCommand::create):
        * editing/SplitTextNodeContainingElementCommand.cpp:
        (WebCore::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand):
        * editing/SplitTextNodeContainingElementCommand.h:
        (WebCore::SplitTextNodeContainingElementCommand::create):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteSelection):
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        (WebCore::TypingCommand::insertText):
        (WebCore::TypingCommand::insertLineBreak):
        (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
        (WebCore::TypingCommand::insertParagraphSeparator):
        (WebCore::TypingCommand::insertTextRunWithoutNewlines):
        * editing/TypingCommand.h:
        (WebCore::TypingCommand::create):
        (WebCore::TypingCommand::smartDelete):
        * editing/UnlinkCommand.h:
        (WebCore::UnlinkCommand::create):
        * editing/WrapContentsInDummySpanCommand.cpp:
        (WebCore::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand):
        * editing/WrapContentsInDummySpanCommand.h:
        (WebCore::WrapContentsInDummySpanCommand::create):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
        (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
        (WebCore::HTMLTableElement::addSharedGroupDecls):
        * html/HTMLTokenizer.cpp:
        (WebCore::Token::addAttribute):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createContainingTable):
        (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
        (WebCore::HTMLViewSourceDocument::addLine):
        (WebCore::HTMLViewSourceDocument::addLink):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didOpenURL):
        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::callListener):
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected):
        * page/DOMWindow.cpp:
        (WebCore::PostMessageTimer::PostMessageTimer):
        (WebCore::PostMessageTimer::fired):
        (WebCore::DOMWindow::postMessage):
        * page/DragController.cpp:
        (WebCore::DragController::concludeDrag):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::dispatchDragEvent):
        (WebCore::EventHandler::keyEvent):
        (WebCore::EventHandler::handleTextInputEvent):
        * page/Frame.cpp:
        (WebCore::Frame::computeAndSetTypingStyle):
        (WebCore::Frame::shouldClose):
        * page/FrameView.cpp:
        (WebCore::FrameView::updateOverflowStatus):
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::currentKeyboardEvent):
        * page/mac/FrameMac.mm:
        * platform/DeprecatedValueListImpl.cpp:
        (WebCore::DeprecatedValueListImpl::Private::Private):
        (WebCore::DeprecatedValueListImpl::DeprecatedValueListImpl):
        (WebCore::DeprecatedValueListImpl::copyOnWrite):
        * platform/graphics/FontSelector.h:
        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::GlyphPageTreeNode::initializePage):
        * platform/graphics/GlyphPageTreeNode.h:
        (WebCore::GlyphPage::create):
        (WebCore::GlyphPage::GlyphPage):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollToOffset):
        (WebCore::RenderLayer::updateOverflowStatus):
        (WebCore::RenderLayer::updateReflectionStyle):
        * rendering/style/RenderStyle.h:
        (WebCore::TransformOperation::~TransformOperation):
        (WebCore::ScaleTransformOperation::create):
        (WebCore::ScaleTransformOperation::ScaleTransformOperation):
        (WebCore::RotateTransformOperation::create):
        (WebCore::RotateTransformOperation::RotateTransformOperation):
        (WebCore::SkewTransformOperation::create):
        (WebCore::SkewTransformOperation::operator==):
        (WebCore::SkewTransformOperation::SkewTransformOperation):
        (WebCore::TranslateTransformOperation::create):
        (WebCore::TranslateTransformOperation::operator==):
        (WebCore::TranslateTransformOperation::TranslateTransformOperation):
        (WebCore::MatrixTransformOperation::create):
        (WebCore::MatrixTransformOperation::MatrixTransformOperation):
        (WebCore::StyleReflection::create):
        (WebCore::StyleReflection::StyleReflection):
        * storage/StorageEvent.cpp:
        (WebCore::StorageEvent::StorageEvent):
        (WebCore::StorageEvent::initStorageEvent):
        * storage/StorageEvent.h:
        (WebCore::StorageEvent::create):
        (WebCore::StorageEvent::StorageEvent):
        * svg/SVGAngle.cpp:
        (WebCore::SVGAngle::SVGAngle):
        * svg/SVGAngle.h:
        (WebCore::SVGAngle::create):
        * svg/SVGAnimatedTemplate.h:
        (WebCore::SVGAnimatedTemplate::SVGAnimatedTemplate):
        (WebCore::lookupOrCreateWrapper):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::sendSVGLoadEventIfPossible):
        * svg/SVGElement.h:
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::SVGMarkerElement):
        (WebCore::SVGMarkerElement::parseMappedAttribute):
        (WebCore::SVGMarkerElement::setOrientToAngle):
        * svg/SVGMarkerElement.h:
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::createSVGAngle):
        * svg/SVGSVGElement.h:
        * svg/SVGZoomEvent.h:
        (WebCore::SVGZoomEvent::create):
        * svg/graphics/SVGImage.cpp:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
        (WebCore::XMLHttpRequest::dispatchProgressEvent):
        * xml/XMLHttpRequestProgressEvent.cpp:
        * xml/XMLHttpRequestProgressEvent.h:
        (WebCore::XMLHttpRequestProgressEvent::create):
        (WebCore::XMLHttpRequestProgressEvent::position):
        (WebCore::XMLHttpRequestProgressEvent::totalSize):
        (WebCore::XMLHttpRequestProgressEvent::XMLHttpRequestProgressEvent):

2008-06-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

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

        Prevent external entities from loading across origins.

        Test: http/tests/security/xss-DENIED-xsl-external-entity.xml

        * dom/XMLTokenizer.cpp:
        (WebCore::shouldAllowExternalLoad):
        (WebCore::openFunc):

2008-06-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

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

        Allow loads of same-origin documents only.

        Test: http/tests/security/xss-DENIED-xsl-document.xml

        * xml/XSLTProcessor.cpp:
        (WebCore::docLoaderFunc):

2008-06-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Fixes <https://bugs.webkit.org/show_bug.cgi?id=15100>:
          XMLHttpRequest::urlMatchesDocumentDomain raises error if port
          information does not match exactly

        Refactor our security check for XMLHttpRequest into SecurityOrigin so
        we can reuse it in other places.  This leverages our default port
        technology in SecurityOrigin.

        I wasn't sure how to write a test for this because the LayoutTests run
        on non-default ports.

        * platform/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canRequest):
        * platform/SecurityOrigin.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::willSendRequest):
        * xml/XMLHttpRequest.h:

2008-06-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Removed unnecessary dependencies.

        * platform/SecurityOrigin.cpp:
        * platform/SecurityOrigin.h:

2008-06-13  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - added FormState argument to action policy functions

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkNewWindowPolicy):
        (WebCore::FrameLoader::checkNavigationPolicy):
        * loader/FrameLoaderClient.h:
        * svg/graphics/SVGImageEmptyClients.h:
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

2008-06-13  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Jess.

        <rdar://problem/5702248> Crash on Copy Image from the contextual menu on a broken image in Mail

        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::writeImage): Check to see the image loaded successfully
        before trying to put data for it on the Pasteboard.  Mail shouldn't really
        include the Copy Image menu item, but if it does and the user selects it,
        we shouldn't crash.

2008-06-11  Marc Ordinas i Llopis  <marc.ordinasillopis@collabora.co.uk>
        With help from Siraj Razick  <siraj.razick@collabora.co.uk>

        Reviewed by Simon.

        https://bugs.webkit.org/show_bug.cgi?id=19367
        [Qt] Plugins are drawn over the scrollbars

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::updateWindow): Call setMask on the
        QX11EmbedContainer to set the plugin clipping.

2008-06-12  Darin Adler  <darin@apple.com>

        - try to fix no-SVG build

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added a case for
        CSSPropertyWebkitMask.

2008-06-12  Darin Adler  <darin@apple.com>

        - try to fix Windows build

        * dom/Element.idl: Turn off ElementTraversal functions when generating COM.
        Not sure why they're failing, but turning them off for now seems OK.

2008-06-12  Adam Barth  <abarth@webkit.org>

        Rubberstamped by Maciej.

        Roll 34504 back in.

        Test: http/tests/xmlhttprequest/access-control-basic-allow-access-control-origin-header-data-url.html

        * platform/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::toString):

2008-06-11  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/5876370> Safari 3.1.1 bad rendering of pages from http://www.legifrance.gouv.fr/

        Tests: fast/parser/p-in-scope-strict.html
               fast/parser/p-in-scope.html

        * html/HTMLParagraphElement.h:
        (WebCore::HTMLParagraphElement::endTagRequirement): Changed to require
        an end tag. The explicit closing of one P element by another is now
        done in error checking, and therefore takes scope into account, allowing
        for <p><button><p>, for example.

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::HTMLParser): Initialize m_hasPElementInScope.
        (WebCore::isScopingTag): Added. Returns whether the given tag represents
        a scoping element as defined in HTML 5 section 8.2.3.2.
        (WebCore::HTMLParser::formCreateErrorCheck): Added a call to
        pCloserCreateErrorCheck().
        (WebCore::HTMLParser::ddCreateErrorCheck): Ditto.
        (WebCore::HTMLParser::dtCreateErrorCheck): Ditto.
        (WebCore::HTMLParser::nestedPCloserCreateErrorCheck): Added for use with
        <li>, which both closes P elements in scope and any previous LI.
        (WebCore::HTMLParser::pCloserCreateErrorCheck): Added. If there is a P
        element in scope, acts as if a </p> tag was seen.
        (WebCore::HTMLParser::pCloserStrictCreateErrorCheck): Ditto, but only
        in strict mode. Used for <table>.
        (WebCore::HTMLParser::getNode): Added entries for tags that close a P
        element in scope.
        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added
        code to reset m_hasPElementInScope.
        (WebCore::HTMLParser::pushBlock): Added code to update
        m_hasPElementInScope.
        (WebCore::HTMLParser::popOneBlockCommon): Ditto.
        (WebCore::HTMLParser::checkIfHasPElementInScope): Added. Updates
        m_hasPElementInScope.

        * html/HTMLParser.h:
        (WebCore::HTMLParser::hasPElementInScope): Added. Calls
        checkIfHasPElementInScope() if needed and returns whether there
        is a P element in scope.

2008-06-11  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

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

        Update the security context of a document after calling document.open
        or document.write.  Basically, when a script open()s a document, the
        document gains the security context of the script.  Our implementation
        now matches Firefox 3 on all these tests.

        Tests: http/tests/security/aboutBlank/security-context-alias.html
               http/tests/security/aboutBlank/security-context-grandchildren-alias.html
               http/tests/security/aboutBlank/security-context-grandchildren.html
               http/tests/security/aboutBlank/security-context-window-open.html
               http/tests/security/aboutBlank/security-context-with-base-tag.html
               http/tests/security/aboutBlank/security-context-write.html
               http/tests/security/aboutBlank/security-context-writeln.html
               http/tests/security/aboutBlank/security-context.html
               http/tests/security/cookies/document-open.html

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::createWindow):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::open):
        (WebCore::JSHTMLDocument::write):
        (WebCore::JSHTMLDocument::writeln):
        * dom/Document.cpp:
        (WebCore::Document::open):
        (WebCore::Document::write):
        (WebCore::Document::writeln):
        * dom/Document.h:

2008-06-11  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

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

        Compute the cookie context at the same time as the SecurityOrigin.

        Tests: http/tests/security/cookies/create-document.html
               http/tests/security/cookies/xmlhttprequest.html

        * dom/Document.cpp:
        (WebCore::Document::cookie):
        (WebCore::Document::initSecurityOrigin):
        * dom/Document.h:
        * platform/SecurityOrigin.cpp:
        * platform/SecurityOrigin.h:

2008-06-11  Adam Barth  <abarth@webkit.org>

        Reviewed and tweaked by Sam Weinig.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=19242
        Data URLs should set an Access-Control-Origin of "null"

        Correctly generate "null" as the value of the Access-Control-Origin
        header for cross-site XMLHttpRequests for data URLs.

        Test: http/tests/xmlhttprequest/access-control-basic-allow-access-control-origin-header-data-url.html

        * platform/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::toString):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::accessControlOrigin):
        (WebCore::XMLHttpRequest::crossSiteAccessRequest):
        (WebCore::XMLHttpRequest::handleAsynchronousMethodCheckResult):
        * xml/XMLHttpRequest.h:

2008-06-11  Sam Weinig  <sam@webkit.org>

        Reviewed by Adam Roben.

        Add support for "*" wildcarding for Access-Control.

        Test: http/tests/xmlhttprequest/access-control-basic-allow-star.html

        * xml/AccessItem.cpp:
        (WebCore::AccessItem::AccessItem):
        (WebCore::AccessItem::parseAccessItem):
        (WebCore::AccessItem::matches):

2008-06-11  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Eric.

        <https://bugs.webkit.org/show_bug.cgi?id=19455>
        Crash at RenderObject::childAt during JustifyCenter

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): Added a FIXME.
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphs): If we're removing a line
        break that consists of a single '\n' in a text node by itself, remove
        the whole text node instead of just emptying it out.
        * editing/Selection.cpp:
        (WebCore::Selection::validate): Added a FIXME about canonicalizing
        to positions that aren't candidates.
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::nodeWillBeRemoved): When the base and/or
        extent are about to be removed but the start and end aren't, change the 
        base and extent to the start and end, but don't re-validate the selection, 
        since doing so could move the start and end into the node that is about 
        to be removed.

2008-06-11  Gregory Hughes  <ghughes@apple.com>

        Reviewed by David Harrison.

        <rdar://problem/5990049> AXTextMarker bytes getting messed up when getting AXTextMarkerRangeForUnorderedTextMarkersParameterizedAttribute

        * page/mac/AccessibilityObjectWrapper.mm:
        (textMarkerForVisiblePosition):

2008-06-11  Adriaan de Groot  <groot@kde.org>

        Reviewed by Simon.

        Fix compilation with Sun Studio 12

        It seems like the compiler instantiates a different template version. I.e.,
        instead of parseUASheet<char [nnnn]>, it's probably instantiating
        parseUASheet<char *>, which then passes 4 or 8 as the size value.

        * css/CSSStyleSelector.cpp:
        (WebCore::loadDefaultStyle):
        (WebCore::CSSStyleSelector::styleForElement):

2008-06-11  Benjamin Meyer  <bmeyer@trolltech.com>

        Reviewed by Simon.

        Fixed a crash when a slot connect to QWebPage::unsupportedContent would show a
        modal dialog with an event loop.

        We have a queued connection to various signals in the QNetworkReply, for which
        it can happen that after releasing the QNetworkReply and disconnecting from it
        a slot connected to one of the signals may still be called due to a posted
        MetaCall event due to the queued connections. This patch removes the posted
        events explicitly, fixes the coding style a bit and makes sure the same happens
        when abort() is called.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::abort):
        (WebCore::QNetworkReplyHandler::release):
        * platform/network/qt/QNetworkReplyHandler.h:

2008-06-10  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fix. Reorder include dirs so that WebCore/html/HTMLElementFactory.h
        appears before WebCore/DerivedSources/HTMLElementFactory.h. (See note in commit
        for more details. This is probably not the right fix, but this will get us building
        until the right fix is in place.)

        * webcore-base.bkl:

2008-06-10  Eric Seidel  <eric@webkit.org>

        Reviewed by mjs.

        Fix disconnected event listener crasher
        m_disconnectedNodesWithEventListeners not updated when nodes adopted
        https://bugs.webkit.org/show_bug.cgi?id=19451

        I failed to find a way to make this crash DRT, I can crash Debug Safari consistently.

        * dom/EventTarget.cpp:
        (WebCore::EventTarget::willMoveToNewOwnerDocument):
        (WebCore::EventTarget::didMoveToNewOwnerDocument):
        * dom/EventTarget.h:
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
        (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
        * dom/EventTargetNode.h:

2008-06-10  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric.

        Part of bug 19200: *.in files should embed more information
        https://bugs.webkit.org/show_bug.cgi?id=19200

        Move more parameters to the XML files.

        * dom/make_names.pl:
        * html/HTMLAttributeNames.in:
        * html/HTMLTagNames.in:
        * svg/svgattrs.in:
        * svg/svgtags.in:

2008-06-09  Dan Bernstein  <mitz@apple.com>

        Reviewed by Justin Garcia.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19443
          <rdar://problem/5994544> REGRESSION (r32531-r32652): Moving the insertion point past a newline inserted in a text area skips the next character

        Tests added to editing/selection/move-left-right.html

        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): When falling
        back from visual to logical movement, restart at the original position
        rather than an intermediate position.
        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Ditto.

2008-06-07  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Maciej.

        Windows build fix.

        * platform/graphics/win/QTMovieWin.cpp:
        (initializeSupportedTypes):

2008-06-07  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin Adler.

        Part of bug 19200: *.in files should embed more information
        https://bugs.webkit.org/show_bug.cgi?id=19200

        - Added a parameters hash that will hold the parameters we used to give in the
        command line.

        - Added "tags" / "attrs" XML tag parsing to fill the parameters hash.

        - Moved namespace, namespaceURI, namespacePrefix and cppNamespace in the *.in
        files.

        * dom/make_names.pl:
        * html/HTMLAttributeNames.in:
        * html/HTMLTagNames.in:
        * svg/svgattrs.in:
        * svg/svgtags.in:
        * svg/xlinkattrs.in:
        * xml/xmlattrs.in:

2008-06-09  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon

        Use the text color from QStyle when styling form elements.

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

2008-06-09  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Darin.

        Incorporated Darin's comments to bug 18965.

        * rendering/RenderTheme.cpp:

2008-06-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Inherit document.URL from parent's document.URL, not document.baseURI.

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

        Tests: http/tests/security/cookies/assign-document-url.html
               http/tests/security/cookies/base-about-blank.html
               http/tests/security/cookies/base-tag.html
               http/tests/security/cookies/basic.html

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

2008-06-08  Kevin Ollivier  <kevino@theolliviers.com>

        Reviewed by Darin Adler.

        Fix font asserts in wx port. Our computeHash function should generate the same hash
        for two identical fonts which are different objects, which it wasn't doing before.
        
        https://bugs.webkit.org/show_bug.cgi?id=19310

        * platform/graphics/wx/FontPlatformData.h:
        (WebCore::FontPlatformData::computeHash):

2008-06-08  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix <rdar://problem/5961977> Crash in RenderBlock::layoutColumns()

        Test: fast/multicol/content-height-zero-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutColumns): Changed to not keep creating
        overflow columns that have zero height, because they do not help with
        fitting content in.

2008-06-08  Adam Roben  <aroben@apple.com>

        Fix Bug 18837: Database panel fails to display tables if any value is
        NULL

        <https://bugs.webkit.org/show_bug.cgi?id=18837>

        Reviewed by Darin Adler.

        Test: manual-tests/inspector/display-sql-null.html

        * manual-tests/inspector/display-sql-null.html: Added.
        * page/inspector/DatabasesPanel.js:
        (WebInspector.DatabasesPanel.prototype.dataGridForResult): Convert all
        objects to strings before operating on them.

2008-06-08  Adam Roben  <aroben@apple.com>

        Fix Bug 19438: Transaction errors are never displayed in database
        query view

        <https://bugs.webkit.org/show_bug.cgi?id=19438>

        Reviewed by Darin Adler.

        Test: manual-tests/inspector/display-sql-transaction-error.html

        * manual-tests/inspector/display-sql-transaction-error.html: Added.
        * page/inspector/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView.prototype._enterKeyPressed): Use
        _executeSqlError as the error callback for executeSql.
        (WebInspector.DatabaseQueryView.prototype._queryError): Changed to
        only take two parameters. This matches what we'll be passed if
        db.transaction fails.
        (WebInspector.DatabaseQueryView.prototype._executeSqlError): Added.
        Calls through to _queryError.

2008-06-08  Dirk Schulze  <vbs85@gmx.de>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=18840
        [CAIRO] Clipping-support for SVG

        Support for clipping in SVG/Cairo and fixes transformation of paths.

        * platform/graphics/cairo/PathCairo.cpp:
        (WebCore::Path::transform):
        * svg/graphics/cairo/SVGResourceClipperCairo.cpp:
        (WebCore::SVGResourceClipper::applyClip):

2008-06-08  Dirk Schulze  <vbs85@gmx.de>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=18663
        Add text-stroke support to Cairo.

        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs):

2008-06-08  Vincent Ricard  <magic@magicninja.org>

        Reviewed by Darin.

        https://bugs.webkit.org/show_bug.cgi?id=16489
        WebKit does not support ElementTraversal specification

        Tests: fast/dom/Element/element-traversal.html

        * dom/Element.cpp:
        (WebCore::Element::firstElementChild):
        (WebCore::Element::lastElementChild):
        (WebCore::Element::previousElementSibling):
        (WebCore::Element::nextElementSibling):
        (WebCore::Element::childElementCount):
        * dom/Element.h:
        * dom/Element.idl:

2008-06-08  Bradley Meck  <genisis329@gmail.com>

        Reviewed by Darin.

        - fix https://bugs.webkit.org/show_bug.cgi?id=17051
          safari should treat "url()" as a valid CSS value

        Test: fast/css/invalid-cursor-property-crash.html

        Changed check for empty url() to be a check for null since url() is valid
        CSS even if it is empty.

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

2008-06-08  Vincent Ricard  <magic@magicninja.org>

        Reviewed by Darin.

        Bug 18041: DOMNodeRemoved events are sent twice

        Test: fast/dom/Node/DOMNodeRemovedEvent.html

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

2008-06-08  Tony Chang  <idealisms@gmail.com>

        Reviewed by Eric Seidel.

        - fix https://bugs.webkit.org/show_bug.cgi?id=18167
          there should be no text-drag delay on any platform except for Mac

        Move the drag text delay value into the platform specific files.

        Test: editing/selection/drag-text-delay.html

        * page/EventHandler.cpp:
        * page/EventHandler.h:
        * page/gtk/EventHandlerGtk.cpp:
        * page/mac/EventHandlerMac.mm:
        * page/qt/EventHandlerQt.cpp:
        * page/win/EventHandlerWin.cpp:
        * page/wx/EventHandlerWx.cpp:

2008-06-08  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        - fix https://bugs.webkit.org/show_bug.cgi?id=18512
          getPresentationAttribute returns a shared object

        Test: svg/custom/getPresentationAttribute-modify.svg

        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::getPresentationAttribute): Unshare the mapped style
        declaration if it is shared before returning the presentation attribute.

2008-06-08  Alp Toker  <alp@nuanti.com>

        autotools/GTK+ build system cleanup. Don't include WebKit API in the
        WebCore build as it's no longer needed since r34426.

        * GNUmakefile.am:

2008-06-08  Jonathan Haas <myrdred@gmail.com>

        Reviewed by Eric Seidel.
        Tweaked by Darin while landing to make it compile.

        - fix http://bugs.webkit.org/show_bug.cgi?id=19128
          SVG fonts don't work with medial Arabic characters

        Haven't figured out a way to make an automated test for this.

        * svg/SVGGlyphElement.h: Made arabicForm unsigned so it fits into
        its 3-bit field. Did the same for orientation's 2-bit field.

        * svg/SVGFont.cpp: Did a bit of minor tweaking.
        (WebCore::isCompatibleArabicForm): Added a cast to avoid a warning
        since the type is now different.

2008-06-08  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Antti.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19299
          <rdar://problem/5969392>

        Generate the media MIME type list dynamically.

        * platform/graphics/win/QTMovieWin.cpp:
        (initializeSupportedTypes):

2008-06-08  Christian Persch  <chpe@gnome.org>

        Reviewed by Darin.

        - https://bugs.webkit.org/show_bug.cgi?id=19309
          uninitialised variable in PluginView

        * plugins/PluginView.cpp:
        (WebCore::PluginView::PluginView): Initialise the NPP's pdata member to 0.

2008-06-08  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - https://bugs.webkit.org/show_bug.cgi?id=19435
          fix warning in PluginDebug.h

        * plugins/PluginDebug.h: Don't compile the errorStrings array if LOG_DISABLED is set.

2008-06-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19431
          <rdar://problem/5994060> REGRESSION (r32406): tabs retain hover color after mouse out

        Covered by fast/css/remove-shorthand.html

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::initShorthandMap): Fixed a typo which mapped the background
        shorthand to the mask properties.

2008-06-07  Brent Fulgham  <bfulgham@gmail.com>

        Cairo build fix for r34432

        * html/CanvasPattern.cpp:
        (WebCore::CanvasPattern::CanvasPattern):

2008-06-07  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - work on https://bugs.webkit.org/show_bug.cgi?id=17257
          start ref counts at 1 instead of 0 for speed

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::toHTMLCanvasStyle):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
        (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
        * bindings/js/JSNodeFilterCondition.h:
        (WebCore::JSNodeFilterCondition::create):
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::toNodeFilter):
        * bindings/js/JSSVGLazyEventListener.h:
        (WebCore::JSSVGLazyEventListener::create):
        * bindings/js/JSSVGMatrixCustom.cpp:
        (WebCore::JSSVGMatrix::multiply):
        (WebCore::JSSVGMatrix::inverse):
        (WebCore::JSSVGMatrix::translate):
        (WebCore::JSSVGMatrix::scale):
        (WebCore::JSSVGMatrix::scaleNonUniform):
        (WebCore::JSSVGMatrix::rotate):
        (WebCore::JSSVGMatrix::rotateFromVector):
        (WebCore::JSSVGMatrix::flipX):
        (WebCore::JSSVGMatrix::flipY):
        (WebCore::JSSVGMatrix::skewX):
        (WebCore::JSSVGMatrix::skewY):
        * bindings/js/JSSVGPODTypeWrapper.h:
        (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::create):
        (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::JSSVGPODTypeWrapperCreatorReadWrite):
        (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::create):
        (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::JSSVGPODTypeWrapperCreatorReadOnly):
        (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
        (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
        (WebCore::JSSVGPODTypeWrapperCache::lookupOrCreateWrapper):
        (WebCore::JSSVGPODTypeWrapperCache::forgetWrapper):
        * bindings/js/JSSVGPointListCustom.cpp:
        (WebCore::commonExit):
        (WebCore::commonExitReadOnly):
        (WebCore::JSSVGPointList::initialize):
        (WebCore::JSSVGPointList::getItem):
        (WebCore::JSSVGPointList::insertItemBefore):
        (WebCore::JSSVGPointList::replaceItem):
        (WebCore::JSSVGPointList::removeItem):
        (WebCore::JSSVGPointList::appendItem):
        * bindings/js/JSSVGTransformListCustom.cpp:
        (WebCore::JSSVGTransformList::initialize):
        (WebCore::JSSVGTransformList::getItem):
        (WebCore::JSSVGTransformList::insertItemBefore):
        (WebCore::JSSVGTransformList::replaceItem):
        (WebCore::JSSVGTransformList::removeItem):
        (WebCore::JSSVGTransformList::appendItem):
        * bindings/js/kjs_binding.cpp:
        (WebCore::setDOMException):
        * bindings/js/kjs_events.h:
        (WebCore::JSUnprotectedEventListener::create):
        (WebCore::JSEventListener::create):
        (WebCore::JSLazyEventListener::create):
        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::createHTMLEventHandler):
        (WebCore::KJSProxy::createSVGEventHandler):
        * bindings/objc/DOM.mm:
        (WebCore::ObjCNodeFilterCondition::create):
        (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition):
        (WebCore::ObjCNodeFilterCondition::acceptNode):
        (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
        (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
        * bindings/scripts/CodeGeneratorJS.pm:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForNinePieceImage):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSFontFace.h:
        (WebCore::CSSFontFace::create):
        (WebCore::CSSFontFace::CSSFontFace):
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseDashboardRegions):
        (WebCore::CSSParser::parseCounterContent):
        (WebCore::CSSParser::parseShape):
        (WebCore::BorderImageParseContext::commitBorderImage):
        * css/CSSSegmentedFontFace.cpp:
        (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
        * css/CSSSegmentedFontFace.h:
        (WebCore::CSSSegmentedFontFace::create):
        * css/Counter.h:
        (WebCore::Counter::create):
        (WebCore::Counter::Counter):
        * css/DashboardRegion.h:
        (WebCore::DashboardRegion::create):
        (WebCore::DashboardRegion::DashboardRegion):
        * css/Rect.h:
        (WebCore::Rect::create):
        (WebCore::Rect::Rect):
        * dom/ChildNodeList.h:
        (WebCore::ChildNodeList::create):
        * dom/ClassNodeList.h:
        (WebCore::ClassNodeList::create):
        * dom/Clipboard.h:
        * dom/DOMCoreException.h:
        (WebCore::DOMCoreException::create):
        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::instance):
        * dom/DOMImplementation.h:
        (WebCore::DOMImplementation::DOMImplementation):
        * dom/Document.cpp:
        (WebCore::Document::addWindowEventListener):
        (WebCore::Document::removeWindowEventListener):
        (WebCore::Document::setDecoder):
        (WebCore::Document::images):
        (WebCore::Document::applets):
        (WebCore::Document::embeds):
        (WebCore::Document::plugins):
        (WebCore::Document::objects):
        (WebCore::Document::scripts):
        (WebCore::Document::links):
        (WebCore::Document::forms):
        (WebCore::Document::anchors):
        (WebCore::Document::all):
        (WebCore::Document::windowNamedItems):
        (WebCore::Document::documentNamedItems):
        * dom/Document.h:
        * dom/DynamicNodeList.h:
        * dom/EventException.h:
        (WebCore::EventException::create):
        (WebCore::EventException::EventException):
        * dom/EventListener.h:
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::addEventListener):
        (WebCore::EventTarget::removeEventListener):
        * dom/ExceptionBase.cpp:
        (WebCore::ExceptionBase::ExceptionBase):
        * dom/ExceptionBase.h:
        * dom/NameNodeList.h:
        (WebCore::NameNodeList::create):
        * dom/Node.cpp:
        (WebCore::Node::childNodes):
        (WebCore::Node::getElementsByTagNameNS):
        (WebCore::Node::getElementsByName):
        (WebCore::Node::getElementsByClassName):
        (WebCore::Node::querySelectorAll):
        * dom/NodeFilterCondition.h:
        * dom/NodeList.h:
        * dom/RangeException.h:
        (WebCore::RangeException::create):
        (WebCore::RangeException::RangeException):
        * dom/RegisteredEventListener.h:
        (WebCore::RegisteredEventListener::create):
        * dom/SelectorNodeList.cpp:
        (WebCore::createSelectorNodeList):
        * dom/SelectorNodeList.h:
        * dom/StaticNodeList.cpp:
        (WebCore::StaticNodeList::StaticNodeList):
        * dom/StaticNodeList.h:
        (WebCore::StaticNodeList::adopt):
        * dom/TagNodeList.h:
        (WebCore::TagNodeList::create):
        * history/HistoryItem.cpp:
        (WebCore::defaultNotifyHistoryItemChanged):
        (WebCore::HistoryItem::HistoryItem):
        (WebCore::HistoryItem::copy):
        * history/HistoryItem.h:
        (WebCore::HistoryItem::create):
        * html/CanvasGradient.h:
        * html/CanvasPattern.cpp:
        (WebCore::CanvasPattern::CanvasPattern):
        * html/CanvasPattern.h:
        (WebCore::CanvasPattern::create):
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::State::State):
        (WebCore::CanvasRenderingContext2D::setStrokeColor):
        (WebCore::CanvasRenderingContext2D::setFillColor):
        (WebCore::CanvasRenderingContext2D::createPattern):
        * html/CanvasStyle.cpp:
        (WebCore::CanvasStyle::CanvasStyle):
        * html/CanvasStyle.h:
        (WebCore::CanvasStyle::create):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::HTMLCollection):
        (WebCore::HTMLCollection::create):
        * html/HTMLCollection.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::children):
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::create):
        * html/HTMLFormCollection.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::elements):
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::areas):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::load):
        (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
        (WebCore::HTMLMediaElement::willSaveToCache):
        * html/HTMLNameCollection.h:
        (WebCore::HTMLNameCollection::create):
        * html/HTMLOptionsCollection.cpp:
        (WebCore::HTMLOptionsCollection::create):
        * html/HTMLOptionsCollection.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::options):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::rows):
        (WebCore::HTMLTableElement::tBodies):
        * html/HTMLTableRowElement.cpp:
        (WebCore::HTMLTableRowElement::cells):
        * html/HTMLTableRowsCollection.cpp:
        (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
        (WebCore::HTMLTableRowsCollection::create):
        * html/HTMLTableRowsCollection.h:
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::rows):
        * html/MediaError.h:
        (WebCore::MediaError::create):
        (WebCore::MediaError::MediaError):
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::ensureSVGFontData):
        * loader/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::write):
        (WebCore::FrameLoader::createHistoryItem):
        * loader/ImageDocument.cpp:
        (WebCore::ImageEventListener::create):
        (WebCore::ImageEventListener::ImageEventListener):
        (WebCore::ImageDocument::createDocumentStructure):
        * loader/TextResourceDecoder.h:
        (WebCore::TextResourceDecoder::create):
        * page/Page.cpp:
        (WebCore::Page::userStyleSheet):
        * svg/SVGException.h:
        (WebCore::SVGException::create):
        (WebCore::SVGException::SVGException):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::ConditionEventListener::create):
        (WebCore::ConditionEventListener::ConditionEventListener):
        (WebCore::SVGSMILElement::connectConditions):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::didReceiveData):
        * xml/XMLHttpRequestException.h:
        (WebCore::XMLHttpRequestException::create):
        (WebCore::XMLHttpRequestException::XMLHttpRequestException):
        * xml/XPathException.h:
        (WebCore::XPathException::create):
        (WebCore::XPathException::XPathException):
        * xml/XPathResult.cpp:
        (WebCore::InvalidatingEventListener::create):
        (WebCore::InvalidatingEventListener::InvalidatingEventListener):
        (WebCore::XPathResult::XPathResult):
        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource):

2008-06-07  Christian Dywan  <christian@twotoasts.de>

        Reviewed by Alp Toker.

        https://bugs.webkit.org/show_bug.cgi?id=17324
        Remove PLATFORM ifdefs from ContextMenu.cpp

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):

2008-06-07  Eric Seidel  <eric@webkit.org>

        Reviewed by ap.

        Still more CSSParser cleanup
        - use c++ style member initializers in CSSParser()
        - change m_styleElement to m_styleSheet and make it a CSSStyleSheet
        - finally add my copyright to the files I've been cleaning

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::setupParser):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::parseDeclaration):
        (WebCore::CSSParser::parseContent):
        (WebCore::CSSParser::parseFillImage):
        (WebCore::CSSParser::parseFontFaceSrc):
        (WebCore::CSSParser::parseBorderImage):
        (WebCore::CSSParser::createCharsetRule):
        (WebCore::CSSParser::createImportRule):
        (WebCore::CSSParser::createMediaRule):
        (WebCore::CSSParser::createStyleRule):
        * css/CSSParser.h:
        * css/SVGCSSParser.cpp:

2008-06-07  Eric Seidel  <eric@webkit.org>

        Reviewed by ap.

        More CSSParser cleanup
        - rename CSSParser::id to m_id
        - rename CSSParser::data to m_data
        - fix a few whitespace and argument name issues

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::~CSSParser):
        (WebCore::CSSParser::setupParser):
        (WebCore::CSSParser::parseValue):
        * css/CSSParser.h:

2008-06-07  Eric Seidel  <eric@webkit.org>

        Reviewed by ap.

        Rename CSSParser::strict to m_strict

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseBackgroundColor):
        (WebCore::CSSParser::parseFillPositionXY):
        (WebCore::CSSParser::parseFillSize):
        (WebCore::CSSParser::parseTransitionDuration):
        (WebCore::CSSParser::parseTransitionRepeatCount):
        (WebCore::CSSParser::parseTimingFunctionValue):
        (WebCore::CSSParser::parseDashboardRegions):
        (WebCore::CSSParser::parseShape):
        (WebCore::CSSParser::parseFont):
        (WebCore::CSSParser::parseColorFromValue):
        (WebCore::CSSParser::parseShadow):
        (WebCore::CSSParser::parseReflect):
        (WebCore::CSSParser::parseBorderImage):
        * css/CSSParser.h:

2008-06-07  Eric Seidel  <eric@webkit.org>

        Reviewed by ap.

        Rename CSSParser::defaultNamespace to m_defaultNamespace

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::parseSheet):
        * css/CSSParser.h:
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::addNamespace):

2008-06-07  Eric Seidel  <eric@webkit.org>

        Reviewed by ap.

        Rename CSSParser::important to m_important

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFontFaceSrc):
        (WebCore::CSSParser::parseFontFaceUnicodeRange):
        * css/CSSParser.h:

2008-06-07  Eric Seidel  <eric@webkit.org>

        Reviewed by ap.

        Rename CSSParser::rule to m_rule

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseSheet):
        (WebCore::CSSParser::parseRule):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::parseDeclaration):
        * css/CSSParser.h:

2008-06-07  Eric Seidel  <eric@webkit.org>

        Reviewed by ap.

        Yet another cleanup patch for CSSParser
        Rename CSSParser::valueList to m_valueList

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::~CSSParser):
        (WebCore::CSSParser::checkForOrphanedUnits):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFillShorthand):
        (WebCore::CSSParser::parseTransitionShorthand):
        (WebCore::CSSParser::parseShorthand):
        (WebCore::CSSParser::parse4Values):
        (WebCore::CSSParser::parseContent):
        (WebCore::CSSParser::parseFillImage):
        (WebCore::CSSParser::parseFillPositionXY):
        (WebCore::CSSParser::parseFillPosition):
        (WebCore::CSSParser::parseFillSize):
        (WebCore::CSSParser::parseFillProperty):
        (WebCore::CSSParser::parseTransitionProperty):
        (WebCore::CSSParser::parseDashboardRegions):
        (WebCore::CSSParser::parseShape):
        (WebCore::CSSParser::parseFont):
        (WebCore::CSSParser::parseFontFamily):
        (WebCore::CSSParser::parseFontFaceSrc):
        (WebCore::CSSParser::parseFontFaceUnicodeRange):
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::parseShadow):
        (WebCore::CSSParser::parseReflect):
        (WebCore::BorderImageParseContext::commitBorderImage):
        (WebCore::CSSParser::parseBorderImage):
        (WebCore::CSSParser::parseCounter):
        (WebCore::CSSParser::parseGradient):
        (WebCore::CSSParser::parseCanvas):
        (WebCore::CSSParser::parseTransform):
        (WebCore::CSSParser::parseTransformOrigin):
        * css/CSSParser.h:
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        (WebCore::CSSParser::parseSVGStrokeDasharray):
        (WebCore::CSSParser::parseSVGPaint):
        (WebCore::CSSParser::parseSVGColor):

2008-06-07  Eric Seidel  <eric@webkit.org>

        Reviewed by ap.

        More cleanup to CSSParser, rename mediaQuery to m_mediaQuery
        Remove CSSParser::current and CSSParser::currentParser and use
        the magic of YYLEX_PARAM instead.

        * css/CSSParser.cpp:
        (WebCore::enterGeneratedParser):
        (WebCore::CSSParser::parseSheet):
        (WebCore::CSSParser::parseRule):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::parseDeclaration):
        (WebCore::CSSParser::parseMediaQuery):
        * css/CSSParser.h:

2008-06-07  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric.

        Part of bug 19200: *.in files should embed more information
        https://bugs.webkit.org/show_bug.cgi?id=19200

        - Added XML attributes' parsing.

        - Moved (most) capitalization and audio hacks in the *.in files.

        * dom/make_names.pl:
        * html/HTMLTagNames.in:
        * svg/svgtags.in:

2008-06-07  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>

        With the help of Jonathon Jongsma.

        Reviewed by Dan Bernstein.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=19279
        REGRESSION (r32660): Text not redrawn correctly when selection changes

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        Add a condition for when ePos <= sPos 

2008-06-06  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric.

        Part of bug 19200: *.in files should embed more information
        https://bugs.webkit.org/show_bug.cgi?id=19200

        - Switched *.in files to XML format.

        - Added (simple) parsing facilities in make_names.pl using the XML::Tiny Perl parser.

        - Updated the build systems to include bindings/scripts when executing make_names.pl
        (for XMLTiny dependency).

        - Cleaned-up make_names.pl a little.

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * bindings/scripts/XMLTiny.pm: Added.
        * dom/make_names.pl:
        * html/HTMLAttributeNames.in:
        * html/HTMLTagNames.in:
        * svg/svgattrs.in:
        * svg/svgtags.in:
        * svg/xlinkattrs.in:
        * xml/xmlattrs.in:

2008-06-06  Robert Blaut  <webkit@blaut.biz>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=19407 
        CSS3 Selector Test: *= ~= ^= $= should all accept the empty string, but match nothing

        Test: fast/css/begin-end-contain-selector-empty-value.html

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

2008-06-06  Eric Seidel  <eric@webkit.org>

        Reviewed by mitz.

        More cleanup of CSSParser.
        Rename CSSParser::numParsedProperties and maxNumParsedProperites to m_*

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::parseDeclaration):
        (WebCore::CSSParser::addProperty):
        (WebCore::CSSParser::rollbackLastProperties):
        (WebCore::CSSParser::clearProperties):
        (WebCore::CSSParser::parse4Values):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::createFontFaceRule):
        * css/CSSParser.h:
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):

2008-06-06  Eric Seidel  <eric@webkit.org>

        Reviewed by mitz.

        More cleanup of CSSParser.
        Rename CSSParser::parsedProperties to m_parsedProperties.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::~CSSParser):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::parseDeclaration):
        (WebCore::CSSParser::addProperty):
        (WebCore::CSSParser::rollbackLastProperties):
        (WebCore::CSSParser::clearProperties):
        (WebCore::CSSParser::parse4Values):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::createFontFaceRule):
        * css/CSSParser.h:
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):

2008-06-06  Eric Seidel  <eric@webkit.org>

        Reviewed by mitz.

        Start the cleanup of CSSParser.
        Rename CSSParser::styleElement to CSSParser::m_styleElement

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::document):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseContent):
        (WebCore::CSSParser::parseFillImage):
        (WebCore::CSSParser::parseFontFaceSrc):
        (WebCore::CSSParser::parseBorderImage):
        (WebCore::CSSParser::createCharsetRule):
        (WebCore::CSSParser::createImportRule):
        (WebCore::CSSParser::createMediaRule):
        (WebCore::CSSParser::createStyleRule):
        * css/CSSParser.h:

2008-06-06  Anthony Ricaud  <rik24d@gmail.com>

        Reviewed by adele.  Landed by eseidel.

        https://bugs.webkit.org/show_bug.cgi?id=18337
        
        Calls listBoxOnChange() in typeAheadFind() when the <select> tag is a listBox.
        
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::typeAheadFind):

2008-06-05  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by John.

        <rdar://problem/5890684> REGRESSION(r23969): Deleting a line break changes the style of text after the break
        
        Serialization of font-family:-webkit-monospace when it came from a 
        CSSMutableStyleDeclaration would wrap the value in single quotes but 
        serialization of the same property value pair from a CSSComputedStyleDeclaration 
        wouldn't, which kept code that checked for and removed non-redundant styles from 
        style spans from working correctly.

        A redundant style left on a style span would not normally create a rendering 
        difference, but it did in this case because an element with 
        font-family:-webkit-monospace does not appear to inherit font-size.  
        Added a FIXME about how we might need to keep font-size on a style span if its 
        non-redundant styles include font-family:-webkit-monospace, although I couldn't 
        create a test case to produce this scenario.

        * css/FontFamilyValue.cpp:
        (WebCore::isValidCSSIdentifier): Don't return false if the String starts
        with a '-'.  This function now appears identical to isCSSTokenizerIdentifier,
        so perhaps we should use a single function.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::handleStyleSpans): Added FIXME.  Removed the
        creation of two Strings that were never used.

2008-06-06  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin.

        <https://bugs.webkit.org/show_bug.cgi?id=19087>
        Editing crash in IndentOutdentCommand::prepareBlockquoteLevelForInsertion, ASSERT in debug mode

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): applyStyle
        can destroy insertedPlaceholder if it needs to move it, but it will set an
        endingSelection() at [movedPlaceholder, 0] if it does so.  Re-fetch insertedPlaceholder
        if that happens.  The long term solution for these crashes is to make moveParagraphs
        not copy/destroy/move content, and to make VisiblePositions update themselves on DOM 
        mutations.
        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::indentRegion): Early return to avoid crashes like this
        in the future, but ASSERT to catch them in debug builds.

2008-06-05  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Eric.

        <https://bugs.webkit.org/show_bug.cgi?id=19403>
        ASSERT in InsertIntoTextNodeCommand::InsertIntoTextNodeCommand during RemoveFormat call

        * editing/RemoveFormatCommand.cpp:
        (WebCore::RemoveFormatCommand::doApply): If the selection was all
        formatting (like an empty list) the format-less text will be empty.
        Early return to avoid the ASSERT that fires if input(...) is called
        with an empty String.

2008-06-05  Alp Toker  <alp@nuanti.com>

        Build fix for r34387.

        * GNUmakefile.am:

2008-06-05  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Eric.

        <https://bugs.webkit.org/show_bug.cgi?id=19089> Editing ASSERT in Range::compareBoundaryPoints
        
        ApplyStyleCommand::applyInlineStyle does some work and then checks to see
        if the start offset of the Range it's operating on is now past the caretMaxOffset
        of the start container.  If it is, applyInlineStyle updates the position to 
        [startContainer->traverseNextNode(), 0] and then operates on that new start
        position.
        
        caretMaxOffset was incorrect for horizontal rules.  It should be 1 and it was 0.  So,
        if the horizontal rule was the last node in the document, applyInlineStyle would update
        its start position to [0, 0] and then try to operate on that position, assuming it was
        non-null, leading to the ASSERT.
        
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::caretMaxOffset):

2008-06-05  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/5947396> AccessibilityListBoxOptions should return their string as AXValue, not AXTitle

        * page/AccessibilityListBoxOption.cpp:
        (WebCore::AccessibilityListBoxOption::stringValue):
        * page/AccessibilityListBoxOption.h:

2008-06-05  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Harrison.

        <rdar://problem/5658933> GoogleDocs: Crash indenting a particular selection twice
        <rdar://problem/5831310> CrashTracer: [USER] 4 crashes in Mail at WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion
        <rdar://problem/5480141> GoogleDocs: Attempting to indent content in <td> closes <table> element
        
        A crash would occur when indenting a selection that started just before a table
        and ended inside that table.  With a selection like this, we'd indent the entire
        table, then try and indent paragraphs inside it, but the stored position for the
        next paragraph to indent was inside content that had been removed from the document 
        during the first Indent.
        
        Fixed the crash adjusting the selection to perform the indent on to prepare it
        for paragraph iteration using selectionForParagraphIteration.  We do this adjustment
        for paragraph iteration in InsertList as well.
        
        Also, indenting paragraphs inside table cells would break table structure because 
        we were splitting the DOM all the way up to the root editable element to insert
        a blockquote.  Fixed this by only splitting up to the enclosing table cell.  This 
        matches FF.  Lastly, fixed a bug where indenting several paragraphs inside different 
        table cells would move all the selected text into the same table cell. FF still has 
        this bug.

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

2008-06-05  chris fleizach  <cfleizach@apple.com>

        Reviewed by Alice Liu.

         <rdar://problem/5979998> AXList controls should have AXSelectedChildren and its children's AXSelected attribute writable

        * page/AccessibilityListBox.cpp:
        (WebCore::AccessibilityListBox::canSetSelectedChildrenAttribute):
        (WebCore::AccessibilityListBox::setSelectedChildren):
        (WebCore::AccessibilityListBox::selectedChildren):
        (WebCore::AccessibilityListBox::visibleChildren):
        * page/AccessibilityListBox.h:
        * page/AccessibilityListBoxOption.cpp:
        (WebCore::AccessibilityListBoxOption::canSetSelectedAttribute):
        (WebCore::AccessibilityListBoxOption::setSelected):
        * page/AccessibilityListBoxOption.h:
        (WebCore::AccessibilityListBoxOption::selectedChildren):
        (WebCore::AccessibilityListBoxOption::visibleChildren):
        * page/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::setSelected):
        (WebCore::AccessibilityObject::getDocumentLinks):
        * page/AccessibilityObject.h:
        (WebCore::AccessibilityObject::canSetSelectedAttribute):
        (WebCore::AccessibilityObject::canSetSelectedChildrenAttribute):
        (WebCore::AccessibilityObject::children):
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::getDocumentLinks):
        (WebCore::AccessibilityRenderObject::children):
        (WebCore::AccessibilityRenderObject::addChildren):
        (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
        (WebCore::AccessibilityRenderObject::selectedChildren):
        (WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren):
        (WebCore::AccessibilityRenderObject::visibleChildren):
        * page/AccessibilityRenderObject.h:
        * page/mac/AccessibilityObjectWrapper.mm:
        (convertToVector):
        (convertToNSArray):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):

2008-06-04  David Hyatt  <hyatt@apple.com>

        Fix for <rdar://problem/5957994> Height doesn't animate

        Improve the behavior when transitions are dynamically changed.  Make sure to leave older transitions
        running and let them obsolete themselves when they finish.

        Reviewed by Dan Bernstein

        Added WebCore/manual-tests/transitions2.html (must be tested manually)

        * manual-tests/transitions.html:
        * manual-tests/transitions2.html: Added.
        * page/AnimationController.cpp:
        (WebCore::ImplicitAnimation::property):
        (WebCore::ImplicitAnimation::setFinished):
        (WebCore::ImplicitAnimation::markedForDeath):
        (WebCore::ImplicitAnimation::setMarkedForDeath):
        (WebCore::ImplicitAnimation::ImplicitAnimation):
        (WebCore::ImplicitAnimation::reset):
        (WebCore::ImplicitAnimation::animate):
        (WebCore::CompositeImplicitAnimation::animate):

2008-06-05  Eric Seidel  <eric@webkit.org>

        Reviewed by mjs.

        Get rid of Uninitialized Memory Reads (UMRs) in the XPath::Value copy constructor.

        No functional changes, thus no tests.

        * xml/XPathValue.h:
        (WebCore::XPath::Value::Value): initialize all values in each constructor

2008-06-05  Eric Seidel  <eric@webkit.org>

        Reviewed by hyatt.

        No functional changes, thus no tests.

        * platform/graphics/Color.h: remove unnecessary bitfield use

2008-06-05  Antti Koivisto  <antti@apple.com>

        Reviewed by Dave Hyatt.
        
        Make hasFeature() return true for the animation stuff.

        * dom/DOMImplementation.cpp:
        (WebCore::isSVG11Feature):

2008-06-05  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19397
          REGRESSION (3.1-TOT): Box-shadow renders weird when rotating a div with border radius

        Test: fast/transforms/shadows.html

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setPlatformShadow): In Core Graphics, shadow
        dimensions are always in device space. Account for that, and apply the
        current context transform to shadow offset, and multiply the blur radius
        by the inverse of the operator norm of the inverse transform (which is
        the radius of the circle inscribed in the transformed unit circle). 
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintBoxShadow): Added 1px separation between
        the edge of the filled shape and the edge of the clipped-out shape,
        because in a transformed context, due to antialiasing, the fill can
        bleed into the clip if they touch.

2008-06-05  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon.

        Prevent cycles when converting from DOM objects to
        QVariant, due to cycles in the DOM tree.

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

2008-06-04  Anders Carlsson  <andersca@apple.com>

        Reviewed by Mitz.

        Get rid of DeprecatedPtrList from StyleSheetList.
        
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        * css/StyleSheetList.cpp:
        (WebCore::StyleSheetList::~StyleSheetList):
        (WebCore::StyleSheetList::length):
        (WebCore::StyleSheetList::item):
        * css/StyleSheetList.h:
        (WebCore::StyleSheetList::swap):
        * dom/Document.cpp:
        (WebCore::Document::recalcStyleSelector):

2008-06-04  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin.

        Convert more classes over to start out with a ref count of 1.
        
        * css/CSSImageGeneratorValue.cpp:
        (WebCore::CSSImageGeneratorValue::generatedImage):
        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::cachedImage):
        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::CSSMediaRule):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFillSize):
        (WebCore::CSSParser::parseCounter):
        (WebCore::CSSParser::createRuleList):
        * css/CSSRuleList.cpp:
        (WebCore::CSSRuleList::CSSRuleList):
        * css/CSSRuleList.h:
        (WebCore::CSSRuleList::create):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchRules):
        (WebCore::CSSStyleSelector::styleRulesForElement):
        * css/CSSStyleSelector.h:
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::cssRules):
        (WebCore::CSSStyleSheet::addSubresourceURLStrings):
        * css/CSSStyleSheet.h:
        (WebCore::CSSStyleSheet::rules):
        * css/Pair.h:
        (WebCore::Pair::create):
        (WebCore::Pair::Pair):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::buffered):
        (WebCore::HTMLMediaElement::played):
        (WebCore::HTMLMediaElement::seekable):
        * html/TimeRanges.cpp:
        (TimeRanges::TimeRanges):
        * html/TimeRanges.h:
        (WebCore::TimeRanges::create):
        (WebCore::TimeRanges::TimeRanges):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::addCursor):
        (WebCore::RenderStyle::clearCursorList):
        * rendering/style/RenderStyle.h:
        (WebCore::StyleImage::~StyleImage):
        (WebCore::StyleImage::StyleImage):
        (WebCore::StyleCachedImage::create):
        (WebCore::StyleCachedImage::StyleCachedImage):
        (WebCore::StyleGeneratedImage::create):
        (WebCore::StyleGeneratedImage::StyleGeneratedImage):
        (WebCore::CursorList::create):
        (WebCore::CursorList::CursorList):

2008-06-04  chris fleizach  <cfleizach@apple.com>

        Reviewed by Dave Hyatt, Alice, Liu

        <rdar://problem/5983804> Editable web areas do not properly report the AXFocused attribute

        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isFocused):

2008-06-03  Beth Dakin  <bdakin@apple.com>

        Reviewed by Adele.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=19381 WebKit 
        Crashing Constantly on Gmail with accessibility turned on

        There was a missing null-check!

        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::roleValue):

2008-06-04  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam.

        Convert more classes to start with a ref count of 1.
        
        * bindings/js/JSCustomVoidCallback.cpp:
        (WebCore::toVoidCallback):
        * bindings/js/JSCustomVoidCallback.h:
        (WebCore::JSCustomVoidCallback::create):
        * css/StyleSheetList.cpp:
        (WebCore::StyleSheetList::StyleSheetList):
        * css/StyleSheetList.h:
        (WebCore::StyleSheetList::create):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::createNodeIterator):
        (WebCore::Document::createTreeWalker):
        * dom/NodeIterator.h:
        (WebCore::NodeIterator::create):
        * dom/Traversal.cpp:
        (WebCore::Traversal::Traversal):
        * dom/Traversal.h:
        * dom/TreeWalker.h:
        (WebCore::TreeWalker::create):
        * history/CachedPage.cpp:
        (WebCore::CachedPage::create):
        (WebCore::CachedPage::CachedPage):
        * html/CanvasGradient.cpp:
        (WebCore::CanvasGradient::CanvasGradient):
        * html/CanvasGradient.h:
        (WebCore::CanvasGradient::create):
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
        (WebCore::CanvasRenderingContext2D::createLinearGradient):
        (WebCore::CanvasRenderingContext2D::createRadialGradient):
        * html/CanvasRenderingContext2D.h:
        (WebCore::CanvasRenderingContext2D::create):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):
        * html/VoidCallback.h:
        (WebCore::VoidCallback::VoidCallback):
        * loader/FormState.cpp:
        (WebCore::FormState::create):
        (WebCore::FormState::FormState):
        * platform/text/RegularExpression.cpp:
        (WebCore::RegularExpression::Private::create):
        (WebCore::RegularExpression::Private::Private):
        (WebCore::RegularExpression::RegularExpression):
        * storage/SQLResultSet.cpp:
        (WebCore::SQLResultSet::SQLResultSet):
        * storage/SQLResultSetRowList.h:
        (WebCore::SQLResultSetRowList::create):
        (WebCore::SQLResultSetRowList::SQLResultSetRowList):

2008-06-04  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/5962118> Crash in RenderBlock::calcColumnWidth()

        Test: fast/multicol/gap-non-negative.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Changed to not allow negative
        values for column-gap, per
        <http://www.w3.org/TR/2001/WD-css3-multicol-20010118/#column-gap>.

2008-06-04  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/5962270> Crash in WebCore::RenderTableCell::computeAbsoluteRepaintRect()

        Test: fast/reflections/table-cell.html

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::computeAbsoluteRepaintRect): Null-check
        parent().
        (WebCore::RenderTableCell::absolutePosition): Ditto.

2008-06-04  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        Fix JSClassCreate to work with old JSCore API threading model.

        * ForwardingHeaders/wtf/StrHash.h: Removed (moved into ustring.h).

2008-06-03  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin.
        
        https://bugs.webkit.org/show_bug.cgi?id=19384
        Implement path morphing for SVG animation
        
        You can animate smoothly between paths that have equal number of control points of matching type.

        Test: svg/custom/animate-path-morphing.svg

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::determinePropertyType):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        * svg/SVGAnimateElement.h:
        (WebCore::SVGAnimateElement::):
        * svg/SVGPathSegList.cpp:
        (WebCore::blendFunc):
        (WebCore::SVGPathSegList::createAnimated):
        * svg/SVGPathSegList.h:

2008-06-03  Darin Adler  <darin@apple.com>

        - try to fix the Qt build

        * bridge/qt/qt_runtime.cpp:
        (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter): Remove the originalObject argument.
        (KJS::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
        (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
        (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
        (KJS::Bindings::QtConnectionObject::execute): Use callAsFunction.
        * bridge/qt/qt_runtime.h: More of the same.

2008-06-03  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by John.

        <rdar://problem/5763082> GMail: Hang when removing indent from nested list
        <rdar://problem/5775449> In Gmail and GoogleDocs, a hang occurs when I attempt to apply a list style to a large selection of text
        <rdar://problem/5937624> 9D32: Hang in Safari. Using 100% of processor

        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::modifyRange): doApply() may operate on and remove 
        the last paragraph of the selection from the document if it's in the same list 
        item as startOfCurrentParagraph.  Return early to avoid an infinite loop and 
        because there is no more work to be done.  Added a FIXME (<rdar://problem/5983974>)
        about the incorrect endingSelection()s.

2008-06-03  Oliver Hunt  <oliver@apple.com>

        Reviewed by Tim.

        Bug 12983: Web Inspector break on the debugger keyword
        <https://bugs.webkit.org/show_bug.cgi?id=12983>

        Added support for the new debugger didReachBreakpoint 
        callback so that WebInspector receives the debugger event
        and breaks.

        * page/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::didReachBreakpoint):
        * page/JavaScriptDebugServer.h:

2008-06-03  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        - https://bugs.webkit.org/show_bug.cgi?id=19269
          speed up SunSpider by eliminating the toObject call for most get/put/delete

        Eliminate the originalObject argument from property getter functions; it's no longer
        available and was used only for JavaScript function-based getters and setters.

        Updated callers of PropertySlot::setUndefined. It no longer takes a base argument.

        * bindings/js/JSQuarantinedObjectWrapper.cpp:
        (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter): Removed the originalObject
        argument.
        (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Changed to initialize the
        PropertySlot with the original object -- this is a new requirement.

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::nameGetter):
        * bindings/js/JSCanvasPixelArrayCustom.cpp:
        (WebCore::JSCanvasPixelArray::indexGetter):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::childFrameGetter):
        (WebCore::JSDOMWindowBase::indexGetter):
        (WebCore::JSDOMWindowBase::namedItemGetter):
        (WebCore::JSDOMWindowBase::getOwnPropertySlot):
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowCustom.h:
        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
        * bindings/js/JSHTMLAppletElementCustom.cpp:
        (WebCore::JSHTMLAppletElement::nameGetter):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::JSHTMLCollection::nameGetter):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::nameGetter):
        * bindings/js/JSHTMLEmbedElementCustom.cpp:
        (WebCore::JSHTMLEmbedElement::nameGetter):
        * bindings/js/JSHTMLFormElementCustom.cpp:
        (WebCore::JSHTMLFormElement::nameGetter):
        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
        (WebCore::JSHTMLFrameSetElement::nameGetter):
        * bindings/js/JSHTMLObjectElementCustom.cpp:
        (WebCore::JSHTMLObjectElement::nameGetter):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::customGetOwnPropertySlot):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::customGetOwnPropertySlot):
        * bindings/js/JSMimeTypeArrayCustom.cpp:
        (WebCore::JSMimeTypeArray::nameGetter):
        * bindings/js/JSNamedNodeMapCustom.cpp:
        (WebCore::JSNamedNodeMap::nameGetter):
        * bindings/js/JSNamedNodesCollection.cpp:
        (WebCore::JSNamedNodesCollection::lengthGetter):
        (WebCore::JSNamedNodesCollection::indexGetter):
        * bindings/js/JSNamedNodesCollection.h:
        * bindings/js/JSNodeListCustom.cpp:
        (WebCore::JSNodeList::nameGetter):
        * bindings/js/JSPluginArrayCustom.cpp:
        (WebCore::JSPluginArray::nameGetter):
        * bindings/js/JSPluginCustom.cpp:
        (WebCore::JSPlugin::nameGetter):
        * bindings/js/JSQuarantinedObjectWrapper.h:
        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::nameGetter):
        * bindings/js/JSStyleSheetListCustom.cpp:
        (WebCore::JSStyleSheetList::nameGetter):
        * bindings/js/kjs_binding.cpp:
        (WebCore::nonCachingStaticFunctionGetter):
        (WebCore::objectToStringFunctionGetter):
        * bindings/js/kjs_binding.h:
        * bindings/js/kjs_html.cpp:
        (WebCore::runtimeObjectGetter):
        (WebCore::runtimeObjectPropertyGetter):
        * bindings/js/kjs_html.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/objc/objc_runtime.mm:
        (ObjcFallbackObjectImp::getOwnPropertySlot):
        * bridge/runtime_array.cpp:
        (RuntimeArray::lengthGetter):
        (RuntimeArray::indexGetter):
        * bridge/runtime_array.h:
        * bridge/runtime_method.cpp:
        (RuntimeMethod::lengthGetter):
        * bridge/runtime_method.h:
        * bridge/runtime_object.cpp:
        (RuntimeObjectImp::fallbackObjectGetter):
        (RuntimeObjectImp::fieldGetter):
        (RuntimeObjectImp::methodGetter):
        * bridge/runtime_object.h:
        Removed originalObject arguments from getter fnctions and base arguments from
        calls to setUndefined.

2008-06-03  Darin Adler  <darin@apple.com>

        Fix build with GCC.

        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):
        Put a default case back in the switch statement so we don't get warned about
        all the unhandled cases with GCC. Remove the unreachable code that was causing
        a warning in Visual Studio.

2008-06-03  Steve Falkenburg  <sfalken@apple.com>

        Fix build

        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):

2008-06-03  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/5943515> SelectionController()->modify Backward/Forward with LineGranularity sometimes don't work
        
        next/previousLinePosition didn't work if the input position was the last line in its
        block.  The code for handling such a position assumed that the input position was
        editable, and that the position to be returned needed to also be editable.  Changed
        this code to just maintain the same editability.
        
        No test case for now because we haven't enabled selection extension operations for
        non-editable selections.  I enabled them temporarily to test the fix, however.

        * dom/Node.cpp: Removed the now unused nextEditable(int).
        * dom/Node.h:
        * editing/visible_units.cpp:
        (WebCore::previousLeafWithSameEditability): Added.  Like previousEditable but just returns
        a node of the same editability.
        (WebCore::previousLinePosition): Call previousLeaf instead of previousEditable.
        (WebCore::nextLeafWithSameEditability): Added.
        (WebCore::nextLinePosition): Same as above.

2008-06-02  Anders Carlsson  <andersca@apple.com>

        Reviewed by John and Sam.

        <rdar://problem/5955218> 
        Assertion failure in ApplicationCacheGroup::addEntry when reloading a page with a cache manifest (19182)
        
        * loader/appcache/ApplicationCacheGroup.h:
        (WebCore::ApplicationCacheGroup::hasNewestCache):
        Add new accessor.
        
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::cacheGroupDestroyed):
        Don't call newestCache since it will always be null. Instead, call hasNewestCache which returns the saved newest cache pointer.
        
2008-06-03  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/5965410>
          In fixed table layout, the width of cells with auto width should be
          proportional to their column span, to match Firefox and IE.

        Test: fast/table/fixed-with-auto-with-colspan.html

        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::layout):

2008-06-03  Alp Toker  <alp@nuanti.com>

        Rubber-stamped by Alexey.

        Remove GenerateNativeConverter added in r34331 to fix JS regressions.
        (JSTextCustom.cpp added in r34141 is now unused in any code path.)

        * dom/Text.idl:

2008-06-03  Alexander Vassilev <avasilev@voipgate.com>

        Reviewed, tweaked and landed by Alexey.

        https://bugs.webkit.org/show_bug.cgi?id=19363
        Compiler error in Entity.h

        * dom/Entity.h:
        (WebCore::Entity::Entity): Add a private constructor to shut down the errors.

2008-06-02  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Alexey Proskuryakov.
        
        Removed JSObject::call, since it just called JSObject::callAsFunction.
        
        SunSpider reports no change.

2008-06-02  Alp Toker  <alp@nuanti.com>

        Reviewed by Maciej.

        Two of the toJSNewlyCreated() optimisations in r34141 were never
        reached due to a generator bug and missing IDL attribute.

        Fix header generation to provide the necessary toJSNewlyCreated()
        overloads.

        Patch includes a related build fix by Jan Michael Alonzo.

        * GNUmakefile.am:
        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/Text.idl:

2008-06-02  Alice Liu  <alice.liu@apple.com>

        Reviewed by Beth Dakin.

        Some ARIA roles are designated to have presentational children, which
        means that their descendants aren't exposed to assistive technologies
        on an individual basis.  What this means in webcore is that descendants
        of such roles need to be ignored in terms of accessibility.

        * page/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole):
        (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren):
        * page/AccessibilityObject.h:
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        (WebCore::RoleEntry::):
        (WebCore::AccessibilityRenderObject::isPresentationalChildOfAriaRole):
        (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):
        * page/AccessibilityRenderObject.h:

2008-06-02  David Hyatt  <hyatt@apple.com>

        Fix for https://bugs.webkit.org/show_bug.cgi?id=19303

        When the right slice value is omitted in border-image it should use the value of the left slice and not
        the top slice.

        Reviewed by darin

        Added fast/borders/border-image-omit-right-slice.html

        * css/CSSParser.cpp:
        (WebCore::BorderImageParseContext::commitBorderImage)

2008-06-02  Anders Carlsson  <andersca@apple.com>

        Reviewed by David Hyatt and Mitz.

        <rdar://problem/5704119> 
        repro crash in WebCore::RenderPart::setWidget (plugin-related?)
        
        Test: platform/mac/plugins/update-widget-from-style-recalc.html

        Make sure to update the document's rendering before calling updateWidget.
        
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::updateWidget):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::updateWidget):

2008-06-02  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Adam.

        <rdar://problem/5954226> JSProfiler: Move the calls from
        JavaScriptProfileNode to JavaScriptProfile in WebCore (19231)
        - This Makes the profiler now call sorting function s on a per-profile
        basis instead of on a node in the profile.
        - This is also needed to remove the recursion limit in the profiler
        <rdar://problem/5969992> JSProfiler: Remove the recursion limit in the
        profiler
        since once the limit is removed calling sort on a node will only sort
        that node's children not the entire sub-tree of that node.

        * page/JavaScriptProfile.cpp: All of these functions were moved from 
        JavaScriptProfileNode.
        (WebCore::sortTotalTimeDescending):
        (WebCore::sortTotalTimeAscending):
        (WebCore::sortSelfTimeDescending):
        (WebCore::sortSelfTimeAscending):
        (WebCore::sortCallsDescending):
        (WebCore::sortCallsAscending):
        (WebCore::sortFunctionNameDescending):
        (WebCore::sortFunctionNameAscending):
        (WebCore::ProfileClass):
        * page/JavaScriptProfileNode.cpp:
        (WebCore::ProfileNodeClass):
        * page/inspector/ProfileView.js: Change uses of JavaScriptProfileNode
        for sorting to JavaScriptProfile.

2008-06-02  Dan Bernstein  <mitz@apple.com>

        Reviewed by Oliver Hunt.

        - fix more cases of https://bugs.webkit.org/show_bug.cgi?id=19344
          <rdar://problem/5977300> Regression: Shadow offsets seem to have changed in 10.5.3 in canvas

        Tests: fast/canvas/shadow-offset-1.html
               fast/canvas/shadow-offset-2.html
               fast/canvas/shadow-offset-3.html
               fast/canvas/shadow-offset-4.html
               fast/canvas/shadow-offset-5.html
               fast/canvas/shadow-offset-6.html
               fast/canvas/shadow-offset-7.html

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::adjustedShadowSize): Added this helper function.
        (WebCore::CanvasRenderingContext2D::setShadow): Changed to call
        adjustedShadowSize().
        (WebCore::CanvasRenderingContext2D::applyShadow): Ditto.

2008-06-02  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin.

        Bug 18066: REGRESSION: createAttribute throws NAMESPACE_ERR exception
        https://bugs.webkit.org/show_bug.cgi?id=18066

        Test: fast/dom/createAttribute-exception.html

        * dom/Document.cpp:
        (WebCore::Document::createAttributeNS):
        * dom/Document.h: Add a bool parameter shouldIgnoreNamespaceChecks
        to createNamespaceNS() used by createAttribute() to bypass namespace
        checking.

2008-06-02  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fix https://bugs.webkit.org/show_bug.cgi?id=18799
          apl.aip.org menu does not work (property names should be case sensitive)
          <rdar://problem/5900484>

        Test: fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::hasCSSPropertyNamePrefix): Tweak implementation a tiny bit for
        improved performance when the first character does not match.
        (WebCore::cssPropertyName): Reject property names with a leading uppercase
        letter.

2008-06-02  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19358
          <rdar://problem/5951986> first line break in <pre> elements ignored
          (chess boards at http://rankzero.de/)

        Test: fast/parser/pre-first-line-break.html

        * editing/markup.cpp:
        (WebCore::appendStartMarkup): Fix handling of <listing>. Not part of the
        bug mentioned above, but uncovered by the regression test.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::write): Clear the "discardLF" flag when
        processing a new tag.

2008-06-02  Timothy Hatcher  <timothy@apple.com>

        Fixes a bug where only the last breakpoint would be hit after reloading
        the page. Also fixes a bug where disabled breakpoints would be hit
        after reloading the page.

        Reviewed by Darin Adler.

        * page/inspector/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint): Don't call
        InspectorController.addBreakpoint() unless the breakpoint is enabled.
        * page/inspector/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.addScript): Move the addBreakpoint()
        call inside the for loop so each breakpoint is added. Also check the
        breakpoint's enabled state before calling addBreakpoint().

2008-06-02  Timothy Hatcher  <timothy@apple.com>

        Fixes a bug where the line highlight and the execution line were conflicting.
        The line highlight no longer shows up when the execution line changes, only
        when showResource or showScript is called with a line number.

        Reviewed by Darin Adler.

        * page/inspector/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.showScript): Pass true for shouldHighlightLine.
        (WebInspector.ScriptsPanel.prototype.showResource): Ditto.
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Added a shouldHighlightLine
        argument that triggers the highlightLine() call on the SourceFrame.
        (WebInspector.ScriptsPanel.prototype._goBack): Pass false for shouldHighlightLine since
        we need to pass true for fromBackForwardAction.
        (WebInspector.ScriptsPanel.prototype._goForward): Ditto.

2008-06-02  Timothy Hatcher  <timothy@apple.com>

        Bring the Web Inspector forward when the debugger pauses.

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

        Reviewed by Darin Adler.

        * page/inspector/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.debuggerPaused): Call window.focus() and
        make the Scripts panel the current panel.

2008-06-02  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Alp Toker.

        Build WebCore GTK+ sources as part of WebCore, not WebKit.
        Split common and GTK+-specific sources into separate file lists.

        * GNUmakefile.am:

2008-05-30  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon.

        Implement basic media element controls for the QtWebKit port.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::WorldMatrixTransformer::WorldMatrixTransformer):
        (WebCore::WorldMatrixTransformer::~WorldMatrixTransformer):
        (WebCore::RenderThemeQt::getMediaElementFromRenderObject):
        (WebCore::RenderThemeQt::paintMediaBackground):
        (WebCore::RenderThemeQt::getMediaControlForegroundColor):
        (WebCore::RenderThemeQt::paintMediaFullscreenButton):
        (WebCore::RenderThemeQt::paintMediaMuteButton):
        (WebCore::RenderThemeQt::paintMediaPlayButton):
        (WebCore::RenderThemeQt::paintMediaSeekBackButton):
        (WebCore::RenderThemeQt::paintMediaSeekForwardButton):
        (WebCore::RenderThemeQt::paintMediaSliderTrack):
        (WebCore::RenderThemeQt::paintMediaSliderThumb):
        (WebCore::RenderThemeQt::adjustSliderThumbSize):
        * platform/qt/RenderThemeQt.h:
        * platform/qt/html4-adjustments-qt.css:

2008-05-30  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon.

        Change default styling of media elements to allow controls
        to be placed at any position within the media element.

        * css/html4.css:

2008-05-30  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon.

        Use intrinsic size for media elements with no natural size.

        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::videoSizeChanged):

2008-05-28  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon.

        Allow platform specific adjustments to the default style sheet.

        Clients will change the #ifdef in RenderTheme.cpp and implement
        any platform specific adjustments in RenderThemeXXX.cpp, either
        by loading a file as the Qt port does, or by modifying the style
        directly.

        * WebCore.pro: Add new resource file
        * css/CSSStyleSelector.cpp:
        (WebCore::loadDefaultStyle): adjust default stylesheet
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderTheme::adjustDefaultStyleSheet): Qt adjustments
        * platform/qt/WebCoreResources.qrc: Added.
        * platform/qt/html4-adjustments-qt.css: Added.
        * rendering/RenderTheme.cpp: Default adjustments (none)
        * rendering/RenderTheme.h:

2008-06-02  Siraj Razick  <siraj.razick@collabora.co.uk>

        Reviewed by Simon

        Allow button fonts to scale based on the text size multiplier.

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

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

2008-06-01  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        https://bugs.webkit.org/show_bug.cgi?id=15823
        getPropertyValue for border returns null, should compute the shorthand value

        Compute the value for the border shorthand property by computing
        its shorthand subproperties.

        Test: fast/css/getPropertyValue-border.html

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
        (WebCore::CSSMutableStyleDeclaration::getCommonValue):
        * css/CSSMutableStyleDeclaration.h:

2008-06-01  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19344
          <rdar://problem/5977300> Regression: Shadow offsets seem to have changed in 10.5.3 in canvas

        Test: fast/canvas/shadow-offset.html

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::applyShadow): Slightly increase the
        magnitude of the offsets passed to CGContextSetShadow* to ensure that
        the end result after truncation is the desired integer offsets. This is
        the same workaround for <rdar://problem/5539388> that is used in
        GraphicsContext::setShadow(). Also correct a recent regression where
        shadow Y offsets were flipped.

2008-05-31  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Sam.

        - avoid assertion in updateDocument() when running debug

        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::updateDocument): Exit early if the document is null. We
        don't need to update in this case.

2008-05-30  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19278
          <rdar://problem/5968621> REGRESSION (r31114-r31132): image float disappears on refresh

        Test: fast/dynamic/float-in-trailing-whitespace-after-last-line-break.html

        * rendering/bidi.cpp:
        (WebCore::RenderBlock::layoutInlineChildren): Ensured that floats
        occurring in trailing whitespace after a line break are added to the
        last line's floats vector.

2008-05-30  Timothy Hatcher  <timothy@apple.com>

        Implements the back and forward buttons in the Scripts panel.

        Reviewed by Adam Roben.

        * page/inspector/ScriptsPanel.js:
        (WebInspector.ScriptsPanel): Add the back and forward button elements
        and remove the FIXMEs.
        (WebInspector.ScriptsPanel.prototype.reset): Reset _backForwardList
        and _currentBackForwardIndex. Then call _updateBackAndForwardButtons().
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        Added a fromBackForwardAction argument. If fromBackForwardAction is false
        then update the _currentBackForwardIndex and _backForwardList.
        (WebInspector.ScriptsPanel.prototype._updateBackAndForwardButtons):
        Update the disabled state of the buttons.
        (WebInspector.ScriptsPanel.prototype._goBack): Update the _currentBackForwardIndex
        and call _showScriptOrResource() and _updateBackAndForwardButtons().
        (WebInspector.ScriptsPanel.prototype._goForward): Ditto.

2008-05-30  Timothy Hatcher  <timothy@apple.com>

        Made clicking a Console message URL originating from a JavaScript
        source show the Resource in the Scripts panel. This only happens
        when the debugger is attached.

        Reviewed by Adam Roben.

        * page/inspector/Console.js:
        (WebInspector.Console.prototype._formaterror):
        Add a preferredPanel of "scripts".
        (WebInspector.ConsoleMessage.prototype.toMessageElement):
        Add a preferredPanel of "scripts" when the source is JS.
        * page/inspector/ScriptView.js:
        (WebInspector.ScriptView.prototype.highlightLine): Added.
        Calls through to the sourceFrame. Matches SourceView.
        * page/inspector/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.canShowResource): Added.
        Returns true if the debugger is attached and the resource has scripts.
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Call
        highlightLine on the view.
        * page/inspector/inspector.js:
        (WebInspector.documentClick): Pass the preferredPanel to showResourceForURL.
        (WebInspector.showResourceForURL): Resolve the preferredPanel from the string
        passed in. Checks if the panel implements showResource and canShowResource.
        Reverts to the Resources panel if any of that is false or not implemented.

2008-05-30  Timothy Hatcher  <timothy@apple.com>

        Fixed an "undefined type" exception that was being thrown when
        selecting a eval script from the file menu in the Scripts panel.
        This would also happen when stepping into an eval which would
        break other parts of the Inspector interface.

        Reviewed by Adam Roben.

        * page/inspector/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        Use the scriptOrResource variable instead of the undefined script variable.

2008-05-30  Timothy Hatcher  <timothy@apple.com>

        Made the starting line number of scripts be 1-based throughout the engine.
        This cleans up script line numbers so they are all consistent now and fixes
        some cases where script execution was shown as off by one line in the debugger.

        Doing this also exposed a bug where JSLazyEventListener created in XHML or SVG
        documents would always have a line number of 0. So this change fixed that bug
        to pass all the SVG and XHTML tests.

        All layout tests pass.

        Reviewed by Oliver Hunt.

        * bindings/js/kjs_events.cpp:
        (WebCore::JSLazyEventListener::JSLazyEventListener): Set the line number to 1
        if it was passed in as 0. This can happen when listeners are created with
        a setAttribute call from JavaScript.
        (WebCore::JSLazyEventListener::parseCode): Add a FIXME about the URL being
        incorrect when listeners are created with a setAttribute call from JavaScript.
        * bindings/js/kjs_events.h: Remove the default value for lineNumber, since no
        callers need it.
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject evaluateWebScript:]): Pass a line number of 1 instead of 0
        to Interpreter::evaluate().
        * bridge/NP_jsobject.cpp:
        (_NPN_Evaluate): Ditto.
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::eval): Ditto.
        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::startElementNs): Call KJSProxy::setEventHandlerLineno()
        around the call to handleElementAttributes, so any JSLazyEventListener created
        from those attributes have line numbers.
        (WebCore::XMLTokenizer::endElementNs): Remove a minus 1 of the line number.
        (WebCore::XMLTokenizer::notifyFinished): Pass a line number of 1 instead of 0.
        (WebCore::XMLTokenizer::parseEndElement): Remove a minus 1 of the line number.
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::evaluateScript): Add a FIXME about the starting
        line number being incorrect in some cases when this function is called.
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseSpecial): Add a plus 1 to the line number when
        setting scriptStartLineno so it is 1-based. Same for calling setEventHandlerLineno().
        (WebCore::HTMLTokenizer::processToken): Ditto.
        * html/HTMLTokenizer.h: Change the default line number on scriptExecution() to 1 from 0.
        * loader/FrameLoader.cpp:
        (FrameLoader::executeIfJavaScriptURL): Pass a line number of 1 instead of 0 to executeScript().

2008-05-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver (earlier version reviewed by Alexey).

        - speculative fix for "REGRESSION(r34143?): Frequent crash while browsing"
        https://bugs.webkit.org/show_bug.cgi?id=19285
        
        ("This Time for Sure" Edition)

        I'm pretty sure this fixes it but I have not been able to
        reproduce and am unsure if my theory of the bug is right.

        I belive the bug was because JSDOMWindowBase accessed
        JSDOMWindowShell in its destructor to remove itself from a
        hashtable, but GC destructor order is not guaranteed, so the
        hashtable may have been freed already. This patch changes things
        so that a non-GC object (the KJSProxy) does the tracking of live
        window objects for a frame. JSDOMWindowBase can null check the frame
        pointer to verify if it is still good.
        
        In addition, we must create a similar setup between DOMWindow and
        Frame; since the DOMWindow of a given frame can now change over
        time, we must ensure that the Frame disconnects every live
        DOMWindow when destroyed, not just the last.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::setWindow):
        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::clear):
        (WebCore::KJSProxy::initScript):
        (WebCore::KJSProxy::updateDocument):
        * bindings/js/kjs_proxy.h:
        (WebCore::KJSProxy::clearFormerWindow):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::~DOMWindow):
        * page/Frame.cpp:
        (WebCore::Frame::~Frame):
        (WebCore::Frame::setDocument):
        (WebCore::Frame::clearDOMWindow):
        (WebCore::Frame::clearFormerDOMWindow):
        * page/Frame.h:
        * page/FramePrivate.h:

2008-05-30  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler and Dave Hyatt.

        - eliminate excessive repainting when an object's final position
          after layout is unchanged

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChildren): Removed the full repaint
        for the case that the final position is unchanged but the position at
        which an intermediate layout occurred was different. Any repainting
        done during the intermediate layout would have happened at the object's
        initial (and also final) coordinates, since layoutDelta is factored
        into repaint rect calculations.

2008-05-30  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        <rdar://problem/5959478> r34079: AX: crash at stringForReplacedNode

        * page/AccessibilityObject.cpp:
        (WebCore::stringForReplacedNode):

2008-05-30  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon.

        Fix the build dependencies for the Qt build. Don't generate
        SVGCSSPropertyNames.cpp for every build.

        * WebCore.pro: The output file was renamed, so the compiler rule needs
        to be adjusted in order for qmake to generate correct depdencies.

2008-05-30  Maciej Stachowiak  <mjs@apple.com>

        Revert fix for 19285, it just caused more crashes and I need time
        to fix it properly.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
        (WebCore::JSDOMWindowShell::updateDocument):
        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::setWindow):
        (WebCore::JSDOMWindowShell::clearFormerWindow):
        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::clear):
        (WebCore::KJSProxy::initScript):
        * bindings/js/kjs_proxy.h:
        * page/Frame.cpp:
        (WebCore::Frame::setDocument):

2008-05-30  Adam Treat  <treat@kde.org>

        Reviewed by Simon.

        Fix a huge memory leak by ensuring that on application shutdown
        the shared timer is fired one last time if it is active. This
        ensures that the GCController timer is fired at the end to free
        references to JavaScript objects.

        * platform/qt/SharedTimerQt.h:
        (WebCore::SharedTimerQt::cleanup):
        (WebCore::SharedTimerQt::inst):

2008-05-30  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=7466
        <rdar://problem/4657563> Use of Ctrl as access key modifier conflicts with Mac OS X
        emacs-style keybindings

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleAccessKey): Use Ctrl+Option for access keys on Mac OS X.

2008-05-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Alexey.
        
        - speculative fix for "REGRESSION(r34143?): Frequent crash while browsing"
        https://bugs.webkit.org/show_bug.cgi?id=19285

        I'm pretty sure this fixes it but I have not been able to
        reproduce and am unsure if my theory of the bug is right.

        I belive the bug was because JSDOMWindowBase accessed
        JSDOMWindowShell in its destructor to remove itself from a
        hashtable, but GC destructor order is not guaranteed, so the
        hashtable may have been freed already. This patch changes things
        so that a non-GC object (the KJSProxy) does the tracking of live
        window objects for a frame. JSDOMWindowBase can null check the frame
        pointer to verify if it is still good.
        
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::setWindow):
        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::clear):
        (WebCore::KJSProxy::initScript):
        (WebCore::KJSProxy::updateDocument):
        * bindings/js/kjs_proxy.h:
        (WebCore::KJSProxy::clearFormerWindow):
        * page/Frame.cpp:
        (WebCore::Frame::setDocument):

2008-05-29  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/4783102> Radio button/checkbox embedded with <label> tag should combine the text and the label as a single element
        <rdar://problem/5091386> Seed: VO reads form labels twice in Safari

        * page/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::titleUIElement):
        * page/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isControl):
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isControl):
        (WebCore::AccessibilityRenderObject::labelElementContainer):
        (WebCore::AccessibilityRenderObject::title):
        (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
        (WebCore::AccessibilityRenderObject::elementRect):
        (WebCore::AccessibilityRenderObject::titleUIElement):
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        (WebCore::AccessibilityRenderObject::roleValue):
        * page/AccessibilityRenderObject.h:
        * page/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2008-05-29  Timothy Hatcher  <timothy@apple.com>

        Fixes the regression where image resources don't have a preview icon.

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

        Reviewed by Adam Roben.

        * page/inspector/ResourcesPanel.js:
        (WebInspector.ResourceSidebarTreeElement): Call createIconElement before
        calling the superclass.
        (WebInspector.ResourceSidebarTreeElement.prototype.createIconElement):
        Create an iconElement, if the category is images then make a div that
        contains a preview image. Otherwise just make an img element. If there
        was a previous iconElement, then replace it.
        (WebInspector.ResourceSidebarTreeElement.prototype.refresh): Call
        createIconElement if the category changed.
        * page/inspector/SidebarTreeElement.js:
        (WebInspector.SidebarTreeElement): Create an iconElement if one hasn't
        been made already by a subclass.
        (WebInspector.SidebarTreeElement.prototype.onattach): Append the iconElement
        instead of creating one each time.
        * page/inspector/inspector.css: New and updated style rules.

2008-05-29  Timothy Hatcher  <timothy@apple.com>

        Removes a use of the internal _childrenListNode property by adding
        a getter/setter for smallChildren to SidebarSectionTreeElement.

        Reviewed by Adam Roben.

        * page/inspector/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
        Toggle smallChildren on the resourcesTreeElement instead of setting
        the style class directly.
        * page/inspector/SidebarTreeElement.js:
        (WebInspector.SidebarSectionTreeElement.prototype.smallChildren):
        Sets or removes the small class on the _childrenListNode.

2008-05-29  Timothy Hatcher  <timothy@apple.com>

        Fixes a bug where the className would be reset for Resource
        tree elements and the selected state would be lost. This could
        happen when sorting the resources.

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

        Reviewed by Adam Roben.

        * page/inspector/ResourcesPanel.js:
        (WebInspector.ResourceSidebarTreeElement.prototype.refresh): Call
        removeMatchingStyleClasses to remove previous category classes instead
        of setting the whole className directly.
        * page/inspector/utilities.js:
        (Element.prototype.removeStyleClass): Moved code to
        removeMatchingStyleClasses and call removeMatchingStyleClasses.
        (Element.prototype.removeMatchingStyleClasses): Added. Code moved from
        removeStyleClass and don't escape the string.

2008-05-29  David Hyatt  <hyatt@apple.com>

        Improve the performance of the GUIMark benchmark by 2x in the CoreGraphics code path.

        Whenever a foreground image changes size rapidly, we will now dynamically shift into rendering it
        using low quality scaling.  Once the animation completes, the image will repaint at high quality.
        Scaled images will still render at high quality by default, only shifting into low quality if
        the scale factor is rapidly changing.  This change raises GUIMark from 21fps to 34fps on my machine.

        Rewrite the Image draw method to avoid the use of throwaway CG subimages.  Instead the entire image is
        always drawn (with the appropriate clip and scale set up to make sure the correct subimage portion shows up
        in the destination rect).  This change raises GUIMark from 34fps to 43fps on my machine.

        Reviewed by Darin

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawImage):
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::draw):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImageScaleData::RenderImageScaleData):
        (WebCore::RenderImageScaleData::~RenderImageScaleData):
        (WebCore::RenderImageScaleData::size):
        (WebCore::RenderImageScaleData::time):
        (WebCore::RenderImageScaleData::useLowQualityScale):
        (WebCore::RenderImageScaleData::hiqhQualityRepaintTimer):
        (WebCore::RenderImageScaleData::setSize):
        (WebCore::RenderImageScaleData::setTime):
        (WebCore::RenderImageScaleData::setUseLowQualityScale):
        (WebCore::RenderImageScaleObserver::shouldImagePaintAtLowQuality):
        (WebCore::RenderImageScaleObserver::imageDestroyed):
        (WebCore::RenderImageScaleObserver::highQualityRepaintTimerFired):
        (WebCore::RenderImage::highQualityRepaintTimerFired):
        (WebCore::RenderImage::~RenderImage):
        (WebCore::RenderImage::paintReplaced):
        * rendering/RenderImage.h:

2008-05-29  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Eric.

        <rdar://problem/5847330> REGRESSION CrashTracer: [USER] 536 crashes at WebCore::highestAncestor

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Don't break out of an empty
        list item if its parent is non-editable, since doing so will move into non-editable content.
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::initializePositionData): We want to prevent merges from
        table cells even if those table cells are non-editable.
        * editing/htmlediting.cpp:
        (WebCore::enclosingNodeOfType): Can now return non-editable nodes, for cases where the caller 
        isn't going to do editing in the returned node.
        * editing/htmlediting.h:

2008-05-29  Anders Carlsson  <andersca@apple.com>

        Reviewed by Mitz.

        <rdar://problem/5971845>
        https://bugs.webkit.org/show_bug.cgi?id=19313
        Add version member to NPCocoaEvent
        
        * bridge/npapi.h:

2008-05-29  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Adam Roben.

        <rdar://problem/5960682> REGRESSION(r30535): Crashes on iExploder in checkForHeadCharset().

        I don't see how to make a reliable test, but iExploder catches this quickly.

        * loader/TextResourceDecoder.cpp:
        (WebCore::TextResourceDecoder::checkForHeadCharset): Correct the length passed to
        findIgnoringCase().

2008-05-29  Peter Kasting  <pkasting@google.com>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=19273
        Handle looping GIFs correctly (at least in the open source GIF decoder) even when
        the loop count doesn't appear in the initial data packets.

        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::cacheFrame):
        (WebCore::BitmapImage::startAnimation):
        (WebCore::BitmapImage::advanceAnimation):
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::GIFImageDecoder):
        (WebCore::GIFImageDecoder::repetitionCount):
        (WebCore::GIFImageDecoder::gifComplete):
        * platform/image-decoders/gif/GIFImageDecoder.h:

2008-05-29  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=19284
        Correct Windows (Cairo) Build Regressions

        Correct small Windows (Cairo) build regressions in recent updates.

        * platform/graphics/SimpleFontData.h:  Correct build regression due
          to r32781 (additional use of m_syntheticBoldOffset in GDI code).
        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
          Correct build regression due to r31830 (change of clip signature
          to use FloatRect rather than IntRect).
        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
        (WebCore::SimpleFontData::platformInit):  Initialize
        m_syntheticBoldOffset
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageReader::JPEGImageReader):  Work around build
          error due to warnings about _setjmp treated as errors.
        * platform/image-decoders/png/PNGImageDecoder.cpp:  Work around
          build error due to warnings about _setjmp treated as errors.
        * platform/network/curl/ResourceHandleCurl.cpp:  Correct build error
          due to different order (and content) of include files when building
          with CoreFoundation (but not CoreGraphics).
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::setupPOST):  Correct build error
          due to Visual Studio compiler bug.

2008-05-29  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        https://bugs.webkit.org/show_bug.cgi?id=19215
        REGRESSION: transformToDocument fails when xsl includes &#160;

        Test: fast/xsl/nbsp-in-stylesheet.html

        * editing/markup.cpp:
        (WebCore::appendAttributeValue):
        (WebCore::appendEscapedContent):
        (WebCore::escapeContentText):
        (WebCore::appendQuotedURLAttributeValue):
        (WebCore::appendNamespace):
        (WebCore::appendStartMarkup):
        (WebCore::appendDocumentType):
        (WebCore::createMarkup):
        Only escape non-breaking spaces in HTML documents. In Firefox, this behavior is also limited
        to innerHTML, but we don't have a separate code path for it, and do not necessarily want to.

        * page/Frame.cpp:
        (WebCore::Frame::documentTypeString):
        * dom/CDATASection.cpp:
        * dom/CDATASection.h:
        * dom/Comment.cpp:
        * dom/Comment.h:
        * dom/DocumentType.cpp:
        * dom/DocumentType.h:
        * dom/ProcessingInstruction.cpp:
        * dom/ProcessingInstruction.h:
        While at it, I also wanted to fix escaping for these nodes, but it turned out that FIXMEs were
        incorrect. So, I just moved their serialization to markup.cpp for consistency.

2008-05-29  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dave Hyatt.

        - speed up DHTML using lazy style resolution and renderer creation

        This change introduces the concept of "lazy attach" - when a node
        is lazy attached, then instead of resolving style and creating a
        renderer right away, we just mark it as needing a style recalc.
        
        The patch makes use of this mechanism when inserting nodes directly
        using DOM APIs from script. For now this is only done for the
        JavaScript language binding but could also be done for other
        bindings in the future.
        
        Lazy attach helps some common DHTML patterns - when a node is
        added to the DOM, and then subsequently changed in a
        style-affecting way, this causes an extra style recalc. This is a
        fairly common pattern so it is better to be lazy.
        
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::insertBefore): Request lazy attach.
        (WebCore::JSNode::replaceChild): ditto
        (WebCore::JSNode::appendChild): ditto
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertBefore): Support lazy attach.
        (WebCore::ContainerNode::replaceChild): ditto
        (WebCore::ContainerNode::appendChild): ditto
        (WebCore::ContainerNode::detach): Clear "changed child" bit if still set.
        * dom/ContainerNode.h:
        * dom/Element.cpp:
        (WebCore::Element::recalcStyle): Adjusted to properly reattach a
        lazy-attached node.
        * dom/Node.cpp:
        (WebCore::Node::insertBefore): Extra parameter for lazy attach
        (still doesn't do anything).
        (WebCore::Node::replaceChild): ditto
        (WebCore::Node::appendChild): ditto
        (WebCore::Node::setChanged): Unrelated but obvious optimization -
        stop marking ancestor as having a changed child once we already reach
        an ancestor so marked.
        (WebCore::outermostLazyAttachedAncestor): Helper function for lazyAttach.
        (WebCore::Node::lazyAttach): Implement lazy attach.
        (WebCore::Node::canLazyAttach): Virtual method - true for most nodes.
        * dom/Node.h:
        * dom/Text.cpp:
        (WebCore::Text::recalcStyle): Properly handle the case of a reattached node.
        * html/HTMLEmbedElement.h:
        (WebCore::HTMLEmbedElement::canLazyAttach): Refuse lazy attach, since
        plugins and frames do important work at rederer creation time.
        * html/HTMLFrameElementBase.h:
        (WebCore::HTMLFrameElementBase::canLazyAttach): Refuse lazy attach, since
        plugins and frames do important work at rederer creation time.
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::recalcStyle): Change order so that
        reattach works properly.
        * html/HTMLObjectElement.h:
        (WebCore::HTMLObjectElement::canLazyAttach): Refuse lazy attach, since
        plugins and frames do important work at rederer creation time.
        * html/HTMLOptGroupElement.cpp:
        (WebCore::HTMLOptGroupElement::insertBefore): Pass along extra param.
        (WebCore::HTMLOptGroupElement::replaceChild): ditto
        (WebCore::HTMLOptGroupElement::appendChild): ditto
        * html/HTMLOptGroupElement.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::insertBefore): Pass along extra param.
        (WebCore::HTMLSelectElement::replaceChild): ditto
        (WebCore::HTMLSelectElement::appendChild): ditto
        * html/HTMLSelectElement.h:
        * svg/SVGLocatable.cpp:
        (WebCore::SVGLocatable::getBBox): Add missing updateLayout call.
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::getNumberOfChars): ditto
        (WebCore::SVGTextContentElement::getComputedTextLength): ditto
        (WebCore::SVGTextContentElement::getSubStringLength): ditto
        (WebCore::SVGTextContentElement::getStartPositionOfChar): ditto
        (WebCore::SVGTextContentElement::getEndPositionOfChar): ditto
        (WebCore::SVGTextContentElement::getExtentOfChar): ditto
        (WebCore::SVGTextContentElement::getRotationOfChar): ditto
        (WebCore::SVGTextContentElement::getCharNumAtPosition): ditto

2008-05-28  Ada Chan  <adachan@apple.com>

        <rdar://problem/5957036> REGRESSION (r31960): 20-30% slowdown in i-Bench JavaScript test on XP Home
        Conditionalize the timer latency change (r31960) only for vista since it does not
        help xp anyway.

        Reviewed by Steve Falkenburg.

        * platform/win/SharedTimerWin.cpp:
        (WebCore::isRunningOnVistaOrLater):
        (WebCore::TimerWindowWndProc):
        (WebCore::setSharedTimerFireTime):

2008-05-28  Anders Carlsson  <andersca@apple.com>

        Build fix.
        
        * storage/LocalStorage.cpp:
        (WebCore::LocalStorage::scheduleImport):

2008-05-28  Anders Carlsson  <andersca@apple.com>

        Reviewed by Tim.

        <rdar://problem/5965960>
        CrashTracer: [USER] 4 crashes in Safari at libxml2.2.dylib: xmlGenericErrorDefaultFunc + 76
        
        Turns out that while libxml has two different error callbacks, they both use the same context, so we need to 
        set both error callbacks to prevent one of the error callbacks from using the context as a FILE pointer.
        
        * xml/XSLStyleSheet.cpp:
        (WebCore::XSLStyleSheet::parseString):
        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::genericErrorFunc):
        (WebCore::docLoaderFunc):
        * xml/XSLTProcessor.h:

2008-05-28  Brady Eidson  <beidson@apple.com>

        Reviewed by Adam

        Fix hang I introduced to WebKit clients without their LocalStorage paths set
        Such as DRT...

        * storage/LocalStorage.cpp:
        (WebCore::LocalStorage::scheduleImport): Return a bool, namely to signify
          whether or not there is a LocalStorageThread to schedule the import on.
        * storage/LocalStorage.h:

        * storage/LocalStorageArea.cpp:
        (WebCore::LocalStorageArea::LocalStorageArea): If the scheduleImport failed,
          mark the imported flag as true so the LocalStorageArea doesn't wait around
          locking the main thread.

2008-05-28  Anthony Ricaud  <rik24d@gmail.com>

        User stylesheets are now non-editable and displayed as user-stylesheets

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

        Reviewed by Tim Hatcher.

        * English.lproj/localizedStrings.js: Added a string
        * page/inspector/StylesSidebarPane.js:

2008-05-28  Anders Carlsson  <andersca@apple.com>

        Reviewed by Mitz.

        <rdar://problem/5819989> 
        Crash in WebKit!KJS::Window::printErrorMessage quitting Safari after pop up window on uk.real.com was closed

        Add null check for Frame::settings().
        
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::printErrorMessage):

2008-05-27  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Tim Hatcher.

        Fixed https://bugs.webkit.org/show_bug.cgi?id=19183
        REGRESSION (r33979): Crash in DebuggerCallFrame::functionName when
        clicking button in returnEvent-crash.html
        
        Added implementations for willExecuteProgram and didExecuteProgram. They
        take care to update our call frame when entering and exiting programs,
        preventing us from keeping around a stale global frame after executing
        a program.
        
        eval programs now show up as "anonymous function" in a new scope. This
        is slightly better than what they used to do -- overwriting the current
        scope -- but obviously we can do better.

2008-05-28  Brady Eidson  <beidson@apple.com>

        Reviewed by Dan Bernstein

        <rdar://problem/5946834> - LocalStorage threads appearing in apps that don't want them.

        Decided to fix this bug from a few different avenues to make sure we only create LocalStorage resources
        when we *really* want them.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::localStorage): Account for the possibility that the LocalStorage object might be null.

        * storage/LocalStorage.cpp:
        (WebCore::LocalStorage::LocalStorage): Don't create the thread if there is no path name - we know we'll never
          be needing it when there is no file backing us on disk.
        (WebCore::LocalStorage::scheduleImport): Null check the thread, as it might not exist.
        (WebCore::LocalStorage::scheduleSync): Ditto

        * storage/LocalStorageThread.cpp:
        (WebCore::LocalStorageThread::localStorageThread): Clear the threadID after termination - clear way to signify
          that this thread is truly done.
        (WebCore::LocalStorageThread::scheduleImport): ASSERT that the queue is live, and the threadID exists
        (WebCore::LocalStorageThread::scheduleSync): Ditto
        (WebCore::LocalStorageThread::terminate): Don't schedule termination and wait for it to complete if the thread 
          isn't live.

2008-05-28  Alexander Vassilev  <avasilev@voipgate.com>

        Reviewed by Kevin Ollivier.

        Rescale image to fit the destination rect so that we don't get a crash when drawing
        in a destination rect that's bigger than the image rect. Also adds an optimization for
        drawing an image that is a solid color.
        
        https://bugs.webkit.org/show_bug.cgi?id=18465

        * platform/graphics/wx/ImageWx.cpp:
        (WebCore::BitmapImage::draw):

2008-05-27  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon

        Close the video widget explicitly so we don't hang
        when exiting the application.

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

2008-05-27  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Oliver.

        <rdar://problem/5803706> Pressing return at the end of a header doesn't break out of header (17460)
        
        It wasn't enough to break out of the header, to match other browsers we 
        also need to not preserve the typing style.

        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion):
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * editing/InsertParagraphSeparatorCommand.h:

2008-05-27  Timothy Hatcher  <timothy@apple.com>

        <rdar://problem/5966961> REGRESSION: Font previews in the Web
        Inspector always show in Lucida Grande (not the real font)

        Reviewed by Adam Roben.

        * page/inspector/FontView.js: Add a style element that loads the
        @font-face rule that is excepted by the preview element.

2008-05-27  Timothy Hatcher  <timothy@apple.com>

        Fixes a regression where the Image and Font preview views do not
        size correctly.

        <rdar://problem/5966723> REGRESSION (r33991): Image and font previews
        are shrunken and can't be made larger (19281)

        Reviewed by Adam Roben.

        * page/inspector/FontView.js: Adjust the font size based only on the
        container width minus padding.
        * page/inspector/inspector.css: Updated styles for the image and
        font views.

2008-05-27  Adam Roben  <aroben@apple.com>

        Fix Bug 19276: XHR resources are classified as "Other" until Inspector
        is closed and reopened

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

        Reviewed by Tim Hatcher.

        * page/InspectorController.cpp:
        (WebCore::InspectorController::updateScriptResourceResponse): Moved
        code that updates the resource's type from here...
        (WebCore::InspectorController::updateScriptResourceType): ...to here.
        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
        Call updateScriptResourceType now that we know this resource was
        retrieved via an XHR.
        * page/InspectorController.h:

2008-05-27  Timothy Hatcher  <timothy@apple.com>

        Removes a redundant call to InspectorController::stopDebugging().

        Rubber-stamped by Adam Roben.

        * page/InspectorController.cpp:
        (WebCore::InspectorController::showWindow):

2008-05-27  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        - Added and updated some manual test for the profiler.

        * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html:
        * manual-tests/inspector/profiler-test-apply.html:
        * manual-tests/inspector/profiler-test-call.html:
        * manual-tests/inspector/profiler-test-deep-recursion.html: Added.
        * manual-tests/inspector/profiler-test-simple-event-call.html: Added.

2008-05-27  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fix. Accidently left a couple fixes out of the previous commit.

        * webcore-base.bkl:

2008-05-27  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fix. Adding JSHTMLElementWrapperFactory.cpp.
        
        * WebCoreSources.bkl:

2008-05-27  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        Fix linking error (missing gdi32 and user32 libraries).

        * WebCore.pro:

2008-05-27  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        Update the WebKit.qrc so that Web Inspector is functional again.

        * page/inspector/WebKit.qrc:

2008-05-26  Alp Toker  <alp@nuanti.com>

        Reviewed by Anders.

        http://bugs.webkit.org/show_bug.cgi?id=16495
        [GTK] Accessibility support with ATK/AT-SPI

        Implement basic action, text and editable text accessibility.

        Provide utility functions to simplify const string return and casting
        and add some more stubs.

        It's now possible to navigate and manipulate forms and text using
        assistive technologies.

        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
        (returnString):
        (core):
        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::AXButtonActionVerb):
        (WebCore::AXRadioButtonActionVerb):
        (WebCore::AXTextFieldActionVerb):
        (WebCore::AXCheckedCheckBoxActionVerb):
        (WebCore::AXUncheckedCheckBoxActionVerb):
        (WebCore::AXLinkActionVerb):
        (WebCore::imageTitle):

2008-05-25  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Anders.

        - bind the window's "document" and "window" properties to static slots
        1.7% speedup on Acid3 test 26
        
        Only the "document" part matters for Acid3, but since I was doing
        this anyway, "window" also seemed like a good one to optimize.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::JSDOMWindowBase): Allocate variable
        slots for document and window; but just put null in the document
        slot for now.
        (WebCore::JSDOMWindowBase::updateDocument): Fill in the document
        slot.        
        (WebCore::JSDOMWindowBase::~JSDOMWindowBase): Make our shell stop
        tracking us.
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::JSDOMWindowShell): Allocate HashSet
        for our still-not-dead inner windows.
        (WebCore::JSDOMWindowShell::updateDocument): Update all our
        inner windows ever (to make sure the update to the document
        property shows up everywhere).
        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::setWindow): Update our hash.
        (WebCore::JSDOMWindowShell::clearFormerWindow): Ditto.
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::toJS): Don't set self as a property map property of
        the window, this is no longer necessary.
        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::initScript): Update document for the
        newly created window.
        * bindings/js/kjs_proxy.h:
        * page/Frame.cpp:
        (WebCore::Frame::setDocument): If the document is not null,
        update our window.

2008-05-26  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam.

        This patch does two things:
        
        * It adds a toJSNewlyCreated function for creating JS wrappers for nodes where we know
        that the node doesn't have a wrapper. This avoids a hash lookup.
        
        * It adds toJSNewlyCreated methods for JSElement and JSText. 
        
        All in all this is a 4.3% speedup on Acid 3 test 26.
        
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSElementCustom.cpp:
        (WebCore::toJSNewlyCreated):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::createWrapper):
        (WebCore::toJSNewlyCreated):
        (WebCore::toJS):
        * bindings/js/JSTextCustom.cpp: Added.
        (WebCore::toJSNewlyCreated):
        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/Document.idl:

2008-05-26  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Inline the getOwnPropertySlot for JSNode, JSEventTargetNode, JSElement,
        and JSDocument for a 1-2% speedup on Acid 3 test 26.

        * bindings/js/JSEventTargetNode.cpp:
        * bindings/js/JSEventTargetNode.h:
        (WebCore::JSEventTargetNode::getOwnPropertySlot):
        (WebCore::JSEventTargetNode::getValueProperty):
        (WebCore::JSEventTargetNode::put):
        (WebCore::JSEventTargetNode::putValueProperty):
        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/Document.idl:
        * dom/Element.idl:
        * dom/Node.idl:

2008-05-26  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

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

        Removed code that would only useful if if there was any way to create an Entity
        node or if we populated EntityReference nodes. It's likely that we'll remove
        these node types entirely in some future version of WebKit, depending in part
        on what happens with these in HTML 5.

        1.8% speedup of Acid3 test 26.

        The only read-only nodes we ever create are EntityReference nodes.
        These are only created by explicit calls to the Document.createEntityReference
        function. Since the created nodes are read-only, there can be no children of
        these nodes, so no other types of nodes can be read-only despite the rule that
        makes descendants of Entity and EntityReference nodes read-only.

        * bindings/objc/DOM.mm: Removed unneeded include.

        * dom/Attr.cpp:
        (WebCore::Attr::setValue): Removed unnecessary isReadOnlyNode check.
        (WebCore::Attr::setNodeValue): Ditto.
        * dom/CharacterData.cpp:
        (WebCore::CharacterData::setData): Removed unnecessary isReadOnlyNode check.
        (WebCore::CharacterData::substringData): Don't initialize the ec variable before
        calling checkCharDataOperation, since that function already does it.
        (WebCore::CharacterData::appendData): Removed unnecessary isReadOnlyNode check.
        (WebCore::CharacterData::insertData): Don't initialize ec.
        (WebCore::CharacterData::deleteData): Ditto.
        (WebCore::CharacterData::replaceData): Ditto.
        (WebCore::CharacterData::setNodeValue): Removed now-misleading comment.
        (WebCore::CharacterData::checkCharDataOperation): Removed unnecessary
        isReadOnlyNode check.
        * dom/CharacterData.h: Made checkCharDataOperation private and non-virtual
        since it's never used or defined in any other class.

        * dom/Element.cpp:
        (WebCore::Element::setAttribute): Removed unneeded isReadOnlyNode check.

        * dom/Entity.cpp: Removed the entire contents of this file.

        * dom/Entity.h: Replaced the class with a stub -- just enough to keep the
        public bindings (JavaScript and Objective-C compiling), but the class is
        abstract and can't be instantianted.

        * dom/EntityReference.cpp: Removed unused constructor.
        (WebCore::EntityReference::cloneNode): Removed unneeded code and comments
        to clone nonexistent child nodes.
        * dom/EntityReference.h: Removed unused constructor and unnecessary override
        of childTypeAllowed, since no children are allowed at all.

        * dom/NamedAttrMap.cpp:
        (WebCore::NamedAttrMap::setNamedItem): Removed unneeded isReadOnlyNode check.
        (WebCore::NamedAttrMap::removeNamedItem): Ditto.
        * dom/NamedAttrMap.h: Removed isReadOnlyNode function.

        * dom/Node.cpp: Removed the old isReadOnlyNode function. It made lots of
        virtual nodeType function calls.
        * dom/Node.h:
        (WebCore::Node::isReadOnlyNode): Replaced the old virtual isReadOnlyNode
        function with a new simple non-virtual one.

        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::setData): Removed unneeded isReadOnlyNode
        check.

        * dom/Text.cpp:
        (WebCore::Text::splitText): Removed unneeded isReadOnlyNode check.
        (WebCore::Text::replaceWholeText): Removed unnecessary isReadOnlyNode assertion.
        There is no reason for this function to go out of its way to mention the
        read-only node issue when none of the other DOM mutation functions do.

2008-05-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam.

        Cleanup SecurityOrigin::canAccess.  Removed comment referring to an
        old version of the code.  Removed some useless code.

        * platform/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canAccess):

2008-05-26  Gwenole Beauchesne  <gbeauchesne@splitted-desktop.org>

        Reviewed by Alp Toker.

        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::contextMenuItemTagSelectAll): Fix GTK+ version check.

2008-05-25  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by David Harrison

        <rdar://problem/3582905> elements on separate pages need to be distinct

        * page/AccessibilityListBox.h:
        * page/AccessibilityObject.h:
        (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
        * page/AccessibilityRenderObject.cpp:
        * page/AccessibilityRenderObject.h:

2008-05-25  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - don't repaint nodes that are removed before layout
        4.3% speedup on Acid3 test 26

        Mitz points out the new flag can also be used to optimize other
        cases of needless repaint such as
        <https://bugs.webkit.org/show_bug.cgi?id=15129>.
        
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::removeChildNode): If the child has never had a layout,
        don't bother to repaint it, since there's nothing to dirty.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::RenderObject): Initialize m_everHadLayout to false.
        (WebCore::RenderObject::setNeedsLayout): Set m_everHadLayout to true if we
        are being marked as not needing layout.
        * rendering/RenderObject.h:

2008-05-25  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19086
          <rdar://problem/5962254> REGRESSION (r28519-r28535): Caret doesn't paint past the right edge of a block

        Test: fast/repaint/caret-outside-block.html

        * editing/SelectionController.cpp:
        (WebCore::repaintRectForCaret): Restored this function which was removed
        in r28523, but changed it to inflate only the width.
        (WebCore::SelectionController::caretRepaintRect): Changed back to use
        repaintRectForCaret().
        (WebCore::SelectionController::recomputeCaretRect): Ditto.

2008-05-25  Marco Barisione  <marco.barisione@collabora.co.uk>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=18940
        [CURL] Allow \n as line terminator for headers

        The line terminator for message-header fields should be CRLF. However,
        it is recommended to recognise as a line terminator also a single LF.

        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::headerCallback): Allow headers to be terminated by "\n" and
        not just by "\r\n".

2008-05-25  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Alp Toker.

        WARNING: NO TEST CASES ADDED OR CHANGED

        http://bugs.webkit.org/show_bug.cgi?id=19142
        [Gtk] Remove build options --svg-experimental and --cross-document-messaging

        * GNUmakefile.am:

2008-05-24  Rob Buis  <buis@kde.org>

        Reviewed by Eric.

        https://bugs.webkit.org/show_bug.cgi?id=18927
        Unify path data debug output

        Implement unified path data output for Mac svg tests.

        * platform/graphics/cg/PathCG.cpp:
        (WebCore::CGPathToCFStringApplierFunction):
        (WebCore::CFStringFromCGPath):

2008-05-24  Timothy Hatcher  <timothy@apple.com>

        Fixes a huge leak with the Inspector where it was protecting
        a large object that was not being unprotected.

        <rdar://problem/5961999> Inspector protects a large JavaScript
        object and never unprotects it (large leak)

        Reviewed by Darin Adler.

        * page/InspectorController.cpp:
        (WebCore::InspectorController::inspectedPageDestroyed): Call close()
        and removed a call to stopDebugging() and moved it to close().
        (WebCore::InspectorController::close): Add stopDebugging() and
        stopUserInitiatedProfiling(). Removed an ASSERT and added an
        if statement before calling JSValueUnprotect. We don't always have
        a m_scriptContext and m_scriptObject.

2008-05-24  Alp Toker  <alp@nuanti.com>

        Win32/gcc3 build fix in Pango font backend. UChar needs to be
        explicitly cast to gunichar2.

        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::utf16_to_utf8):

2008-05-24  Timothy Hatcher  <timothy@apple.com>

        Fixes a crash where a new Inspector would get an old
        JSInspectedObjectWrapper for a user agent CSSStyleDeclaration.
        Since these style objects shared between pages, the wrapper cache
        would have a wrapper for the object still. But the wrapper was
        for a previous global object and with a disconnected frame. This
        fixes the wrapper cache so wrappers are remembered per global object
        and the object they are wrapping.

        <rdar://problem/5958567> repro crash in WebCore::Frame::keepAlive()
        opening inspector window after closing it

        Reviewed by Darin Adler.

        * bindings/js/JSInspectedObjectWrapper.cpp:
        (WebCore::wrappers): Return a GlobalObjectWrapperMap reference.
        (WebCore::JSInspectedObjectWrapper::wrap): Find the WrapperMap
        by the dynamicGlobalObject then find the wrapper for unwrappedObject.
        (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): Changes
        how the wrapper is added to the wrapper cache.
        (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper): Changes
        how the wrapper is removed from the wrapper cache.
        * bindings/js/JSQuarantinedObjectWrapper.h:
        (WebCore::JSQuarantinedObjectWrapper:unwrappedGlobalObject): Added.

2008-05-24  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Maciej.

        Optimize Node::textContent() to avoid O(n^2) string appending behavior.

        1.6% speedup at Acid3 test 26.

        * WebCore.xcodeproj/project.pbxproj:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCoreSources.bkl:
        * WebCore.vcproj/WebCore.vcproj:
        * platform/text/StringBuilder.cpp: Added.
        (WebCore::StringBuilder::append):
        (WebCore::StringBuilder::toString):
        * platform/text/StringBuilder.h: Added.
        (WebCore::StringBuilder::StringBuilder):
        (WebCore::StringBuilder::isNull):
        Added a simple class to efficiently build a string by appending. Potentially, it can be
        extended to be more like java.lang.StringBuilder, but we don't need that much flexibility now.

        * dom/Node.cpp:
        (WebCore::Node::appendTextContent):
        (WebCore::Node::textContent):
        * dom/Node.h:
        Changed to use StringBuilder.

2008-05-24  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric.

        Bug 9191: JS*ElementWrapperFactory should be autogenerated
        https://bugs.webkit.org/show_bug.cgi?id=9191

        This is a first pass for generation of JS*ElementWrapperFactory, in the long term we should move the make_names.pl
        intelligence to the *.in files.

        - Add a new parameter to make_names.pl --wrapperFactory which works like --wrapper but generates the
        JS*ElementWrapperFactory files.

        - Removed JS*ElementWrapperFactory files in WebCore/bindings/js, replaced by the generated ones.

        - Updated the build systems to account for the previous changes.

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSHTMLElementWrapperFactory.cpp: Removed.
        * bindings/js/JSHTMLElementWrapperFactory.h: Removed.
        * bindings/js/JSSVGElementWrapperFactory.cpp: Removed.
        * bindings/js/JSSVGElementWrapperFactory.h: Removed.
        * dom/make_names.pl:

2008-05-24  Oleg Finkelshteyn <olegfink@gmail.com>

        Rubber-stamped and landed by Alexey.

        Build fix for gcc 4.3.

        * WebCore/page/Console.cpp:
        Add missing standard includes.

2008-05-23  Timothy Hatcher  <timothy@apple.com>

        Fixes a bug where a timer would keep firing after the Inspector
        was closed. It turns out this timer wasn't needed anymore now
        that we can add an event listener to the inspected page and have
        it get called in the Inspector's context.

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

        Reviewed by Mark Rowe.

        * page/inspector/ElementsPanel.js:

2008-05-23  Anthony Ricaud  <rik24d@gmail.com>

        Changes the largerResourcesButton tooltip to toggle.

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

        Reviewed by Tim Hatcher.

        * WebCore/English.lproj/localizedStrings.js: New string and clean an
        double string "Dock to main window."
        * WebCore/page/inspector/ResourcesPanel.js: Toggle the tooltip and
        change the default tooltip

2008-05-23  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin.

        <rdar://problem/5939887> REGRESSION: With no selection, copy does not fire oncopy handler (affects CIFilterBrowser widget)
        
        Execute cut, copy and paste if they are invoked explicitly, via execCommand or -[WebView copy:], even
        if they are disabled.  This will fire oncopy, oncut and onpaste, but won't perform any other work, like
        writing to the pasteboard during cut/copy or deleting the selection during cut/paste.  This matches FF3,
        which actually goes further and fires oncopy on any Command-C.
        
        * editing/EditorCommand.cpp:
        (WebCore::CommandEntry::):
        (WebCore::Editor::Command::execute):

2008-05-23  Timothy Hatcher  <timothy@apple.com>

        Adds a percentage toggle button the profile view status bar that
        changes the time columns between absolute and percents.

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

        Reviewed by Kevin McCullough.

        * English.lproj/localizedStrings.js: New strings.
        * page/inspector/Images/percentButtons.png: Added.
        * page/inspector/ProfileView.js: Make the button and add it to the
        status bar. Make clicking toggle the showAsPercent* properties.
        * page/inspector/inspector.css: New styles.

2008-05-23  Timothy Hatcher  <timothy@apple.com>

        Fixes a bug where excluding nodes from the profile could
        show an empty parent node.

        <rdar://problem/5959573> Excluding nodes from the profile could show
        an empty parent node

        Reviewed by Kevin McCullough.

        * page/inspector/ProfileView.js: Only say we have children if
        all of our children nodes are visible.

2008-05-23  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Add IconFetcher to project.
        
        * WebCore.vcproj/WebCore.vcproj:

2008-05-23  Timothy Hatcher  <timothy@apple.com>

        Fixes a bug where the Web Insepctor would jump back to
        Elements each time it is opened instead of staying at the
        last selected panel.

        <rdar://problem/5959475> Inspector jumps to the Elements panel
        each time it is opened, instead of staying at the previous panel

        Reviewed by Adam Roben.

        * page/InspectorController.cpp:
        (WebCore::InspectorController::setWindowVisible): Reset
        m_showAfterVisible to CurrentPanel, so the next time setWindowVisible
        is called it will use CurrentPanel unless showPanel was called again.

2008-05-23  chris fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/5933759> REGRESSION: Frames don't appear as AX children of the top level web area

        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):

2008-05-23  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        For Qt port, support painting to native Windows HDC.

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

2008-05-23  Timothy Hatcher  <timothy@apple.com>

        Fixes a bug where the Inspector could have 0ms timers firing
        even after it is closed.

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

        Reviewed by Oliver Hunt.

        * page/inspector/DatabasesPanel.js: Removes setTimeouts that call
        the same function with a 0ms delay. These we not doing any good anyway,
        so they weren't needed and just caused problems.
        * page/inspector/ElementsPanel.js: Ditto.
        * page/inspector/ProfilesPanel.js: Ditto.
        * page/inspector/ResourcesPanel.js: Ditto.

2008-05-23  Timothy Hatcher  <timothy@apple.com>

        Make the Inspector correctly populate the profiles when
        closed and re-opened.

        Reviewed by Adam Roben.

        * page/InspectorController.cpp:
        (WebCore::InspectorController::populateScriptObjects): Call populateInterface
        in inspector.js.
        * page/inspector/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.populateInterface): If visible,
        call _populateProfiles. Else just set this._shouldPopulateProfiles to true.
        (WebInspector.ProfilesPanel.prototype.reset): Don't call _populateProfiles.
        Just set this._shouldPopulateProfiles to true.
        (WebInspector.ProfilesPanel.prototype._populateProfiles): Delete
        this._shouldPopulateProfiles.
        * page/inspector/inspector.js:
        (WebInspector.populateInterface): Added. Call populateInterface on all the
        panels if they implement it.

2008-05-23  Kevin McCullough  <kmccullough@apple.com>

        RS = Adam.

        Editorial changes

        * manual-tests/inspector/profiler-test-apply.html:
        * manual-tests/inspector/profiler-test-document-dot-write.html:
        * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html:
        * manual-tests/inspector/profiler-test-one-execution-context.html:
        * manual-tests/inspector/profiler-test-two-execution-contexts.html:

2008-05-23  Timothy Hatcher  <timothy@apple.com>

        Fixes the bug where the profile was not added when finished.

        <rdar://problem/5958851> Stop Profiling from the Develop menu does
        not add the Profile to the Inspector

        Reviewed by Adam Roben.

        * page/InspectorController.cpp:
        (WebCore::InspectorController::stopUserInitiatedProfiling): Call
        addProfile with the result of stopProfiling.

2008-05-23  Timothy Hatcher  <timothy@apple.com>

        Tweak the Web Insector toolbar look to be smaller when attached to
        the inspected page.

        Reviewed by Adam Roben.

        * page/inspector/inspector.css:

2008-05-23  Simon Hausmann  <hausmann@webkit.org>

        Fix compilation without accessibility by providing an empty stub for
        AXObjectCache::handleAriaRoleChanged.

        * page/AXObjectCache.h:

2008-05-23  Alice Liu  <alice.liu@apple.com>

        Reviewed by Mark Rowe.

        Remove call to function whose body was commented out. Returning the
        children for a menu button by the normal calculation works just as well. 

        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::addChildren):
        * page/AccessibilityRenderObject.h:

2008-05-22  Timothy Hatcher  <timothy@apple.com>

        Fixes the bug where resource would show up multiple times in the
        Inspector. This happened when a resource was used multiple times or
        when the preloader was scanning ahead to fetch resources.

        <rdar://problem/5689373> Cached resources re-appear in Web Inspector
        for each access (18223)

        Reviewed by Adam Roben.

        * page/InspectorController.cpp:
        (WebCore::InspectorController::addResource): Add the URL to m_knownResources.
        (WebCore::InspectorController::removeResource): Remove the URL from m_knownResources
        (WebCore::InspectorController::didLoadResourceFromMemoryCache): If the URL
        is in m_knownResources, then early return.
        * page/InspectorController.h: Added m_knownResources.

2008-05-22  Alice Liu  <alice.liu@apple.com>

        Reviewed by Adele, Dan Bernstein.

        Fixed <rdar://problem/5943104> Need to implement ARIA role="menu" and related roles
        <rdar://problem/5943132> Need to implement ARIA role="menuitem"
        <rdar://problem/5943173> Need to implement ARIA role="menubar" 

        These changes added a handler for determining the ARIA role when the
        attribute changes.  Before we were querying for the attribute over and
        over every time we queried for the role.
        * dom/Element.cpp:
        (WebCore::Element::attributeChanged):
        * page/AXObjectCache.cpp:
        (WebCore::AXObjectCache::handleAriaRoleChanged):
        * page/AXObjectCache.h:

        The rest of these changes implement menu, menuitem, and menubar. the last 2 of those
        have to, for now, be represented as a Group and MenuButton instead, because AppKit 
        won't recognize menubar and menubaritems within apps. 
        * page/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isMenuRelated):
        (WebCore::AccessibilityObject::isMenu):
        (WebCore::AccessibilityObject::isMenuBar):
        (WebCore::AccessibilityObject::isMenuButton):
        (WebCore::AccessibilityObject::isMenuItem):
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
        (WebCore::AccessibilityRenderObject::parentObject):
        (WebCore::AccessibilityRenderObject::isMenuRelated):
        (WebCore::AccessibilityRenderObject::isMenu):
        (WebCore::AccessibilityRenderObject::isMenuBar):
        (WebCore::AccessibilityRenderObject::isMenuButton):
        (WebCore::AccessibilityRenderObject::isMenuItem):
        (WebCore::siblingWithAriaRole):
        (WebCore::AccessibilityRenderObject::menuElementForMenuButton):
        (WebCore::AccessibilityRenderObject::menuForMenuButton):
        (WebCore::AccessibilityRenderObject::menuItemElementForMenu):
        (WebCore::AccessibilityRenderObject::menuButtonForMenu):
        (WebCore::AccessibilityRenderObject::title):
        (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId):
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        (WebCore::RoleEntry::):
        (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
        (WebCore::AccessibilityRenderObject::setAriaRole):
        (WebCore::AccessibilityRenderObject::ariaRoleAttribute):
        (WebCore::AccessibilityRenderObject::addChildren):
        (WebCore::AccessibilityRenderObject::ariaMenuButtonChildren):
        * page/AccessibilityRenderObject.h:
        * page/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityActionNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper roleDescription]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):

2008-05-22  Adam Roben  <aroben@apple.com>

        Make top-level resources show their full URLs again instead of just
        "/"

        Reviewed by Tim Hatcher.

        * page/inspector/Resource.js:
        (WebInspector.Resource.prototype.displayName): If the title has gotten
        down to just "/", which will happen for, e.g., http://webkit.org/,
        just show the entire URL.

2008-05-22  Timothy Hatcher  <timothy@apple.com>

        Shorten URLs shown in the Web Inspector to the file name. This makes
        finding files in the Console or the Scripts panel easier.

        Reviewed by Adam Roben.

        * page/inspector/Console.js:
        (WebInspector.ConsoleMessage.prototype.get shortURL): Removed dead code.
        (WebInspector.ConsoleMessage.prototype.toMessageElement): Call WebInspector.displayNameForURL
        for the URL before making the link element.
        * page/inspector/ProfileView.js:
        (WebInspector.ProfileDataGridNode.prototype.createCell): Use WebInspector.displayNameForURL.
        * page/inspector/Resource.js:
        (WebInspector.Resource.prototype.get displayName): Use trimURL to
        trim the URL with the main resource's domain.
        * page/inspector/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use WebInspector.displayNameForURL.
        * page/inspector/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection): Ditto.
        * page/inspector/inspector.js:
        (WebInspector.displayNameForURL): Added.
        (WebInspector.resourceForURL): Check for a direct match in resourceURLMap first.

2008-05-22  Adam Roben  <aroben@apple.com>

        Fix Bug 19204: Inspector should highlight source lines when following
        links to them

        <https://bugs.webkit.org/show_bug.cgi?id=19204>

        Reviewed by Tim Hatcher.

        Test: manual-tests/inspector/highlight-source-line.html

        * manual-tests/inspector/highlight-source-line.html: Added.
        * page/inspector/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.showResource): Call
        highlightLine on the view if that function exists.
        * page/inspector/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.highlightLine): Added. Adds the
        webkit-highlighted-line class to the relevant line, then removes it
        after a short delay.
        (WebInspector.SourceFrame.prototype._loaded): Added styles for the
        highlighted line(s).
        * page/inspector/SourceView.js:
        (WebInspector.SourceView.prototype.highlightLine): Added. Calls
        through to the SourceFrame.

2008-05-22  Rob Buis  <buis@kde.org>

        Reviewed by Eric.

        https://bugs.webkit.org/show_bug.cgi?id=12053
        SVGPathSeg*(Abs|Rel) classses should be combined to reduce code size

        Reduce code size through shared base classes.

        * svg/SVGPathSeg.h:
        (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
        (WebCore::SVGPathSegSingleCoord::setX):
        (WebCore::SVGPathSegSingleCoord::x):
        (WebCore::SVGPathSegSingleCoord::setY):
        (WebCore::SVGPathSegSingleCoord::y):
        (WebCore::SVGPathSegSingleCoord::toString):
        * svg/SVGPathSegArc.cpp:
        (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
        (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
        * svg/SVGPathSegArc.h:
        (WebCore::SVGPathSegArc::SVGPathSegArc):
        (WebCore::SVGPathSegArc::toString):
        (WebCore::SVGPathSegArc::setX):
        (WebCore::SVGPathSegArc::x):
        (WebCore::SVGPathSegArc::setY):
        (WebCore::SVGPathSegArc::y):
        (WebCore::SVGPathSegArc::setR1):
        (WebCore::SVGPathSegArc::r1):
        (WebCore::SVGPathSegArc::setR2):
        (WebCore::SVGPathSegArc::r2):
        (WebCore::SVGPathSegArc::setAngle):
        (WebCore::SVGPathSegArc::angle):
        (WebCore::SVGPathSegArc::setLargeArcFlag):
        (WebCore::SVGPathSegArc::largeArcFlag):
        (WebCore::SVGPathSegArc::setSweepFlag):
        (WebCore::SVGPathSegArc::sweepFlag):
        (WebCore::SVGPathSegArcAbs::create):
        (WebCore::SVGPathSegArcAbs::pathSegType):
        (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegArcRel::create):
        (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
        * svg/SVGPathSegCurvetoCubic.cpp:
        (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
        (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
        * svg/SVGPathSegCurvetoCubic.h:
        (WebCore::SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic):
        (WebCore::SVGPathSegCurvetoCubic::toString):
        (WebCore::SVGPathSegCurvetoCubic::setX):
        (WebCore::SVGPathSegCurvetoCubic::x):
        (WebCore::SVGPathSegCurvetoCubic::setY):
        (WebCore::SVGPathSegCurvetoCubic::y):
        (WebCore::SVGPathSegCurvetoCubic::setX1):
        (WebCore::SVGPathSegCurvetoCubic::x1):
        (WebCore::SVGPathSegCurvetoCubic::setY1):
        (WebCore::SVGPathSegCurvetoCubic::y1):
        (WebCore::SVGPathSegCurvetoCubic::setX2):
        (WebCore::SVGPathSegCurvetoCubic::x2):
        (WebCore::SVGPathSegCurvetoCubic::setY2):
        (WebCore::SVGPathSegCurvetoCubic::y2):
        (WebCore::SVGPathSegCurvetoCubicAbs::create):
        (WebCore::SVGPathSegCurvetoCubicAbs::pathSegType):
        (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoCubicRel::create):
        (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
        * svg/SVGPathSegCurvetoCubicSmooth.cpp:
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
        * svg/SVGPathSegCurvetoCubicSmooth.h:
        (WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth):
        (WebCore::SVGPathSegCurvetoCubicSmooth::toString):
        (WebCore::SVGPathSegCurvetoCubicSmooth::setX):
        (WebCore::SVGPathSegCurvetoCubicSmooth::x):
        (WebCore::SVGPathSegCurvetoCubicSmooth::setY):
        (WebCore::SVGPathSegCurvetoCubicSmooth::y):
        (WebCore::SVGPathSegCurvetoCubicSmooth::setX2):
        (WebCore::SVGPathSegCurvetoCubicSmooth::x2):
        (WebCore::SVGPathSegCurvetoCubicSmooth::setY2):
        (WebCore::SVGPathSegCurvetoCubicSmooth::y2):
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegType):
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegType):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
        * svg/SVGPathSegCurvetoQuadratic.cpp:
        (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
        (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
        * svg/SVGPathSegCurvetoQuadratic.h:
        (WebCore::SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic):
        (WebCore::SVGPathSegCurvetoQuadratic::toString):
        (WebCore::SVGPathSegCurvetoQuadratic::setX):
        (WebCore::SVGPathSegCurvetoQuadratic::x):
        (WebCore::SVGPathSegCurvetoQuadratic::setY):
        (WebCore::SVGPathSegCurvetoQuadratic::y):
        (WebCore::SVGPathSegCurvetoQuadratic::setX1):
        (WebCore::SVGPathSegCurvetoQuadratic::x1):
        (WebCore::SVGPathSegCurvetoQuadratic::setY1):
        (WebCore::SVGPathSegCurvetoQuadratic::y1):
        (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
        (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegType):
        (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoQuadraticRel::create):
        (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegType):
        (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
        * svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
        * svg/SVGPathSegCurvetoQuadraticSmooth.h:
        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
        * svg/SVGPathSegLineto.cpp:
        (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
        (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
        * svg/SVGPathSegLineto.h:
        (WebCore::SVGPathSegLinetoAbs::create):
        (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
        * svg/SVGPathSegLinetoHorizontal.cpp:
        (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
        (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
        * svg/SVGPathSegLinetoHorizontal.h:
        (WebCore::SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal):
        (WebCore::SVGPathSegLinetoHorizontal::toString):
        (WebCore::SVGPathSegLinetoHorizontal::setX):
        (WebCore::SVGPathSegLinetoHorizontal::x):
        (WebCore::SVGPathSegLinetoHorizontalAbs::create):
        (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegLinetoHorizontalRel::create):
        (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
        * svg/SVGPathSegLinetoVertical.cpp:
        (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
        (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
        * svg/SVGPathSegLinetoVertical.h:
        (WebCore::SVGPathSegLinetoVertical::SVGPathSegLinetoVertical):
        (WebCore::SVGPathSegLinetoVertical::toString):
        (WebCore::SVGPathSegLinetoVertical::setY):
        (WebCore::SVGPathSegLinetoVertical::y):
        (WebCore::SVGPathSegLinetoVerticalAbs::create):
        (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegLinetoVerticalRel::create):
        (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
        * svg/SVGPathSegMoveto.cpp:
        (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
        (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
        * svg/SVGPathSegMoveto.h:
        (WebCore::SVGPathSegMovetoAbs::create):
        (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegMovetoRel::create):
        (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):

2008-05-22  Alp Toker  <alp@nuanti.com>

        GTK+/DirectFB build fix attempt.

        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::isPreferredPluginDirectory):
        * plugins/gtk/PluginDatabaseGtk.cpp:
        (WebCore::PluginDatabase::isPreferredPluginDirectory):

2008-05-22  Timothy Hatcher  <timothy@apple.com>

        Adds Focus, Exclude and Restore buttons to the Profile view
        Status bar. Also adds a Record button to create new profiles.

        <rdar://problem/5950867> JSProfiler: Allow the profiler to "Focus" a profile node.
        <rdar://problem/5951529> JSProfiler: Allow the profiler to "Exclude" a profile node.

        Reviewed by Adam Roben.

        * English.lproj/localizedStrings.js: Added new strings.
        * page/JavaScriptProfile.cpp:
        (WebCore::restoreAll): Call Profile::restoreAll.
        (WebCore::ProfileClass): Added restoreAll to the static functions.
        * page/inspector/Images/excludeButtons.png: Added.
        * page/inspector/Images/focusButtons.png: Added.
        * page/inspector/Images/recordButtons.png: Added.
        * page/inspector/Images/reloadButtons.png: Added.
        * page/inspector/ProfileView.js:
        (WebInspector.ProfileView): Create the buttons elements.
        (WebInspector.ProfileView.prototype.get statusBarItems): Return the three
        status bar buttons.
        (WebInspector.ProfileView.prototype.refresh): Only create ProfileDataGridNodes
        for ProfileNodes that are visible.
        (WebInspector.ProfileView.prototype.refreshShowAsPercents): Just call
        refresh on the children, now that they have access to the ProfileView's properties.
        (WebInspector.ProfileView.prototype._focusClicked): Call focus
        on the profile, refresh the ProfileView and show the reset button.
        (WebInspector.ProfileView.prototype._excludeClicked): Call exclude
        on the profile, refresh the ProfileView and show the reset button.
        (WebInspector.ProfileView.prototype._resetClicked): Call restoreAll
        on the profile, refresh the ProfileView and hide the reset button.
        (WebInspector.ProfileView.prototype._dataGridNodeSelected): Enable the 
        focus and exclude buttons.
        (WebInspector.ProfileView.prototype._dataGridNodeDeselected): Disable the
        focus and exclude buttons.
        (WebInspector.ProfileDataGridNode): Take a ProfileView, and remove the 
        showPercentAs* arguments.
        * page/inspector/ProfilesPanel.js: Add a record status bar button and
        th ability to have per-view status bar buttons.
        * page/inspector/inspector.css: New styles.

2008-05-22  Mark Rowe  <mrowe@apple.com>

        Reviewed by Tim Hatcher.

        <rdar://problem/5956612> ibtool crashes during build

        SCDynamicStoreCreate will return null if it cannot create a dynamic store object.  We need
        to check for failure rather than continuing with a null store as this results in us
        passing a null CFRunLoopSourceRef to CFRunLoopAddSource, which promptly crashes.

        * platform/network/mac/NetworkStateNotifierMac.cpp:
        (WebCore::NetworkStateNotifier::NetworkStateNotifier): Null check SCDynamicStoreCreate and
        SCDynamicStoreCreateRunLoopSource as it is possible for them to fail.

2008-05-22  Adam Roben  <aroben@apple.com>

        Add a test for calling a NodeList as a function while profiling

        Reviewed by Kevin McCullough.

        * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Added.

2008-05-22  Kevin McCullough  <kmccullough@apple.com>

        Rubber stamped by Adam.

        -Added new profiler tests.

        * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Added.
        * manual-tests/inspector/profiler-test-constructor.html: Added.
        * manual-tests/inspector/profiler-test-document-dot-write.html: Added.
        * manual-tests/inspector/profiler-test-simple-no-level-change.html: Added.
        * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Added.
        * manual-tests/inspector/profiler-test-window-dot-eval.html: Added.

2008-05-22  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        <rdar://problem/5951529> JSProfiler: Allow the profiler to "Exclude" a
        profile node.
        -Expose the 'exclude' function to the WebInspector.
        -Also fix a bug with 'focus' and expose whether or not a node is visible

        * page/JavaScriptProfile.cpp: Renamed profileClass to have a capital P.
        (WebCore::getTitleCallback):
        (WebCore::getHeadCallback):
        (WebCore::focus): Now correctly compares against a ProfileNodeClass
        instead of ProfileClass.
        (WebCore::exclude): Expose 'exclude' function to the WebInspector.
        (WebCore::ProfileClass):
        (WebCore::toJS):
        * page/JavaScriptProfileNode.cpp: Declare the ProfileNodeClass in the
        header so that ProfileClass can use it.
        (WebCore::getVisible): Expose a node's visiblity to the WebInspector.
        (WebCore::ProfileNodeClass):
        * page/JavaScriptProfileNode.h:

2008-05-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        <rdar://problem/5838772> Support cross-site XMLHttpRequest

        - Implement support for cross-site non-GET requests using the HTTP header
          Access-control mechanism.

        Tests: http/tests/xmlhttprequest/access-control-basic-allow-async.html
               http/tests/xmlhttprequest/access-control-basic-not-get-allow-async.html
               http/tests/xmlhttprequest/access-control-basic-not-get-allow.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::send):
        Don't continue send if inside the method check preflight (only happens for async).
        
        (WebCore::XMLHttpRequest::crossSiteAccessRequest):
        Add support for non-GET requests, starting off a method check preflight.

        (WebCore::XMLHttpRequest::handleAsynchronousMethodCheckResult):
        Handler for finishing up after an asynchronous method check has completed.

        (WebCore::XMLHttpRequest::didFinishLoading):
        (WebCore::XMLHttpRequest::didFinishLoadingMethodCheck):
        (WebCore::XMLHttpRequest::didReceiveResponse):
        (WebCore::XMLHttpRequest::didReceiveResponseMethodCheck):
        (WebCore::XMLHttpRequest::didReceiveData):
        Do a limited set of access control when in the method check preflight.
        * xml/XMLHttpRequest.h:

2008-05-22  Timothy Hatcher  <timothy@apple.com>

        Make sure we don't call findTreeElement with the same representedObject
        again, to prevent infinite recursion. Added many comments to this
        code so it can be understood later.

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

        Reviewed by Adam Roben.

        * page/inspector/treeoutline.js:

2008-05-22  Timothy Hatcher  <timothy@apple.com>

        Re-word the "Attach Debugger" overlay to never say "Attach". The new
        wording is "Start Debugging". This makes the overlay consistent with
        other wording used for starting the debugger. Also fixes the tooltips
        for the Pause on Exceptions button.

        Reviewed by Adam Roben and Dan Bernstein.

        * English.lproj/localizedStrings.js: Adds new strings.
        * page/inspector/ScriptsPanel.js: Changes the wording. Flips the
        tooltips for the Pause on Exceptions buttons so the tooltip says
        what will happen when the button is pressed.

2008-05-22  Timothy Hatcher  <timothy@apple.com>

        Remove some non-functional elements from the Scripts panel
        so they don't confuse users why they aren't working.

        Reviewed by Adam Roben.

        * page/inspector/ScriptsPanel.js: Removes the back/forward buttons
        and the function menu.
        * page/inspector/inspector.css: Make the files menu wider since there
        is more room now.

2008-05-22  Timothy Hatcher  <timothy@apple.com>

        <rdar://problem/5956403> Update the Develop menu to match the new Inspector items

        Reviewed by Adam Roben.

        * English.lproj/localizedStrings.js:
        * WebCore.base.exp:
        * page/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::inspect):
        (WebCore::InspectorController::setWindowVisible):
        (WebCore::InspectorController::showPanel):
        (WebCore::InspectorController::startUserInitiatedProfiling):
        (WebCore::InspectorController::stopUserInitiatedProfiling):
        (WebCore::InspectorController::startDebuggingAndReloadInspectedPage):
        (WebCore::InspectorController::stopDebugging):
        * page/InspectorController.h:
        (WebCore::InspectorController::):
        (WebCore::InspectorController::isRecordingUserInitiatedProfile):
        * page/inspector/ProfilesPanel.js:
        * page/inspector/ScriptsPanel.js:
        * page/inspector/inspector.js:

2008-05-22  Josh Aas  <joshmoz@gmail.com>

        Reviewed by Anders.

        <rdar://problem/5956429> 
        https://bugs.webkit.org/show_bug.cgi?id=19192
        remove NPNVpluginEventModel, fix example plugin
        
        Remove NPNVpluginEventModel enum variable.
        
        * bridge/npapi.h:

2008-05-22  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Dan.

        Fix <rdar://problem/5952405>.  The unbeforeunload count cannot be cleared when it is dispatched because it is possible to be called again.  Clear it after the unload event is dispatched.

        Test: fast/events/onunload-clears-onbeforeunload.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        * page/Frame.cpp:
        (WebCore::Frame::shouldClose):

2008-05-22  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Oliver.

        Qt build fix.

        * bindings/js/StringSourceProvider.h: Remove text at end of
        preprocessor statement.
        * bridge/qt/qt_instance.cpp:
        (KJS::Bindings::QtRuntimeObjectImp::getConstructData): Replaced
        implementsConstruct() with getConstructData().
        (KJS::Bindings::QtInstance::getCallData): Replaced implementsCall with
        getCallData().
        (KJS::Bindings::QtInstance::invokeDefaultMethod): Use getCallData()
        instead of implementsCall().
        * bridge/qt/qt_instance.h:

2008-05-22  Adam Roben  <aroben@apple.com>

        Massively speed up date-format-tofte with the debugger attached

        On a debug Windows build (I know, hardly a good testcase) this patch
        makes this test run 57.25x as fast.

        Reviewed by Mark Rowe.

        * page/inspector/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.reset): Clear the
        _scriptsForURLsInFilesSelect object.
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Instead
        of looping over all the options in the select to find the option we
        want, get the script object from _scriptsForURLsInFilesSelect and get
        the option element from the script object.
        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use
        _scriptsForURLsInFilesSelect to cache the script objects. Store the
        option element for each script on the script object so we can quickly
        retrieve it later.

2008-05-22  Adam Roben  <aroben@apple.com>

        Remove some dead code from ScriptsPanel.js

        Reviewed by Mark Rowe.

        * page/inspector/ScriptsPanel.js:

2008-05-21  Adam Roben  <aroben@apple.com>

        Fix Bug 19178: Inspector should support sorting resources by latency

        <https://bugs.webkit.org/show_bug.cgi?id=19178>

        I replaced "Sort by Time" with the following sorting options:
          - Sort by Start Time
          - Sort by Response Time
          - Sort by End Time
          - Sort by Duration
          - Sort by Latency

        You can no longer sort by Size when looking at the Time graph, and you
        can't use any of the time-based sorting functions when looking at the
        Size graph.

        Reviewed by Tim Hatcher.

        * page/inspector/Resource.js:
        (WebInspector.Resource.prototype.get duration): Added.
        (WebInspector.Resource.prototype.get latency): Added.
        (WebInspector.Resource.CompareByStartTime): Added.
        (WebInspector.Resource.CompareByResponseReceivedTime): Added.
        (WebInspector.Resource.CompareByEndTime): Added.
        (WebInspector.Resource.CompareByDuration): Added.
        (WebInspector.Resource.CompareByLatency): Added.
        * page/inspector/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
          - Each graph sidebar item now holds a list of sorting options
          - Graph sidebar items no longer have a calculator property. This is
            stored on the sorting options instead, to allow each kind of
            sorting to have a different calculator.
          - The sortingSelectElement starts out empty, and is populated in
            _graphSelected
          - The sortingFunction starts out uninitialized and is set as a
            side-effect of _graphSelected.
        (WebInspector.ResourcesPanel.prototype.set calculator): Don't do
        anything if the calculator hasn't changed.
        (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Use the
        _lastSelectedGraphTreeElement property instead of getting the graph
        element from the calculator.
        (WebInspector.ResourcesPanel.prototype._graphSelected):
          - Store the tree element in the _lastSelectedGraphTreeElement
            property
          - Popuplate sortingSelectElement with the sortingOptions and select
            the option that was last selected
        (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set
        our calculator from the sorting option.
        (WebInspector.ResourceTimeCalculator): Renamed from
        ResourceTransferTimeCalculator. Now takes a parameter to specify
        whether the bars should all start at zero.
        (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages):
        Take this.startAtZero into account.
        (WebInspector.ResourceTimeCalculator.prototype.updateBoundries):
        Abstracted the lower/upper bounds of a resource into methods.
        (WebInspector.ResourceTimeCalculator.prototype._lowerBound): Added.
        (WebInspector.ResourceTimeCalculator.prototype._upperBound): Added.
        (WebInspector.ResourceTransferTimeCalculator): Added. This is now a
        subclass of ResourceTimeCalculator
        (WebInspector.ResourceTransferDurationCalculator): Added.
        (WebInspector.ResourceSidebarTreeElement.CompareByAscendingStartTime): Added.
        (WebInspector.ResourceSidebarTreeElement.CompareByAscendingResponseReceivedTime): Added.
        (WebInspector.ResourceSidebarTreeElement.CompareByAscendingEndTime): Added.
        (WebInspector.ResourceSidebarTreeElement.CompareByDescendingDuration): Added.
        (WebInspector.ResourceSidebarTreeElement.CompareByDescendingLatency): Added.
        (WebInspector.ResourceSidebarTreeElement.CompareByDescendingSize):
        Changed to call CompareBySize.

2008-05-21  Adam Roben  <aroben@apple.com>

        Fix Bug 19173: Tool tips for Inspector debugger status bar buttons are
        wrong/missing

        <https://bugs.webkit.org/show_bug.cgi?id=19173>

        Reviewed by Tim Hatcher.

        * manual-tests/inspector/debugger-status-bar-buttons-state.html:
        Added.
        * page/inspector/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._toggleDebugging): Call
        _clearInterface (which updates the buttons' tool tips) after
        attaching/detaching the debugger so that the buttons will reflect the
        new state.
        (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
        Set the title of the pauseOnExceptionsButton, not the debuggingButton.

2008-05-20  Adam Roben  <aroben@apple.com>

        Fix Bug 19153: Inspector should support console.debug

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

        Reviewed by Tim Hatcher.

        Test: manual-tests/inspector/console-log-formatting.html

        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::debug): Added.
        * manual-tests/inspector/console-log-formatting.html: Changed to test
        console.debug as well.
        * page/Console.cpp:
        (WebCore::Console::debug): Added. Just calls through to log().
        * page/Console.h:
        * page/Console.idl: Added debug() declaration.

2008-05-21  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Adam.

        <rdar://problem/5950867> JSProfiler: Allow the profiler to "Focus" a
        profile node.
        - Expose the Profile's 'focus' ability to WebCore and the WebInspector.

        * page/JavaScriptProfile.cpp:
        (WebCore::focus):
        (WebCore::profileClass):

2008-05-21  Timothy Hatcher  <timothy@apple.com>

        Remove the rest of the debug code inside DEBUG_DEBUGGER_CALLBACKS
        since the parts the remain aren't useful.

        * page/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::sourceParsed):

2008-05-21  Beth Dakin  <bdakin@apple.com>

        Reviewed by Anders.

        Fix for <rdar://problem/5848161> REGRESSION (r31438?): Crash 
        beneath ResourceHandle::setDefersLoading while running fast/loader/
        simultaneous-reloads-assert.html (null CFURLConnection)

        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::setDefersLoading): Added simple null-
        check.

2008-05-21  Timothy Hatcher  <timothy@apple.com>

        Adds the Request and Response headers to the Resource view.

        <rdar://problem/5940782> REGRESSION: Resource Request and Response
        headers aren't shown (18451)

        Reviewed by Adam Roben.

        * English.lproj/localizedStrings.js: Added new strings.
        * css/view-source.css: Add comments to make sure a couple of
        style rules stay in sync with inspector.css.
        * page/inspector/Resource.js:
        (WebInspector.Resource.prototype.set url): Dispatch an event when
        this property changes.
        (WebInspector.Resource.prototype.set requestHeaders): Ditto.
        (WebInspector.Resource.prototype.set responseHeaders): Ditto.
        * page/inspector/ResourceView.js:
        (WebInspector.ResourceView): Add new elements for the headers
        and a headers TreeOutline. Add event listeners for resource
        property changes. Calls the three new refresh functions.
        (WebInspector.ResourceView.prototype.set headersVisible): Implemented.
        Toggles the headers-visible class name.
        (WebInspector.ResourceView.prototype._refreshURL): Update the URL
        tree element.
        (WebInspector.ResourceView.prototype._refreshRequestHeaders): Call _refreshHeaders.
        (WebInspector.ResourceView.prototype._refreshResponseHeaders): Ditto.
        (WebInspector.ResourceView.prototype._refreshHeaders): Remove the previous
        headers fromm the tree element. Loop throuh the headers and create new
        tree elements and append them.
        * page/inspector/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._updateSidebarWidth): Call resize
        on the visible view if it is implemented.
        * page/inspector/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.get autoSizesToFitContentHeight):
        (WebInspector.SourceFrame.prototype.set autoSizesToFitContentHeight):
        (WebInspector.SourceFrame.prototype.sizeToFitContentHeight):
        (WebInspector.SourceFrame.prototype._loaded): 
        (WebInspector.SourceFrame.prototype._windowResized): 
        * page/inspector/SourceView.js:
        (WebInspector.SourceView): Move the SourceFrame creation so it is
        available when headersVisible is set. Add a gutter element to fill
        the vertical space no covered by the SourceFrame now.
        (WebInspector.SourceView.prototype.set headersVisible): Set the
        SourceFrame.autoSizesToFitContentHeight when this property changes.
        (WebInspector.SourceView.prototype.resize): Call SourceFrame.sizeToFitContentHeight
        when autoSizesToFitContentHeight is true. This happens when resizing the 
        Resources sidebar.
        * page/inspector/inspector.css: Add a copy of webkit-line-gutter-backdrop
        and a comment to keep in sync with view-source.css. Adds other styles
        for the headers area of resource-view.

2008-05-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        <rdar://problem/5838772> Support cross-site XMLHttpRequest

        - Implement support for cross-site GET requests using the HTTP header
          Access-control mechanism.

        Tests: http/tests/xmlhttprequest/access-control-basic-allow-headers.html
               http/tests/xmlhttprequest/access-control-basic-allow.html
               http/tests/xmlhttprequest/access-control-basic-denied.html
               http/tests/xmlhttprequest/access-control-basic-exclude.html

        * xml/AccessControlList.cpp:
        (WebCore::AccessControlList::checkOrigin): Implement the list check algorithm.
        * xml/AccessControlList.h:

        * xml/AccessItem.cpp:
        (WebCore::AccessItem::AccessItem):
        (WebCore::AccessItem::matches):
        * xml/AccessItem.h:
        Temporarily use a SecurityOrigin as the bases of AccessItem matching. Using
        the isSameSchemeHostPort test of the SecurityOrigin allows for a legal subset
        of the AccessItem match algorithm to be used, until the complete parsing of
        the wildcards and optional pieces is complete. 

        * xml/AccessItemRule.cpp:
        (WebCore::matchesAny):
        (WebCore::AccessItemRule::allowListMatchesAny):
        (WebCore::AccessItemRule::excludeListMatchesAny):
        * xml/AccessItemRule.h:
        More of the implementation of the list check algorithm.  Check if any of the items
        in the rule match the control origin.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::open): Don't throw a SECURITY_ERR for cross-domain requests anymore.
        (WebCore::XMLHttpRequest::send): Use different paths for same origin and cross-domain requests.
        (WebCore::XMLHttpRequest::crossSiteAccessRequest): Temporarily only support the GET method for
        cross-domain requests.  
        (WebCore::XMLHttpRequest::loadRequestSynchronously):
        (WebCore::XMLHttpRequest::processSyncLoadResults):
        This can now throw an exception if a cross-domain request is denied by the access control
        (WebCore::XMLHttpRequest::didFinishLoading):
        Add support for cross-domain GET request.  ASSERT temporarily that the method is GET, since we
        should have bailed out much earlier for non-GET methods.
        (WebCore::XMLHttpRequest::willSendRequest):
        (WebCore::XMLHttpRequest::didReceiveResponse):
        Do the HTTP header access-control check as soon as the headers arrive.
        * xml/XMLHttpRequest.h:

2008-05-21  Alp Toker  <alp@nuanti.com>

        Rubber-stamped by Maciej.

        Replace non-standard #pragma marks with comments to avoid compiler
        warnings.

        * page/InspectorController.cpp:

=== End merge of squirrelfish ===

2008-05-21  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Tim Hatcher.

        Merged with trunk WebCore's new debugger.

        * page/InspectorController.cpp:
        (WebCore::currentCallFrame): Updated to use the DebuggerCallFrame API.
        (WebCore::InspectorController::pauseInDebugger): Updated for name change
        explained below.
        (WebCore::InspectorController::resumeDebugger): ditto
        (WebCore::InspectorController::didParseSource): Fixed a bug that would
        produce garbled text in some cases: Don't treat JS source as null-
        terminated UTF8; it's UTF16.

        * page/JavaScriptCallFrame.cpp:
        * page/JavaScriptCallFrame.h: Changed this class to do all of its processing
        through a JavaScriptCore DebuggerCallFrame. We have to copy the DebuggerCallFrame
        because it's a temporary.
        (WebCore::JavaScriptCallFrame::update): Added an API for updating a call
        frame during execution: this is how we handle "with" and "eval".

        * page/JavaScriptDebugServer.cpp: Separated "m_paused" from
        "m_doneProcessingDebuggerEvents", because they have different semantics:
        "m_paused" is the flag the debug server uses to indicate that new debugger
        callbacks should be ignored, because they come from the debugger's own
        JS code; "m_doneProcessingDebuggerEvents" is the flag the debugger UI
        uses to indicate that it's done processing events, and would like execution
        to continue. When these flags were one, the debugger would erroneously
        process callbacks that ocurred while unwinding from its own JS code.

        (WebCore::toPage): Removed some unnecessary NULL checking. Added some
        missing NULL checking.
        
        (WebCore::JavaScriptDebugServer::pauseIfNeeded): Changed pause tracking
        to track a JavaScriptCallFrame instead of an ExecState, since ExecState
        is no longer a unique identifier for a call frame.

        I removed the updateCurrentCallFrame scheme, and replaced it with
        individual tracking inside these callbacks:
        
        (WebCore::JavaScriptDebugServer::callEvent):
        (WebCore::JavaScriptDebugServer::atStatement):
        (WebCore::JavaScriptDebugServer::returnEvent):
        (WebCore::JavaScriptDebugServer::exception):
        
        The updateCurrentCallFrame scheme was just too incompatible with the
        squirrelfish execution model. Everything still works as before, except
        for eval, which no longer shows up as an independent call frame. We'll
        need to augment our debugger callbacks to bring back support for that.

        * page/inspector/ScopeChainSidebarPane.js: Updated to use the activation
        class's new name.

2008-05-21  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver.

        - write directly to the slot we used to check for override properties, when possible
        2.6% speedup on in-browser SunSpider

        * bindings/js/JSDOMWindowCustom.h:
        (WebCore::JSDOMWindow::customPut):

2008-05-20  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver.

        - inline JSDOMWindow security checks
        0.9% speedup to SunSpider in-browser

        * bindings/js/JSDOMWindowBase.cpp:
        * bindings/js/JSDOMWindowCustom.h:
        (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate):
        (WebCore::JSDOMWindowBase::allowsAccessFrom):
        (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
        (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
        * bindings/js/kjs_binding.cpp:

2008-05-20  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Adam.

        - use ALWAYS_INLINE on customGetOwnPropertySlot since it wasn't inlining
        2% speedup to SunSpider in-browser

        * bindings/js/JSDOMWindowCustom.h:
        (WebCore::JSDOMWindow::customGetOwnPropertySlot):

2008-05-20  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Adam.

        - inline JSDOMWindow's customPut and customGetOwnPropertySlot methods
        1.2% speedup to SunSpider in-browser
        
        The approach here is to make the code generator include a
        JS{classname}Custom.h header in the autogenerated implementation,
        which we can use to provide inline versions.

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        * bindings/js/JSCSSStyleDeclarationCustom.h: Added.
        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/js/JSDOMWindowCustom.h:
        (WebCore::asJSDOMWindow):
        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
        (WebCore::JSDOMWindow::customPut):
        * bindings/js/JSHTMLAppletElementCustom.cpp:
        * bindings/js/JSHTMLAppletElementCustom.h: Added.
        * bindings/js/JSHTMLEmbedElementCustom.cpp:
        * bindings/js/JSHTMLEmbedElementCustom.h: Added.
        * bindings/js/JSHTMLObjectElementCustom.cpp:
        * bindings/js/JSHTMLObjectElementCustom.h: Added.
        * bindings/js/JSHistoryCustom.cpp:
        * bindings/js/JSHistoryCustom.h: Added.
        * bindings/js/JSLocationCustom.cpp:
        * bindings/js/JSLocationCustom.h: Added.
        * bindings/js/JSStorageCustom.cpp:
        * bindings/js/JSStorageCustom.h: Added.
        * bindings/scripts/CodeGeneratorJS.pm:

2008-05-19  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Anders.

        - inline asDOMWindow (using a new JSDOMWindowCustom.h header) since it is just a cast
        1% speedup to SunSpider in-browser

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSCustomVoidCallback.cpp:
        * bindings/js/JSCustomXPathNSResolver.cpp:
        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        * bindings/js/JSDOMWindowBase.cpp:
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowCustom.cpp:
        * bindings/js/JSDOMWindowCustom.h: Added.
        (WebCore::asJSDOMWindow):
        * bindings/js/JSDatabaseCustom.cpp:
        * bindings/js/JSDocumentCustom.cpp:
        * bindings/js/JSLocationCustom.cpp:
        * bindings/js/JSSQLTransactionCustom.cpp:
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        * page/JavaScriptDebugServer.cpp:

2008-05-19  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver.

        - obtain current inner window of outer window in a more efficient way
        1.6% speedup to SunSpider in-browser

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):

2008-05-19  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Adam.

        - make impl() method for JSWindow inline
        0.6% speedup to SunSpider in-browser

        * WebCore.base.exp: Remove now-inline symbol
        * bindings/scripts/CodeGeneratorJS.pm: Make the codegen script inline impl()
        even for classes with a parent class.

2008-05-17  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Updated for API changes in KJS::Debugger.

2008-05-13  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Updated for API changes in KJS::Debugger.

        * page/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::callEvent):
        (WebCore::JavaScriptDebugServer::atStatement):
        (WebCore::JavaScriptDebugServer::returnEvent):
        (WebCore::JavaScriptDebugServer::exception):
        * page/JavaScriptDebugServer.h:

2008-05-13  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.
        
        Updated JavaScriptDebugServer API to accept a SourceProvider instead
        of a UString, to avoid copying.

        * page/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::sourceParsed): Updated this function
        not to return a value.

2008-05-10  Maciej Stachowiak  <mjs@apple.com>

        Build fix.
        
        - add missing forwarding header

        * ForwardingHeaders/kjs/SourceProvider.h: Added.

2008-05-10  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver.

        - WebCore part of fix for: "SQUIRRELFISH: function toString broken after calling"
        https://bugs.webkit.org/show_bug.cgi?id=18869

        * bindings/js/StringSourceProvider.h: Added. SourceProvider subclass backed by a WebCore::String.
        (WebCore::StringSourceProvider::create):
        (WebCore::StringSourceProvider::getRange):
        (WebCore::StringSourceProvider::data):
        (WebCore::StringSourceProvider::length):
        (WebCore::StringSourceProvider::StringSourceProvider):
        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::evaluate): Pass a StringSourceProvider to
        evaluate() instead of UChar* / length.
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::text): Modified to return the
        original string as-is when the script element contains only a
        single text node, to avoid excess memory use.
        
        * WebCore.vcproj/WebCore.vcproj: Add new file to build.
        * WebCore.xcodeproj/project.pbxproj: ditto

2008-05-09  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoff.

        Build fixes for SquirrelFish on windows.

        * bindings/js/JSNavigatorCustom.cpp:

2008-05-08  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Fixed platform/mac/plugins/bindings-test-objc.html.
        
        I've restored -[WebScriptObject setException] and
        +[WebScriptObject throwException].
        
        Instead of mucking around in the JavaScript engine's execution state,
        throwing an exception sets a global exception string, along with the
        environment in which to throw it. An ObjC callback checks the global
        exception string and, if it's non-nil and the environment matches the
        current exceution environment, throws the global exception string as a
        JS exception.

        I also removed the old currentGlobalObject infrastructure: it's no longer
        used.

2008-05-06  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej.

        Bug 18866: SQUIRRELFISH: JS/ObjC bridge is broken <https://bugs.webkit.org/show_bug.cgi?id=18866>
        Bug 18867: SQUIRRELFISH: JS/NPRuntime bridge is broken <https://bugs.webkit.org/show_bug.cgi?id=18867>

        This fixes function binding logic for the ObjC and NPRuntime by
        replacing incorrect implementations of implementsCall (which is
        no longer virtual) with implementations of getCallData.

        * bindings/js/JSQuarantinedObjectWrapper.cpp:
        (WebCore::JSQuarantinedObjectWrapper::getCallData):
        * bindings/js/JSQuarantinedObjectWrapper.h:
        * bridge/c/c_instance.cpp:
        * bridge/c/c_instance.h:
        * bridge/objc/objc_instance.h:
        * bridge/objc/objc_instance.mm:
        * bridge/objc/objc_runtime.h:
        * bridge/objc/objc_runtime.mm:
        (ObjcFallbackObjectImp::getCallData):
        * bridge/runtime.h:
        * bridge/runtime_object.cpp:
        (RuntimeObjectImp::getCallData):
        * bridge/runtime_object.h:

2008-04-30  Geoffrey Garen  <ggaren@apple.com>

        Build fix: supply a parameter that used to be implicit to
        Interpreter::evaluate.

2008-04-30  Geoffrey Garen  <ggaren@apple.com>

        Build fix: #ifdef'd out some code that doesn't work anymore.

        * bindings/objc/WebScriptObject.mm:
        (+[WebScriptObject throwException:]):
        (-[WebScriptObject setException:]):

2008-04-14  Gabor Loki  <loki@inf.u-szeged.hu>

        Reviewed by Geoffrey Garen.

        Bug 18489: Squirrelfish doesn't build on linux
        <https://bugs.webkit.org/show_bug.cgi?id=18489>

        * WebCore.pro: Add JavaScriptCore/VM into include path

2008-04-10  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoffrey Garen.

        Adjusted WebCore JS functions to the new "getConstructData" calling convention.

2008-03-30  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.
        
        Adjusted WebCore JS functions to the new "getCallData" calling convention.

=== Start merge of squirrelfish ===

2008-05-21  Anders Carlsson  <andersca@apple.com>

        Reviewed by Mitz.

        Add IconFetcher implementation.

        * WebCore.base.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLLinkElement.h:
        (WebCore::HTMLLinkElement::isIcon):
        * loader/icon/IconFetcher.cpp: Added.
        (WebCore::IconLinkEntry::):
        (WebCore::IconLinkEntry::IconLinkEntry):
        (WebCore::IconLinkEntry::type):
        (WebCore::IconLinkEntry::url):
        (WebCore::IconLinkEntry::buffer):
        (WebCore::parseIconLink):
        (WebCore::IconFetcher::create):
        (WebCore::IconFetcher::IconFetcher):
        (WebCore::IconFetcher::~IconFetcher):
        (WebCore::IconFetcher::cancel):
        (WebCore::IconFetcher::createIcon):
        (WebCore::IconFetcher::loadEntry):
        (WebCore::IconFetcher::loadFailed):
        (WebCore::IconFetcher::didReceiveResponse):
        (WebCore::IconFetcher::didReceiveData):
        (WebCore::IconFetcher::didFinishLoading):
        (WebCore::IconFetcher::didFail):
        * loader/icon/IconFetcher.h: Added.
        (WebCore::IconFetcherClient::~IconFetcherClient):

2008-05-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix https://bugs.webkit.org/show_bug.cgi?id=18352
          <rdar://problem/5854517> crash loading malicious font

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformInit): In the case of a custom font,
        there is no NSFont to base the fallback font on, so get a font based on
        fallback family name alone.

2008-05-21  Timothy Hatcher  <timothy@apple.com>

        Adds the files and line numbers to the Profile call tree.

        <rdar://problem/5952924> Inspector needs to show file and line number
        in the Profile call tree

        Reviewed by Geoff Garen.

        * page/JavaScriptProfileNode.cpp:
        (WebCore::getFunctionName): Fixes a JSStringRef leak.
        (WebCore::getURL): Call ProfileNode::url.
        (WebCore::getLineNumber): Call ProfileNode::lineNumber.
        (WebCore::ProfileNodeClass): Add the url and lineNumber properties.
        * page/inspector/ProfileView.js:
        (WebInspector.ProfileDataGridNode.prototype.createCell): Overload the
        DataGridNode.createCell and add the file and lineNumber to the
        cell if the column is the function column.
        * page/inspector/inspector.css: New styles for the file and line.

2008-05-21  Timothy Hatcher  <timothy@apple.com>

        Restores logging of console calls to the STDOUT
        when Interpreter::shouldPrintExceptions() is true.

        <rdar://problem/5636442> REGRESSION: Console.log no longer logs to
        the system console or terminal

        <rdar://problem/5146079> JavaScript exception logging should print
        accurate file and line info when called from WebScriptObject

        Reviewed by Adam Roben.

        * bindings/js/JSCustomSQLStatementCallback.cpp:
        (WebCore::JSCustomSQLStatementCallback::handleEvent): Remove existing
        printf and check for Interpreter::shouldPrintExceptions() since there is
        a call to Console::addMessage.
        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): Ditto.
        * bindings/js/JSCustomSQLTransactionCallback.cpp:
        (WebCore::JSCustomSQLTransactionCallback::handleEvent): Ditto.
        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Ditto.
        * bindings/js/JSCustomVoidCallback.cpp:
        (WebCore::JSCustomVoidCallback::handleEvent): Ditto.
        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): Ditto.
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::printErrorMessage): Ditto.
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute): Ditto.
        * bindings/js/kjs_events.cpp:
        (WebCore::JSAbstractEventListener::handleEvent): Ditto.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::shouldAllowNavigation): Ditto.
        * bindings/objc/WebScriptObject.mm:
        (WebCore::addExceptionToConsole): Added helper static function that
        calls Console::addMessage.
        (-[WebScriptObject callWebScriptMethod:withArguments:]): Call addExceptionToConsole.
        (-[WebScriptObject evaluateWebScript:]): Ditto.
        (-[WebScriptObject setValue:forKey:]): Ditto.
        (-[WebScriptObject valueForKey:]): Ditto.
        (-[WebScriptObject removeWebScriptKey:]): Ditto.
        (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
        (-[WebScriptObject setWebScriptValueAtIndex:value:]): Ditto.
        * page/Console.cpp:
        (WebCore::Console::addMessage): Print the level, message,
        URL and line number to STDOUT.
        (WebCore::printToStandardOut): Helper static function that
        takes a prefix string, ExecState, an argument List and URL.
        Prints the prefix and loops through the arguments calling
        toString on each and printing the string. Finally printing
        the URL and new line.
        (WebCore::Console::error): Call printToStandardOut.
        (WebCore::Console::info): Ditto.
        (WebCore::Console::log): Ditto.
        (WebCore::Console::assertCondition): Ditto.
        (WebCore::Console::warn): Ditto.

2008-05-20  Timothy Hatcher  <timothy@apple.com>

        Changes to work with the new Profiler API. The Profile is now
        stored by the InspectorController when Console.profileEnd is called.
        This solves three issues with the previous design. First, we don't
        keep profiles around unless the Inspector is enabled. Second, we
        only show Profiles initiated by the Page in it's Inspector, not every
        Profile for the whole process. Third, we now show Profiles in the
        Inspector when they are created.

        <rdar://problem/5951562> New profiles aren't added to the Inspector
        as they finish

        Reviewed by Kevin McCullough.

        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::profileEnd): Added. Calls impl()->profileEnd()
        and passes the ExecState and arguments.
        * page/Console.cpp:
        (WebCore::Console::profile):
        (WebCore::Console::profileEnd): Accept the optional title argument
        and pass it to Profilier::stopProfiling along with the ExecState.
        Calls InspectorController::addProfile with the result Profile.
        * page/Console.h:
        * page/Console.idl: Made profileEnd Custom so we can get the ExecState.
        * page/InspectorController.cpp:
        (WebCore::profiles): Renamed from allProfiles. Uses the controller's
        profiles vector.
        (WebCore::InspectorController::addProfile): Appends to m_profiles.
        Calls addScriptProfile if the window is visible.
        (WebCore::InspectorController::windowScriptObjectAvailable): Renamed
        allProfiles to profiles.
        (WebCore::InspectorController::addScriptProfile): Calls addProfile on
        the JavaScript side.
        (WebCore::InspectorController::didCommitLoad): Clears m_profiles.
        * page/InspectorController.h:
        * page/inspector/ProfilesPanel.js: Populates the profiles sidebar the first
        time the panel is shown after a rest.
        * page/inspector/inspector.js: Added addProfile, calls ProfilesPanel's
        addProfile function.

2008-05-21  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        https://bugs.webkit.org/show_bug.cgi?id=19169
        <rdar://5952342> REGRESSION: nakarte.ru searches don't work

        Test: http/tests/xmlhttprequest/encode-request-url.html

        * platform/KURL.cpp: (WebCore::KURL::init): Don't allow UTF-8 encoded data to be implicitly
        converted to String, as it will be encoded again by parse().

2008-05-21  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        For the Qt port, fix building with Qt for Embedded Linux.

        * WebCore.pro:

2008-05-21  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        For the Qt port, allow building without NPAPI plugin support.

        * WebCore.pro:
        * plugins/PluginView.h:

2008-05-20  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        Added all of my personal manual tests for the profiler.

        * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Added.
        * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Added.
        * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Added.
        * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Added.
        * manual-tests/inspector/profiler-test-apply.html: Added.
        * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Added.
        * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Added.
        * manual-tests/inspector/profiler-test-call.html: Added.
        * manual-tests/inspector/profiler-test-dead-time.html: Added.
        * manual-tests/inspector/profiler-test-event-handler.html: Added.
        * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Added.
        * manual-tests/inspector/profiler-test-inline-event-handler.html: Added.
        * manual-tests/inspector/profiler-test-many-calls-in-the-same-scope.html: Added.
        * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Added.
        * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Added.
        * manual-tests/inspector/profiler-test-multiple-frames.html: Added.
        * manual-tests/inspector/profiler-test-multiple-windows.html: Added.
        * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Added.
        * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Added.
        * manual-tests/inspector/profiler-test-no-execution-context.html: Added.
        * manual-tests/inspector/profiler-test-one-execution-context.html: Added.
        * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Added.
        * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Added.
        * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Added.
        * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Added.
        * manual-tests/inspector/profiler-test-two-execution-contexts.html: Added.
        * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Added.
        * manual-tests/inspector/resources: Added.
        * manual-tests/inspector/resources/other-frame.html: Added.
        * manual-tests/inspector/resources/other-window.html: Added.
        * manual-tests/inspector/resources/profiler-test-JS-resources.js: Added.

2008-05-20  Adam Roben  <aroben@apple.com>

        Use KJS::List::getSlice instead of reimplementing it

        Rubberstamped and suggested by Sam Weinig.

        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::assertCondition):

2008-05-20  Kevin Calhoun  <kcalhoun@apple.com>

        Reviewed by Darin.

        Fix <rdar://problem/5929010> Adopt new QTKit methods for <video> implementation

        If the class QTVideoRendererWebKitOnly is present use it to render video,
        otherwise fall back to existing use of QTMovieView/QTMovieContentView.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::createQTMovie):
        (WebCore::QTVideoRendererClass):
        (WebCore::MediaPlayerPrivate::detachQTMovieView):
        (WebCore::MediaPlayerPrivate::createQTVideoRenderer):
        (WebCore::MediaPlayerPrivate::destroyQTVideoRenderer):
        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
        (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
        (WebCore::MediaPlayerPrivate::load):
        (WebCore::MediaPlayerPrivate::cancelLoad):
        (WebCore::MediaPlayerPrivate::setVisible):
        (WebCore::MediaPlayerPrivate::paint):
        (-[WebCoreMovieObserver newImageAvailable:]):

2008-05-19  Adam Roben  <aroben@apple.com>

        Fix Bug 19134: Inspector should support console.assert

        <https://bugs.webkit.org/show_bug.cgi?id=19134>

        Reviewed by Tim Hatcher.

        Test: manual-tests/inspector/console-assert.html

        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::assertCondition): Added.
        * bindings/scripts/CodeGeneratorJS.pm: Added parsing of the
        ImplementationFunction extended attribute, which allows you to
        override the name of the C++ function used to implement this method.
        * manual-tests/inspector/console-assert.html: Added.
        * page/Console.cpp:
        (WebCore::Console::assertCondition): Added.
        * page/Console.h:
        * page/Console.idl: Added assert().

2008-05-20  Alice Liu  <alice.liu@apple.com>

        Reviewed by Brady.

        fix <rdar://problem/5908580> 10A58: Dictionary Panel hangs in WebCore::Cache::pruneDeadResources()

        * loader/Cache.cpp:
        (WebCore::Cache::requestUserCSSStyleSheet):
        Add a call to resourceAccessed() to more closely mirror what is done in requestResource()
        (WebCore::Cache::insertInLRUList):
        Assert that any resource in the LRU list has been accessed.  This is early detection of a
        potential hang later when pruning resources, and also agrees with the early return in 
        removeFromLRUList().

2008-05-20  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix https://bugs.webkit.org/show_bug.cgi?id=17655
          <rdar://problem/5778077> REGRESSION (3.1.1-TOT): Reproducible crash calling querySelector on viewless Document

        Test: fast/dom/SelectorAPI/viewless-document.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector): Updated to initialize the
        selector checker.
        (WebCore::CSSStyleSelector::init): Removed initialization of
        m_collectRulesOnly, which is now part of the selector checker.
        (WebCore::CSSStyleSelector::matchRules): Updated for renames and data
        moved into the selector checker.
        (WebCore::CSSStyleSelector::matchRulesForList): Ditto.
        (WebCore::CSSStyleSelector::initForStyleResolve): Added a PseudoId
        argument, which is used to initialize a data member of the selector
        checker. Updated for renames. Removed initialization of m_isXMLDoc
        because this bit is now initialized only once in the selector checker's
        constructor.
        (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker): Added.
        (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState): Changed
        into a SelectorChecker method.
        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Added. Used
        by querySelector() and querySelectorAll().
        (WebCore::CSSStyleSelector::canShareStyleWithElement): Updated for data
        moved into the selector checker.
        (WebCore::CSSStyleSelector::matchUARules): Ditto.
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto. Also removed
        code that set the parentStyle variable after the last place it is
        accessed, and changed to ensure that m_style is set early in this
        function.
        (WebCore::CSSStyleSelector::adjustRenderStyle): Updated for data moved
        into the selector checker.
        (WebCore::CSSStyleSelector::styleRulesForElement): Ditto.
        (WebCore::CSSStyleSelector::checkSelector): Ditto. Also changed to pass
        the element's style and the parent style to the selector checker, as
        well as the dynamic pseudo variable and the selector attributes vector.
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added
        arguments for the style of the base element and its parent. When the
        elementStyle argument is 0, the style is fetched from the element
        and its parent as needed. Also changed to take a reference to the
        dynamic pseudo ID and a pointer to the vector of attributes affecting
        the match.
        (WebCore::CSSStyleSelector::applyProperty): Updated for data moved
        into the selector checker.
        (WebCore::CSSStyleSelector::checkForGenericFamilyChange): Ditto.
        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Ditto.
        (WebCore::CSSStyleSelector::fontSizeForKeyword): Ditto.
        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Ditto.
        (WebCore::CSSStyleSelector::SelectorChecker::allVisitedStateChanged):
        Changed into a SelectorChecker method.
        (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged):
        Ditto.

        * css/CSSStyleSelector.h:
        Added a SelectorChecker class and moved data and methods used in
        checking selectors into it.
        (WebCore::CSSStyleSelector::allVisitedStateChanged): Changed to call the
        SelectorChecker method.
        (WebCore::CSSStyleSelector::visitedStateChanged): Ditto.
        * dom/Node.cpp:
        (WebCore::Node::querySelector): Changed to use a SelectorChecker instead
        of the document's style selector.
        * dom/SelectorNodeList.cpp:
        (WebCore::SelectorNodeList::SelectorNodeList): Ditto.

2008-05-20  Timothy Hatcher  <timothy@apple.com>

        Implements the Profiles panel and Profile view.

        Reviewed by Kevin McCullough.

        * English.lproj/localizedStrings.js: Added new strings.
        * page/inspector/Images/profileIcon.png: Added.
        * page/inspector/Images/profilesIcon.png: Changed. New icon design
        that fits in with the other toolbar icons.
        * page/inspector/ProfileView.js:
        (WebInspector.ProfileView): Remove custom table elements
        and create a DataGrid. Sorts the profile by descending total time,
        since the profiles aren't sorted by default.
        (WebInspector.ProfileView.prototype.refresh): Clears the DataGrid
        and recreates all the nodes. The selection is preserved.
        (WebInspector.ProfileView.prototype.refreshShowAsPercents): Traverse
        all the children and change showTotalTimeAsPercent and showSelfTimeAsPercent
        to match the ProfileView values. Then call refresh on the child.
        (WebInspector.ProfileView.prototype._sortData): Determine the sort
        function to call on the head profile node. Call it and then call
        refresh to rebuild the DataGrid.
        (WebInspector.ProfileView.prototype._mouseDownInDataGrid): Return early
        if the event is not a double-click. When it is a double-click, determine
        the column that was targeted and if it was total or self toggle the
        show as percent property. Call refreshShowAsPercents.
        (WebInspector.ProfileDataGridNode): 
        (WebInspector.ProfileDataGridNode.prototype.get data): 
        (WebInspector.ProfileDataGridNode.prototype.expand): 
        (WebInspector.ProfileDataGridNode.prototype.collapse): 
        (WebInspector.ProfileDataGridNode.prototype._populate): 
        * page/inspector/ProfilesPanel.js:
        (WebInspector.ProfilesPanel): 
        (WebInspector.ProfilesPanel.prototype.show): Populate the sidebar
        with all profiles. This is a workaround until the Inspector
        is told about new profiles.
        (WebInspector.ProfilesPanel.prototype.reset): Clear the sidebar and
        profile views.
        (WebInspector.ProfilesPanel.prototype.handleKeyEvent): Pass the key
        event to the sidebar.
        (WebInspector.ProfilesPanel.prototype.addProfile): Create a
        ProfileSidebarTreeElement object and add it to the sidebar.
        (WebInspector.ProfilesPanel.prototype.showProfile): Create a ProfileView
        and show it.
        (WebInspector.ProfilesPanel.prototype.closeVisibleView): Hide the
        visible view.
        (WebInspector.ProfilesPanel.prototype._startSidebarDragging): Call
        WebInspector.elementDragStart.
        (WebInspector.ProfilesPanel.prototype._sidebarDragging): Call _updateSidebarWidth.
        (WebInspector.ProfilesPanel.prototype._endSidebarDragging):
        Call WebInspector.elementDragEnd.
        (WebInspector.ProfilesPanel.prototype._updateSidebarWidth): Update the
        sidebar width based on the passed in value.
        (WebInspector.ProfileSidebarTreeElement): Subclass WebInspector.SidebarTreeElement.
        (WebInspector.ProfileSidebarTreeElement.prototype.onselect): Call ProfilesPanel.showProfile.
        (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle): Return profile.title.
        (WebInspector.ProfileSidebarTreeElement.prototype.set mainTitle): Do nothing.
        (WebInspector.ProfileSidebarTreeElement.prototype.get subtitle): Ditto.
        (WebInspector.ProfileSidebarTreeElement.prototype.set subtitle): Ditto.
        * page/inspector/inspector.css: New styles for the profile sidebar
        item and profile data grid columns.
        * page/inspector/inspector.js:
        * page/inspector/utilities.js:
        (Number.secondsToString): Added a higherResolution argument
        that returns fractional milliseconds.

2008-05-20  chris fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler, Alice Liu

        <rdar://problem/3438014> Might need accessibility solution for context menus in web pages
        <rdar://problem/5060458> Elements without AXActions should not return kAXErrorFailure

        * page/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::clickPoint):
        * page/AccessibilityObject.h:
        * page/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityActionNames]):
        (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
        (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
        (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
        (-[AccessibilityObjectWrapper accessibilityPerformAction:]):

2008-05-20  Timothy Hatcher  <timothy@apple.com>

        Expose the ProfileNode functionName sorting functions on
        JavaScriptProfileNode.

        Reviewed by Kevin McCullough.

        * page/JavaScriptProfileNode.cpp:
        (WebCore::sortFunctionNameDescending): Call ProfileNode.
        (WebCore::sortFunctionNameAscending): Ditto.
        (WebCore::ProfileNodeClass): Add static functions.

2008-05-20  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - a first small step of CSS DOM refactoring -- the eventual goal is to
          reduce StyleBase and possibly eliminate it, since it has multiple
          purposes and unneccessarily ties many classes together

        * css/CSSCursorImageValue.cpp:
        (WebCore::isSVGCursorIdentifier): Mark static so it has internal linkage.
        (WebCore::resourceReferencedByCursorElement): Ditto.
        (WebCore::CSSCursorImageValue::CSSCursorImageValue): Removed unused style
        argument.
        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Removed code to
        check if X and Y changed before changing them -- there's no reason to do
        that. Removed code that depended on the internals of CSSImageValue. The
        new code uses only protected functions rather than going right at the
        fields and uing internal knowledge of the base class.
        * css/CSSCursorImageValue.h: Added a create function, made constructor
        private, removed unused style argument.

        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::CSSImageValue): Removed unused style argument.
        (WebCore::CSSImageValue::cachedImageURL): Added. A protected function for
        use by CSSCursorImageValue that gives the URL.
        (WebCore::CSSImageValue::clearCachedImage): Added. A protected function for
        use by CSSCursorImageValue that clears the CachedImage.
        * css/CSSImageValue.h: Added create functions, made constructors protected
        and private, removed unused style argument, made data members private, added
        some protected functions for use by CSSCursorImageValue.

        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::setCSSStyleSheet): Changed to call checkLoaded on
        the parent. This is part of preparation to move the checkLoaded function from
        StyleBase to StyleSheet.
        (WebCore::CSSImportRule::insertedIntoParent): Changed code to check the URL
        of the style sheet to use the href function of the style sheet rather than
        the baseURL function. This eliminates an O(n^2) algorithm here and reduces
        the use of baseURL, part of preparation to move it from StyleBase
        to CSSStyleSheet.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::setImageProperty): Changed to use create
        function instead of a direct call to new for the CSSImageValue classes.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Ditto.
        (WebCore::CSSParser::parseContent): Ditto.
        (WebCore::CSSParser::parseFillImage): Ditto.
        (WebCore::CSSParser::parseBorderImage): Ditto.

        * css/CSSStyleSelector.cpp: Removed unneeded include of CSSImageValue.h.
        * rendering/style/RenderStyle.h: Removed unneeded include of
        CSSCursorImageValue.h, which was causing us to rebuild the world way too often.

        * xml/XSLImportRule.cpp:
        (WebCore::XSLImportRule::setXSLStyleSheet): See change to CSSImportRule above.
        (WebCore::XSLImportRule::loadSheet): Ditto.

2008-05-20  Kevin McCullough  <kmccullough@apple.com>

        Rubber stamped by Adam.

        -Minor fix. Should not use a reference since the original may disappear.

        * page/Console.cpp:
        (WebCore::Console::profile):

2008-05-20  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fix. userAgent should return a value.

        * plugins/wx/PluginViewWx.cpp:
        (WebCore::PluginView::userAgent):

2008-05-19  Timothy Hatcher  <timothy@apple.com>

        Expose the ProfileNode sorting functions on JavaScriptProfileNode.

        Reviewed by Kevin McCullough.

        * page/JavaScriptProfileNode.cpp:
        (WebCore::sortTotalTimeDescending): Call ProfileNode.
        (WebCore::sortTotalTimeAscending): Ditto.
        (WebCore::sortSelfTimeDescending): Ditto.
        (WebCore::sortSelfTimeAscending): Ditto.
        (WebCore::sortCallsDescending): Ditto.
        (WebCore::sortCallsAscending): Ditto.
        (WebCore::ProfileNodeClass): Add static functions.

2008-05-19  Timothy Hatcher  <timothy@apple.com>

        * page/InspectorController.cpp: Change the include for
        JavaScriptProfile.h to sue double quotes instead of backets.

2008-05-19  Timothy Hatcher  <timothy@apple.com>

        Adds a DataGrid object that is used for multi-column data
        and can contain hierarchical content with disclosure arrows.
        A lot of DataGrid was copied from treeoutline.js. This change
        makes the database views use the DataGrid. It will later be
        used by the ProfileView.

        Reviewed by Adam Roben.

        * page/inspector/DataGrid.js: Added. Most copied from treeoutline.js
        and modified to work with table elements.
        * page/inspector/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView.prototype._queryFinished):
        Call DatabasesPanel.dataGridForResult and adds the inline style to
        the DataGrid element.
        * page/inspector/DatabaseTableView.js:
        (WebInspector.DatabaseTableView.prototype._queryFinished):
        Call DatabasesPanel.dataGridForResult.
        * page/inspector/DatabasesPanel.js:
        (WebInspector.DatabasesPanel.prototype._tableForResult): Removed.
        (WebInspector.DatabasesPanel.prototype.dataGridForResult): Added.
        Similar to the previous _tableForResult function, but makes a DataGrid.
        * page/inspector/inspector.css: Changes to the data-grid
        style rules.
        * WebCore.vcproj/WebCore.vcproj: Add DataGrid.js.
        * page/inspector/WebKit.qrc: Ditto.
        * page/inspector/inspector.html: Ditto.

2008-05-19  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Adam.

        -build fix.

        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::profile):
        * page/Console.cpp:
        (WebCore::Console::profile):
        * page/Console.h:
        * page/Console.idl:

2008-05-19  Alp Toker  <alp@nuanti.com>

        Reviewed by Maciej.

        GTK+/soup fixes:

        Remove the fragment part of the URL since the file backend doesn't
        deal with it.

        Fix a typo in the cleanup function.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::cleanupGioOperation):
        (WebCore::ResourceHandle::startGio):

2008-05-19  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Adam.

        <rdar://problem/5770054> JavaScript profiler (10928)
        - Send the executing context to the profiler so it can attribute time
        correctly to parent functions when calling profile() and profileEnd()
        while nested.

        * page/Console.cpp:
        (WebCore::Console::profile):
        (WebCore::Console::profileEnd):
        * page/Console.h:

2008-05-19  Alp Toker  <alp@nuanti.com>

        Reviewed by Anders and Beth.

        http://bugs.webkit.org/show_bug.cgi?id=16495
        [GTK] Accessibility support with ATK/AT-SPI

        Initial ATK/AT-SPI accessibility support for the GTK+ port.

        * GNUmakefile.am:
        * page/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::AccessibilityObject):
        (WebCore::AccessibilityObject::detach):
        * page/AccessibilityObject.h:
        * page/gtk/AXObjectCacheAtk.cpp: Added.
        (WebCore::AXObjectCache::detachWrapper):
        (WebCore::AXObjectCache::attachWrapper):
        (WebCore::AXObjectCache::postNotification):
        (WebCore::AXObjectCache::postNotificationToElement):
        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
        * page/gtk/AccessibilityObjectWrapperAtk.cpp: Added.
        (WebCore::AccessibilityObject::wrapper):
        (WebCore::AccessibilityObject::setWrapper):
        * page/gtk/AccessibilityObjectWrapperAtk.h: Added.

2008-05-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        <rdar://problem/5946454>
        Support navigator.onLine from HTML5.

        Add Windows NetworkStateNotifier implementation using the IP Helper API.

        * WebCore.vcproj/WebCore.vcproj:
        * platform/network/NetworkStateNotifier.h:
        (WebCore::updateState):
        * platform/network/win/NetworkStateNotifierWin.cpp: Added.
        (WebCore::NetworkStateNotifier::updateState):
        (WebCore::NetworkStateNotifier::addressChanged):
        (WebCore::NetworkStateNotifier::callAddressChanged):
        (WebCore::NetworkStateNotifier::addrChangeCallback):
        (WebCore::NetworkStateNotifier::registerForAddressChange):
        (WebCore::NetworkStateNotifier::NetworkStateNotifier):

2008-05-19  Steve Falkenburg  <sfalken@apple.com>

        Disable C4273, C4565 for CSSGrammar.cpp, XPathGrammar.cpp to fix build.
        
        Reviewed by Adam Roben.

        * WebCore.vcproj/WebCore.vcproj:

2008-05-19  Adam Roben  <aroben@apple.com>

        Fix Bug 19065: Resources with a space in their URL don't get
        error/warning bubbles

        <https://bugs.webkit.org/show_bug.cgi?id=19065>

        Reviewed by Dan Bernstein.

        Test: manual-tests/inspector/errors-with-space in-url.html

        * manual-tests/inspector/errors-with-space in-url.html: Added.
        * page/Console.cpp:
        (WebCore::Console::error):
        (WebCore::Console::info):
        (WebCore::Console::log):
        (WebCore::Console::warn):
        Pass the raw URL to the Inspector, not the pretty URL, to match the
        URL that was used when initially telling the Inspector about this
        resource. We continue to pass the pretty URL to the ChromeClient for
        backwards compatibility.

2008-05-19  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Darin.

        more fast teardown performance work, WebCore plumbing

        * page/Chrome.cpp:
        (WebCore::Chrome::disableSuddenTermination):
        (WebCore::Chrome::enableSuddenTermination):
        (WebCore::ChromeClient::disableSuddenTermination):
        (WebCore::ChromeClient::enableSuddenTermination):
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/Page.cpp:
        (WebCore::Page::changePendingUnloadEventCount):
        (WebCore::Page::changePendingBeforeUnloadEventCount):

2008-05-19  Kuchhal  <kuchal@yahoo.com>

        Reviewed by Justin.

        <rdar://problem/5863412> Crash when Ctrl C is pressed after a series of specific mouse events (18506)

        * editing/markup.cpp:
        (WebCore::createMarkup): Null check.

2008-05-19  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        <rdar://problem/5912195> CrashTracer: [USER] 1 crash in Mail at -[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]

        * page/mac/AccessibilityObjectWrapper.mm:
        (visiblePositionForTextMarker):

2008-05-19  Ada Chan  <adachan@apple.com>

        Added CookieStorageWin.h/cpp, introducing methods to get/set the current CFHTTPCookieStorageRef.
        When setting cookies-related attributes in CFURLRequest, make sure we get them from the
        current CFHTTPCookieStorageRef.  Also, set the cookie storage in CFURLRequest.

        Reviewed by Steve Falkenburg.

        * WebCore.vcproj/WebCore.vcproj:
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::makeFinalRequest):
        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::ResourceRequest::doUpdatePlatformRequest):
        * platform/network/win/CookieJarCFNetWin.cpp:
        (WebCore::setCookies):
        (WebCore::cookies):
        (WebCore::cookiesEnabled):
        * platform/network/win/CookieStorageWin.cpp: Added.
        (WebCore::currentCookieStorage):
        (WebCore::setCurrentCookieStorage):
        * platform/network/win/CookieStorageWin.h: Added.

2008-05-19  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=18308
        SVG Encoding error with fill attribute

        This is caused by problems with data: URL loading. Besides what is fixed by this patch,
        I filed <rdar://problem/5845875> for CFNetwork.

        While at it, fixed a related javascript: URL issue.

        Tests: fast/loader/data-url-encoding-html.html
               fast/loader/data-url-encoding-svg.html
               fast/loader/javascript-url-encoding.html

        * platform/KURL.cpp:
        (WebCore::KURL::parse): Fix a FIXME, use UTF-8 instead of dropping high bytes. This fixes
        javascript: URL handling.
        (WebCore::encodeRelativeString): Like mailto: URLs, data: ones are all UTF-8. Restructured
        the code to not search for "#" if both parts are to be encoded as UTF-8 anyway.

2008-05-19  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        https://bugs.webkit.org/show_bug.cgi?id=18421
        <rdar://problem/5857369> XMLHttpRequest does not properly encode & and < in outgoing messages

        Test: http/tests/xmlhttprequest/serialize-document.html

        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::send): Use createMarkup() instead of Document::toString().

        * dom/Attr.cpp:
        * dom/Attr.h:
        * dom/Document.cpp:
        * dom/Document.h:
        * dom/DocumentFragment.cpp:
        * dom/DocumentFragment.h:
        * dom/Element.cpp:
        * dom/Element.h:
        * dom/Entity.cpp:
        * dom/Entity.h:
        * dom/EntityReference.cpp:
        * dom/EntityReference.h:
        * dom/Node.h:
        * dom/Text.cpp:
        * dom/Text.h:
        * html/HTMLElement.cpp:
        * html/HTMLElement.h:
        Removed most Node::toString() methods, which were massively wrong, and only used for
        XMLHttpRequest::send(). The remanining ones are still used in markup.cpp, but should probably
        be folded into it for consistency.

2008-05-19  Anders Carlsson  <andersca@apple.com>

        Fix Windows build.
        
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::userAgentStatic):
        (WebCore::PluginView::getValueStatic):
        (WebCore::PluginView::getValue):

2008-05-19  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/5935694> AX: crash in text marker range

        * page/mac/AccessibilityObjectWrapper.mm:
        (textMarkerRangeFromMarkers):

2008-05-19  Darin Adler  <darin@apple.com>

        - fix WebKit build

        * WebCore.xcodeproj/project.pbxproj: Make CSSReflectionDirection.h "private" instead of "project".

2008-05-19  chris fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler

        <rdar://problem/5700830> VO: VoiceOver should fall back to title attr if form element is not labeled

        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::title):

2008-05-19  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - tweak CSSReflectValue, possibly fixing the leaks seen on the buildbot

        * WebCore.vcproj/WebCore.vcproj: Added CSSReflectionDirection.h. 
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * css/CSSReflectionDirection.h: Added.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForReflection): Changed to use CSSReflectValue::create.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseReflect): Ditto.

        * css/CSSReflectValue.h: Added a create function. Got rid of the setter
        functions, which had const PassRefPtr& arguments -- those probably caused
        the leaks although I'm not exactly sure why. Made the contructor and all
        the data members private.

        * rendering/style/RenderStyle.h: Changed to include CSSReflectionDirection.h
        instead of CSSReflectValue.h so we can tweak CSSReflectValue without
        recompiling the world.

2008-05-19  Holger Hans Peter Freyther  <zecke@selfish.org>

        Rubber Stamped by Simon.

        Enforce the WebKit Coding Style.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::load):
        (WebCore::PluginView::setValue):
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::setFocus):
        (WebCore::PluginView::show):
        (WebCore::PluginView::hide):
        (WebCore::PluginView::attachToWindow):
        (WebCore::PluginView::detachFromWindow):
        (WebCore::PluginView::getValueStatic):
        (WebCore::PluginView::getValue):
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::updateWindow):
        (WebCore::PluginView::detachFromWindow):
        (WebCore::PluginView::handlePostReadFile):
        (WebCore::PluginView::getValueStatic):
        (WebCore::PluginView::getValue):

2008-05-14  Marc Ordinas i Llopis  <marc.ordinasillopis@collabora.co.uk>

        Reviewed by Holger.

        https://bugs.webkit.org/show_bug.cgi?id=18882
        https://bugs.webkit.org/show_bug.cgi?id=18892
        Based also on work by Chris Lord.
        
        Provides support for NPAPI plugins that pass NULL as their instance
        info. There are two kinds:
        - Some call NPN_UserAgent and NPN_GetValue before a PluginView has
        been created. For those we provide static versions of those functions.
        - Others call NPN_* functions with a NULL instance inside NPP_*
        calls, for those we've added extra currentPluginView guards.

        * plugins/PluginView.cpp: Add additional currentPluginView guards and
        some small style changes.
        (WebCore::PluginView::start):
        (WebCore::PluginView::performRequest):
        (WebCore::PluginView::bindingInstance):
        (WebCore::PluginView::handlePost):
        * plugins/PluginView.h: Added static versions of NPN_UserAgent and
        NPN_GetValue.
        * plugins/gtk/PluginViewGtk.cpp: Add additional currentPluginView
        guards and some small style changes.
        (WebCore::PluginView::setNPWindowRect):
        (WebCore::PluginView::stop):
        (WebCore::PluginView::userAgentStatic): Added to deal with plugins
        that query this before having a PluginView.
        (WebCore::PluginView::getValueStatic): Added to deal with plugins
        that call this before we have created a PluginView.
        (WebCore::PluginView::getValue): Moved some code to getValueStatic.
        (WebCore::PluginView::init):
        * plugins/npapi.cpp: Call PluginView::userAgentStatic
        and PluginView::getValueStatic if no PluginView is
        present.
        (NPN_UserAgent):
        (NPN_GetValue):
        * plugins/qt/PluginPackageQt.cpp:
        (WebCore::PluginPackage::fetchInfo): Corrected split args because ignoring
        empty entries crashed.
        (WebCore::PluginPackage::load): Resolve all symbols when loading plugins
        to protect against XPCOM dependencies.
        * plugins/qt/PluginViewQt.cpp: Add additional currentPluginView guards and
        some small style changes.
        (WebCore::PluginView::updateWindow):
        (WebCore::PluginView::setNPWindowRect):
        (WebCore::PluginView::stop):
        (WebCore::PluginView::userAgentStatic): Added to deal with plugins
        that query this before having a PluginView.
        (WebCore::PluginView::handlePostReadFile):
        (WebCore::PluginView::getValueStatic): Added to deal with plugins
        that call this before we have created a PluginView.
        (WebCore::PluginView::getValue): Moved some code to getValueStatic.
        (WebCore::PluginView::init): m_needsXEmbed init was moved to constructor.

2008-05-19  Alp Toker  <alp@nuanti.com>

        GTK+ build fix on Mac. Conditionalize XP_UNIX use.

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

2008-05-18  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler

        <rdar://problem/5942076> WebKit can no longer find URL links with VoiceOVer-U command (19100)

        * page/AccessibilityObject.h:

2008-05-18  Darin Adler  <darin@apple.com>

        Reviewed by Sam.

        - fix <rdar://problem/5943569> crash due to stale ownerNode pointer

        Test: fast/dom/StyleSheet/ownerNode-lifetime.html

        * bindings/js/JSStyleSheetCustom.cpp:
        (WebCore::JSStyleSheet::mark): Added code to mark ownerNode. Includes a comment about how
        it would be even better to solve this in the DOM rather than just in the JavaScript binding.

        * css/StyleSheet.idl: Added CustomMarkFunction attribute.

2008-05-18  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig

        Fix for https://bugs.webkit.org/show_bug.cgi?id=19111
        Allow `delete storage.itemName` syntax as an alias for `storage.removeItem("itemName")`

        Tests: storage/domstorage/localstorage/delete-removal.html
               storage/domstorage/sessionstorage/delete-removal.html

        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::deleteProperty): Only do the delete for non-built in properties
        * storage/Storage.idl:

2008-05-17  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Re-factor core setRequestHeader logic into setRequestHeaderInternal.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::sameOriginRequest):
        (WebCore::XMLHttpRequest::setRequestHeader):
        (WebCore::XMLHttpRequest::setRequestHeaderInternal):
        * xml/XMLHttpRequest.h:

2008-05-17  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Differentiate between cancelation errors and generic network error in XHR.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::requestFromDelegate):
        (WebCore::FrameLoader::cancelledError):
        * platform/network/ResourceErrorBase.h:
        (WebCore::ResourceErrorBase::setIsCancelation):
        (WebCore::ResourceErrorBase::isCancelation):
        (WebCore::ResourceErrorBase::ResourceErrorBase):
        Add state that differentiates between errors created by cancelation and those made
        by all other generic network errors as this differentiation is needed by some specs.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::open):
        (WebCore::XMLHttpRequest::loadRequestSynchronously):
        (WebCore::XMLHttpRequest::clearResponseEntityBody):
        (WebCore::XMLHttpRequest::genericError):
        (WebCore::XMLHttpRequest::networkError):
        (WebCore::XMLHttpRequest::abortError):
        (WebCore::XMLHttpRequest::didFail):
        * xml/XMLHttpRequest.h:
        * xml/XMLHttpRequestException.h:
        (WebCore::XMLHttpRequestException::):
        * xml/XMLHttpRequestException.idl:
        Add ABORT_ERR. This error cannot be raised with the current WebKit architecture
        as it requires the ability to cancel a synchronous XHR, which we cannot currently
        do.  It may be possible in the future though.

2008-05-17  Mark Rowe  <mrowe@apple.com>

        Reviewed by Sam Weinig.

        Including wtf/Platform.h or using any of the macros it defines in headers that may be
        included from outside of the WebKit project causes any project using those headers to
        fail to build.

        * page/mac/WebDashboardRegion.h:

2008-05-17  Sam Weinig  <sam@webkit.org>

        Reviewed by Brady Eidson.

        Re-factor send() logic a little to make adding cross-site requests easier.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::sameOriginRequest):
        (WebCore::XMLHttpRequest::loadRequestSynchronously):
        (WebCore::XMLHttpRequest::loadRequestAsynchronously):
        * xml/XMLHttpRequest.h:

2008-05-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by Mitz.

        Copy appcache headers.
        
        * WebCore.vcproj/WebCore.vcproj:

2008-05-16  Antti Koivisto  <antti@apple.com>

        Reviewed by Anders.
        
        Fix <rdar://problem/5934400> 
        Movie controller does not update on first load of http://www.apple.com/getamac/ads/
        
        The issue is that we execute scripts while there are still pending stylesheet loads.
        If the script depends on a stylesheet having been applied it may fail.
        
        This will make external script execution block on external stylesheet loads. A full
        fix (as discussed with Hyatt) will also need to block inline script execution.

        Test: http/tests/local/stylesheet-and-script-load-order-http.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::notifyFinished):

2008-05-16  chris fleizach  <cfleizach@apple.com>

        Reviewed by Jon Honeycutt

        <rdar://problem/5582483> Mail compose area needs to allow AXValue to be settable

        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isReadOnly):
        (WebCore::AccessibilityRenderObject::canSetValueAttribute):

2008-05-16  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Maciej.

        track onbeforeunlaod event counts. Pretty much identical to unload event tracking.
        Also rename methods from onunload tracking to be more clear.

        increment/decrement event counts when onunload and onbeforeunload events are added/removed
        * dom/Document.cpp:
        (WebCore::Document::removeHTMLWindowEventListener):
        (WebCore::Document::addWindowEventListener):
        (WebCore::Document::removeWindowEventListener):
        (WebCore::Document::addPendingFrameUnloadEventCount):
        (WebCore::Document::removePendingFrameUnloadEventCount):
        (WebCore::Document::addPendingFrameBeforeUnloadEventCount):
        (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
        * dom/Document.h:
        
        clear onunload count after unload events are dispatched
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):

        track onunload and onbeforeunload event counts for each frame
        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler):
        (WebCore::EventHandler::addPendingFrameUnloadEventCount):
        (WebCore::EventHandler::removePendingFrameUnloadEventCount):
        (WebCore::EventHandler::clearPendingFrameUnloadEventCount):
        (WebCore::EventHandler::pendingFrameBeforeUnloadEventCount):
        (WebCore::EventHandler::addPendingFrameBeforeUnloadEventCount):
        (WebCore::EventHandler::removePendingFrameBeforeUnloadEventCount):
        (WebCore::EventHandler::clearPendingFrameBeforeUnloadEventCount):
        * page/EventHandler.h:
        
        clear unbeforeunload count after unbeforeunload events are detached
        * page/Frame.cpp:
        (WebCore::Frame::shouldClose):

        track total event count at page level
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::changePendingUnloadEventCount):
        (WebCore::Page::pendingBeforeUnloadEventCount):
        (WebCore::Page::changePendingBeforeUnloadEventCount):
        * page/Page.h:

2008-05-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by Mitz.

        <rdar://problem/5787788>
        REGRESSION: fast/loader/xmlhttprequest-missing-file-exception.html fails on Windows.
        
        Replicate the Mac behavior when a sync load fails.
        
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::loadResourceSynchronously):

2008-05-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by Brady.

        Parse and set the headers on the response.

        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::store):
        (WebCore::parseHeader):
        (WebCore::parseHeaders):
        (WebCore::ApplicationCacheStorage::loadCache):

2008-05-16  Timothy Hatcher  <timothy@apple.com>

        Adds the "this" object to the Local scope section of the
        Scope Variables pane.

        <rdar://problem/5774773> Web Inspector doesn't show the "this"
        object in its variables list (10438)

        Reviewed by Oliver Hunt.

        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::thisObject): Returns the thisObject
        of the JavaScriptCallFrame impl. Returns jsNull if the impl is invalid.
        * page/JavaScriptCallFrame.cpp:
        (WebCore::JavaScriptCallFrame::thisObject): Return the thisValue from
        the ExecState. Return 0 if m_exec is null.
        * page/JavaScriptCallFrame.h:
        * page/JavaScriptCallFrame.idl: Add thisObject.
        * page/inspector/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection): Adds two new arguments.
        The ignoreHasOwnProperty tells the section to show all properties,
        including inherited ones. And extraProperties is an object of
        additional properties to show.
        (WebInspector.ObjectPropertiesSection.prototype): Honor the
        extraProperties and ignoreHasOwnProperty properties.
        * page/inspector/ScopeChainSidebarPane.js:
        (WebInspector.ScopeChainSidebarPane.prototype.update): Add a this
        property to an extra object that is passed to the ObjectPropertiesSection.
        Also pass true for ignoreHasOwnProperty since we want to show all properties.

2008-05-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by Brady.

        Add mimeType and textEncodingName to the resource table.
        
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::openDatabase):
        (WebCore::ApplicationCacheStorage::store):
        (WebCore::ApplicationCacheStorage::loadCache):

2008-05-16  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        <rdar://problem/5770054> JavaScript profiler (10928)
        Use a Vector instead of a Deque since we don't use the extra capabilities
        of the Deque.

        * page/JavaScriptProfileNode.cpp:
        (WebCore::getChildren):
        (WebCore::toJS):

2008-05-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by Brady.

        Add a version table to the database.

        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::verifySchemaVersion):
        (WebCore::ApplicationCacheStorage::openDatabase):
        * loader/appcache/ApplicationCacheStorage.h:

2008-05-16  Timothy Hatcher  <timothy@apple.com>

        Adds the ability to evaluate expressions in the local scope
        of the selected call frame.

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

        Reviewed by Geoff Garen.

        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::evaluate): Pass the exception
        from evaluate to the calling ExecState.
        * page/JavaScriptCallFrame.cpp:
        (WebCore::JavaScriptCallFrame::evaluate): Added an exception out
        argument. Simplified the code by calling KJS:eval directly.
        * page/JavaScriptCallFrame.h: Change evalutate to take an exception
        out argument.
        * page/inspector/Console.js: Check if the debugger is paused and
        call evaluateInSelectedCallFrame on the Scripts panel.
        * page/inspector/ScriptsPanel.js: Added a paused getter and
        evaluateInSelectedCallFrame which does the evaluation and updates
        the scope variables pane afterwards.

2008-05-16  Timothy Hatcher  <timothy@apple.com>

        Fixed the bug where the Inspector node highlight would not show
        in the correct place for nodes in frames.

        <rdar://problem/5712834> Elements in iframes are highlighted incorrectly (14408)

        Reviewed by John Sullivan.

        * page/InspectorController.cpp:
        (WebCore::convertFromFrameToMainFrame): Helper function to convert
        IntRect coordinates from one frame to the main frame.
        (WebCore::InspectorController::drawNodeHighlight): Call the
        convertFromFrameToMainFrame helper for all the rects we get from
        the node since they are in the owner frame's coordinate space.

2008-05-16  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric.

        Preparatory work for bug 9191: JS*ElementWrapperFactory should be autogenerated

        Make video tags use a header guard so that make_names.pl for factory generation.

        - Add video tag guard in HTMLTagNames.in & give an extraDefines parameter to make_names.pl
        when generating HTMLNames.

        - Modify the different build systems to accomodate the new parameter.

        - Small make_names.pl clean up (mainly code generated coding style issue).

        * DerivedSources.make: Add HTML_FLAGS and pass it to make_names.pl
        if it is defined (similar to SVG) 

        * GNUmakefile.am: Add HTML_FEATURES & HTML_FLAGS and pass it to
        make_names.pl if HTML_FLAGS is defined.

        * WebCore.pro: Pass $${DEFINES} to make_names.pl.

        * dom/make_names.pl: 
        * html/HTMLElement.cpp:
        (WebCore::inlineTagList): Add ENABLE(VIDEO) guard.
        * html/HTMLTagNames.in: Ditto.

2008-05-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by Mitz.

        Fire progress events.
        
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::startLoadingEntry):

2008-05-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by John.

        Handle the case where the main resource load is cancelled while the cache attempt is in progress.
        
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::mainReceivedError):
        Tell the group that the main resource failed to load.
        
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
        Call cacheUpdateFailed.
        
        (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
        Stop loading if the update failed.
        
        * loader/appcache/ApplicationCacheGroup.h:

2008-05-16  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Alice Liu

        <rdar://problem/5710317> REGRESSION:Selecting ranges of text should be possible using the keyboard (15310)

        * WebCore.base.exp:
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
        * page/AXObjectCache.cpp:
        * page/AXObjectCache.h:
        (WebCore::AXObjectCache::enableEnhancedUserInterfaceAccessibility):
        (WebCore::AXObjectCache::accessibilityEnabled):
        (WebCore::AXObjectCache::accessibilityEnhancedUserInterfaceEnabled):
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::visiblePositionRange):
        (WebCore::AccessibilityRenderObject::doSetAXSelectedTextMarkerRange):
        (WebCore::AccessibilityRenderObject::addChildren):
        (WebCore::AccessibilityRenderObject::actionVerb):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleKeyboardSelectionMovement):
        (WebCore::EventHandler::defaultKeyboardEventHandler):
        * page/EventHandler.h:

2008-05-15  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        Since WebKitGtk is fully using autotools now, clean-up the .pro/.pri files
        from gtk-port.

        * WebCore.pro:

2008-05-16  Simon Hausmann  <hausmann@webkit.org>

        Fix the Gtk build.

        * GNUmakefile.am: Added rendering/style to the include paths.

2008-05-16  Simon Hausmann  <hausmann@webkit.org>

        Fix the Qt build.

        * WebCore.pro: Added rendering/style to the include paths
        * page/AXObjectCache.cpp:
        (WebCore::AXObjectCache::handleActiveDescendantChanged): Don't compile
        this method unless a17n is enabled.

2008-05-15  Rob Buis  <buis@kde.org>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=17433
        getComputedStyle() -> clip returns empty string

        Make getComputedStyle return a shape value for clip
        if it is set.

        Tests: fast/css/getPropertyValue-clip.html

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

2008-05-15  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fix. Add rendering/style to includes dir.

        * webcore-base.bkl:

2008-05-15  Alice Liu  <alice.liu@apple.com>

        Reviewed by Beth Dakin.

        Fixed <rdar://problem/5882283> Implement ARIA aria-activedescendant
        Also added support for aria roles listbox and option, and aria-selected, 
        and aria-multiselectable for listboxes

        * dom/Element.cpp:
        (WebCore::Element::attributeChanged):
        * dom/Element.h:
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::attributeChanged):
        * html/HTMLAttributeNames.in:
        * page/AXObjectCache.cpp:
        (WebCore::AXObjectCache::handleActiveDescendantChanged):
        * page/AXObjectCache.h:
        (WebCore::AXObjectCache::accessibilityEnabled):
        (WebCore::AXObjectCache::handleActiveDescendantChanged):
        * page/AccessibilityListBox.cpp:
        (WebCore::AccessibilityListBox::selectedChildren):
        (WebCore::AccessibilityListBox::visibleChildren):
        * page/AccessibilityListBox.h:
        * page/AccessibilityListBoxOption.h:
        (WebCore::AccessibilityListBoxOption::selectedChildren):
        (WebCore::AccessibilityListBoxOption::visibleChildren):
        * page/AccessibilityObject.cpp:
        * page/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isListBox):
        (WebCore::AccessibilityObject::shouldFocusActiveDescendant):
        (WebCore::AccessibilityObject::activeDescendant):
        (WebCore::AccessibilityObject::handleActiveDescendantChanged):
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::title):
        (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId):
        (WebCore::AccessibilityRenderObject::focusedUIElement):
        (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant):
        (WebCore::AccessibilityRenderObject::activeDescendant):
        (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
        (WebCore::RoleEntry::):
        (WebCore::AccessibilityRenderObject::ariaRoleAttribute):
        (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
        (WebCore::AccessibilityRenderObject::selectedChildren):
        (WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren):
        (WebCore::AccessibilityRenderObject::visibleChildren):
        * page/AccessibilityRenderObject.h:
        (WebCore::AccessibilityRenderObject::isDetached):
        * page/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2008-05-15  Timothy Hatcher  <timothy@apple.com>

        Adds an error and warning count indicator at the bottom right in the
        Inspector's status bar.

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

        Initial implementation by Adam Roben.
        Reviewed by Sam Weinig.

        Test: manual-tests/inspector/error-warning-count.html

        * English.lproj/localizedStrings.js: Added new strings.
        * manual-tests/inspector/error-warning-count.html: Added.
        * page/inspector/Console.js:
        (WebInspector.Console.prototype.show): Don't do anything if visible.
        (WebInspector.Console.prototype.hide): Don't do anything if hidden.
        Temporally set properties and classes to mimic the post-animation
        values so panels like Elements in their updateStatusBarItems call will
        size things to fit the final location. 
        * page/inspector/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes):
        Account for the #error-warning-count width when sizing breadcrumbs. 
        * page/inspector/Resource.js:
        (WebInspector.Resource.prototype.set errors): Update the global error count.
        (WebInspector.Resource.prototype.set warnings): Update the global warning count.
        * page/inspector/inspector.css: Make .hidden's display property
        !important to ensure things really hide, and added styling for the new
        #error-warning-count element.
        * page/inspector/inspector.html: Added an #error-warning-count div
        in the #anchored-status-bar-items div.
        * page/inspector/inspector.js:
        (WebInspector.get errors): Added.
        (WebInspector.set errors): Added. Calls _updateErrorAndWarningCounts.
        (WebInspector.get warnings): Added.
        (WebInspector.set warnings): Added. Calls _updateErrorAndWarningCounts.
        (WebInspector._updateErrorAndWarningCounts): Added. Update the
        #error-warning-count div with the current error/warning count.
        (WebInspector.loaded): Add a click event listener to the
        #error-warning-count element that will show the Console. Call
        _updateErrorAndWarningCounts to display the initial error/warning counts.

2008-05-15  Timothy Hatcher  <timothy@apple.com>

        Fixes a bug in the view source parsing of text within <script>,
        <style>, <xmp>, <textarea> and other special tags. The text was
        being parsed as HTML and would be syntax highlighted if a "<"
        was encountered.

        <rdar://problem/5790805> Inspector's source view missing some words,
        doubles others in JS source in <script> tag (17752)

        Reviewed by Dave Hyatt.

        Added test: fast/frames/viewsource-plain-text-tags.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptHandler): Set scriptCodeSize and
        scriptCodeResync to zero before an early return in view source mode.
        This was causing text from a previous script tag to show up in
        then next style tag.
        (WebCore::HTMLTokenizer::parseTag): Enter an if block in view source
        mode even if n is null. The n is property guarded in other places
        and not used by view source mode. Removes a redundant null check on n.
        Add a new null check of n before setting scriptSrcCharset. Other code
        in HTMLTokenizer is already guarded for this code path. 

2008-05-15  Timothy Hatcher  <timothy@apple.com>

        Changes the Web Inspector node highlight to be less aggressive
        and only highlight when hovering over the selected node in the DOM
        tree or breadcrumbs. You can highlight on hover for any node if
        you hold down the Alt/Option key while hovering.

        Reviewed by Kevin McCullough.

        * page/inspector/ElementsPanel.js:
        * page/inspector/inspector.js:

2008-05-15  Stephanie Lewis  <slewis@apple.com>

        Fix windows build

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

2008-05-15  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Anders.
        
        export a symbol needed for fast teardown

        * WebCore.base.exp:

2008-05-15  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Anders.

        Keep track on pending unload event counts

        No change in behavior so no new tests, but I am dumping the 
        unload event count to track the new variable.

        * WebCore.base.exp:

        increment/decrement the count when an event is added/removed
        * dom/Document.cpp:
        (WebCore::Document::removeHTMLWindowEventListener):
        (WebCore::Document::addWindowEventListener):
        (WebCore::Document::removeWindowEventListener):
        (WebCore::Document::setPendingFrameUnloadEventCount):
        * dom/Document.h:

        set the count to 0 for each frame after the unload event has been dispatched
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):

        keep track of the number of pending unload events for the eventHandler's frame
        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler):
       (WebCore::EventHandler::pendingFrameUnloadEventCount):
        (WebCore::EventHandler::setPendingFrameUnloadEventCount):
        * page/EventHandler.h:

        keep track of the total number of pending unload events for all of the frames
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::pendingUnloadEventCount):
        (WebCore::Page::setPendingUnloadEventCount):
        * page/Page.h:

2008-05-15  Steve Falkenburg  <sfalken@apple.com>

        Fix build.

        * WebCore.vcproj/WebCore.vcproj:

2008-05-15  Steve Falkenburg  <sfalken@apple.com>

        Fix build.

        * WebCore.vcproj/WebCore.vcproj:

2008-05-15  Steve Falkenburg  <sfalken@apple.com>

        Fix build.

        * WebCore.vcproj/WebCore.vcproj:

2008-05-15  David Kilzer  <ddkilzer@apple.com>

        Bug 19085: font-family: initial sets font-family differently than font: initial

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

        Reviewed by David Hyatt.

        Test: fast/css/font-family-initial.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Don't set family if first
        family of initial font description is empty.

2008-05-15  David Hyatt  <hyatt@apple.com>

        Move RenderStyle into a new subdirectory, rendering/style/, in preparation for breaking it up into
        a bunch of smaller files.

        Reviewed by Dan Bernstein

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * rendering/RenderStyle.cpp: Removed.
        * rendering/RenderStyle.h: Removed.
        * rendering/style: Added.
        * rendering/style/RenderStyle.cpp: Copied from rendering/RenderStyle.cpp.
        * rendering/style/RenderStyle.h: Copied from rendering/RenderStyle.h.

2008-05-15  David Kilzer  <ddkilzer@apple.com>

        Fix leaks when stopping a page from loading

        Patch suggested by Antti.  Reviewed by Antti.

        * loader/DocLoader.cpp:
        (WebCore::DocLoader::clearPreloads): If a resource is in m_preloads but
        never made it to the cache, delete it to prevent it from leaking.

2008-05-15  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin.

        https://bugs.webkit.org/show_bug.cgi?id=13942
        ASSERTION FAILED: !attrName.contains('/') in HTMLTokenizer.cpp:132 when loading http://bamanzi.blogeden.cn/

        In HTML, when an attribute was null (for example when we parse '="somevalue"'
        (attribute forgotten or there is a space between the attribute and the '=')),
        the fallback was to assign the value to the attribute. However if the value was
        a url or did contain a '/', we would trigger the assertion.

        To avoid that, we check the value before assigning it now and do not assign it
        if it means adding a '/'.

        Test: fast/parser/assertion-empty-attribute.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseTag): Add check for '/' in value before
        assigning it to an attribute when the attribute is null.

2008-05-15  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fix for recent breakages. Add EventLoopWx.cpp, update the Bakefiles,
        and add stubs for new Plugins functions. Also move plugin functions outside of
        TemporaryLinkStubs.cpp so that they are more noticeable.

        * WebCoreSources.bkl:
        * platform/wx/EventLoopWx.cpp: Added.
        (WebCore::EventLoop::cycle):
        * platform/wx/TemporaryLinkStubs.cpp:
        * plugins/wx: Added.
        * plugins/wx/PluginDataWx.cpp: Added.
        (WebCore::PluginData::initPlugins):
        (WebCore::PluginData::refresh):
        * plugins/wx/PluginDatabaseWx.cpp: Added.
        (WebCore::PluginDatabase::getPluginPathsInDirectories):
        (WebCore::PluginDatabase::defaultPluginDirectories):
        (WebCore::PluginDatabase::isPreferredPluginDirectory):
        * plugins/wx/PluginPackageWx.cpp: Added.
        (WebCore::PluginPackage::determineQuirks):
        (WebCore::PluginPackage::fetchInfo):
        (WebCore::PluginPackage::load):
        (WebCore::PluginPackage::hash):
        (WebCore::PluginPackage::equal):
        (WebCore::PluginPackage::compareFileVersion):
        * plugins/wx/PluginViewWx.cpp: Added.
        (WebCore::PluginView::updateWindow):
        (WebCore::PluginView::setFocus):
        (WebCore::PluginView::show):
        (WebCore::PluginView::hide):
        (WebCore::PluginView::paint):
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::handleMouseEvent):
        (WebCore::PluginView::setParent):
        (WebCore::PluginView::setNPWindowRect):
        (WebCore::PluginView::attachToWindow):
        (WebCore::PluginView::detachFromWindow):
        (WebCore::PluginView::stop):
        (WebCore::PluginView::userAgent):
        (WebCore::PluginView::handlePostReadFile):
        (WebCore::PluginView::getValue):
        (WebCore::PluginView::invalidateRect):
        (WebCore::PluginView::invalidateRegion):
        (WebCore::PluginView::forceRedraw):
        (WebCore::PluginView::~PluginView):
        (WebCore::PluginView::init):
        * webcore-wx.bkl:

2008-05-15  Adam Treat  <treat@kde.org>

        Reviewed by Simon.

        Don't try to setCompositionMode for devices that do not support PorterDuff

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

2008-05-15  Adele Peterson  <adele@apple.com>

        Reviewed and landed by Alexey.

        Use TextIterator in +[NSAttributedString _web_attributedStringFromRange:].

        * WebCore.base.exp: Exported TextIterator methods.

2008-05-15  Simon Hausmann  <hausmann@webkit.org>

        Fix the Qt build by adding NetworkStateNotifier.cpp to the build.

        * WebCore.pro:

2008-05-14  Dan Bernstein  <mitz@apple.com>

        Reviewed by Mark Rowe.

        - fix <rdar://problem/5907633> Memory corruption after closing a document that uses box-reflect

        Test: fast/reflections/teardown-crash.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::~RenderLayer): Changed to not call removeLayers()
        on the reflection if the document is being destroyed, because in that
        case the layer tree is not being maintained.

2008-05-14  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        <rdar://problem/5770054> JavaScript profiler (10928)
        - Expose the new Profiler functions to the WebInspector.

        * page/JavaScriptProfileNode.cpp:
        (WebCore::getTotalPercent):
        (WebCore::getSelfPercent):
        (WebCore::ProfileNodeClass):

2008-05-14  Timothy Hatcher  <timothy@apple.com>

        Fixes a crash in JavaScriptDebugServer::returnEvent when debugging
        code that contains an eval. This change makes stepping into eval
        code work as expected.

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

        Reviewed by Kevin McCullough.

        Tested with: manual-tests/inspector/returnEvent-crash.html

        * manual-tests/inspector/returnEvent-crash.html: Added.
        * page/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::sourceParsed): Adds #ifdefed
        debugging code to prevent the sourceID and URL.
        (WebCore::updateCurrentCallFrame): Added. A helper function that
        is called from all 4 of the debugger hooks below. This function will
        update and/or create JavaScriptCallFrames to match the exec state,
        sourceID and lineNumber passed into it. Contains #ifdefed debugging
        code that was helpful while fixing this bug.
        (WebCore::JavaScriptDebugServer::callEvent): Call updateCurrentCallFrame
        before pauseIfNeeded.
        (WebCore::JavaScriptDebugServer::atStatement): Ditto.
        (WebCore::JavaScriptDebugServer::returnEvent): Ditto.
        (WebCore::JavaScriptDebugServer::exception): Ditto.

2008-05-14  Alp Toker  <alp@nuanti.com>

        GTK+ build fix for r33457. Add NetworkStateNotifier.cpp to the build.

        * GNUmakefile.am:

2008-05-14  Alp Toker  <alp@nuanti.com>

        GTK+ build fix. Include value.h from kjs, not JavaScriptCore.

        * page/JavaScriptProfile.cpp:
        * page/JavaScriptProfileNode.cpp:

2008-05-14  Adam Roben  <aroben@apple.com>

        Windows release build fix

        * WebCore.vcproj/WebCore.vcproj: Make sure the warnings we disable on
        XPathGrammar.cpp are disabled for all configurations, not just
        Debug_Internal.

2008-05-14  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Sam.

        <rdar://problem/5770054> JavaScript profiler (10928)
        - Rename FunctionCallProfile to ProfileNode

        * ForwardingHeaders/profiler/FunctionCallProfile.h: Removed.
        * ForwardingHeaders/profiler/ProfileNode.h: Copied from ForwardingHeaders/profiler/FunctionCallProfile.h.
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * page/JavaScriptFunctionCallProfile.cpp: Removed.
        * page/JavaScriptFunctionCallProfile.h: Removed.
        * page/JavaScriptProfile.cpp:
        * page/JavaScriptProfileNode.cpp: Copied from page/JavaScriptFunctionCallProfile.cpp.
        (WebCore::ProfileNodeCache):
        (WebCore::getFunctionName):
        (WebCore::getTotalTime):
        (WebCore::getSelfTime):
        (WebCore::getNumberOfCalls):
        (WebCore::getChildren):
        (WebCore::finalize):
        (WebCore::ProfileNodeClass):
        (WebCore::toJS):
        * page/JavaScriptProfileNode.h: Copied from page/JavaScriptFunctionCallProfile.h.

2008-05-13  Beth Dakin  <bdakin@apple.com>

        Reviewed by Brady.

        This patch adds support for the ARIA progressbar role and the 
        following ARIA states (ie HTML attributes): aria-checked, aria-
        level, aria-pressed, aria-valuenow, aria-valuemin, and aria-
        valuemax.

        * html/HTMLAttributeNames.in:
        * page/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isProgressIndicator):
        (WebCore::AccessibilityObject::valueForRange):
        (WebCore::AccessibilityObject::maxValueForRange):
        (WebCore::AccessibilityObject::minValueForRange):
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isProgressIndicator):
        (WebCore::AccessibilityRenderObject::isPressed): Check the aria-
        pressed attribute if this is an ARIA button.
        (WebCore::AccessibilityRenderObject::headingLevel): Check the aria-
        level attribute if this is an ARIA heading.
        (WebCore::AccessibilityRenderObject::intValue): Check the aria-
        checked attribute if this is an ARIA radio button or checkbox.
        (WebCore::AccessibilityRenderObject::valueForRange):
        (WebCore::AccessibilityRenderObject::maxValueForRange):
        (WebCore::AccessibilityRenderObject::minValueForRange):
        (WebCore::RoleEntry::):
        (WebCore::AccessibilityRenderObject::canSetValueAttribute):
        * page/AccessibilityRenderObject.h:
        * page/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2008-05-14  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by John.

        -<rdar://problem/5770054> JavaScript profiler (10928)
        Use the FunctionCallProfile's new total and self time functions.

        * page/JavaScriptFunctionCallProfile.cpp:
        (WebCore::getTotalTime):
        (WebCore::getSelfTime):

2008-05-14  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Don't try to store the resource data if it's empty.
        
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::store):

2008-05-14  Adam Roben  <aroben@apple.com>

        Windows build fix

        * platform/network/NetworkStateNotifier.cpp: Added a missing #include.
        * platform/network/NetworkStateNotifier.h:
        (WebCore::NetworkStateNotifier::NetworkStateNotifier): Removed 'void'
        return type from the constructor, and fixed the spelling of a member
        variable.

2008-05-14  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Adam.

        <rdar://problem/5770054> JavaScript profiler (10928)
        - Add support for interacting with the JavaScriptCore profiler.

        * ForwardingHeaders/profiler/FunctionCallProfile.h: Added.
        * ForwardingHeaders/profiler/Profile.h: Added.
        * GNUmakefile.am: Add the new files to all the projects.
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * page/InspectorController.cpp: Add the ability to retrieve all of the
        profiles in JavaScript from the InspectorController.
        (WebCore::allProfiles):
        (WebCore::InspectorController::windowScriptObjectAvailable):
        * page/JavaScriptFunctionCallProfile.cpp: Added. Wrapper around the JSC
        FunctionCallProfile.
        (WebCore::functionCallProfileCache): This cache makes sure we don't
        needlessly create duplicate wrappers around the same
        FunctionCallProfile*.
        (WebCore::getFunctionName): Callback to return the name of the function.
        (WebCore::getTotalTime): Callback to return the total time spent in the
        function.
        (WebCore::getSelfTime): Callback to return the time spent in self (total
        - time in children) in the function.
        (WebCore::getNumberOfCalls): Callback to return the number of times this
        function was called.
        (WebCore::getChildren): Callback to return the children of this function
        where the children are the functions this function called.
        (WebCore::finalize): Cleanup.
        (WebCore::functionCallProfileClass): Define the JSClassRef for this
        object.
        (WebCore::toJS): Create a conversion function to make a usable JSValue
        to wrap the FunctionCallProfile in JSC.
        * page/JavaScriptFunctionCallProfile.h: Added.
        * page/JavaScriptProfile.cpp: Added. Wrapper around the JSC Profile.
        (WebCore::profileCache): This cache makes sure we don't needlessly
        create duplicate wrappers aroudn the same Profile*.
        (WebCore::getHeadCallback): Callback to return the head of the graph of
        the functions profiled durring this profile's run.
        (WebCore::finalize):
        (WebCore::profileClass): Define the JSClassRef for this object.
        (WebCore::toJS): Create a conversion function to make a usable JSValue
        to wrap the Profile from JSC.
        * page/JavaScriptProfile.h: Added.

2008-05-14  David Hyatt  <hyatt@apple.com>

        Fix for bug https://bugs.webkit.org/show_bug.cgi?id=16130.

        Opacity, transforms, reflections and masks should not honor z-index unless the element is also
        positioned.  Always reset to auto if the element is not positioned (and then the following code will
        adjust auto to 0 as needed).

        Reviewed by Dan Bernstein

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

2008-05-14  Anders Carlsson  <andersca@apple.com>

        Reviewed by Brady.

        <rdar://problem/5931742> Support navigator.onLine from HTML5
        
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Add NetworkStateNotifier files.
        
        * dom/EventNames.h:
        Add offline and online events.
        
        * page/Navigator.cpp:
        (WebCore::Navigator::onLine):
        * page/Navigator.h:
        * page/Navigator.idl:
        Add navigator.onLine.
        
        * page/Page.cpp:
        (WebCore::networkStateChanged):
        Dispatch offline/online events to all frames.
        
        (WebCore::Page::Page):
        Set state change callback.
        
        * platform/network/NetworkStateNotifier.cpp: Added.
        * platform/network/NetworkStateNotifier.h: Added.

        * platform/network/mac/NetworkStateNotifierMac.cpp: Added.
        Mac network state notifier.

2008-05-14  Adam Roben  <aroben@apple.com>

        Fix Bug 18888: REGRESSION (r32731): console.log always prints
        "undefined"

        <https://bugs.webkit.org/show_bug.cgi?id=18888>

        Reviewed by Tim Hatcher.

        Tested by pre-existing
        manual-tests/inspector/console-log-formatting.html.

        * page/inspector/Console.js:
        (WebInspector.ConsoleMessage.prototype._format): Changed to explicitly
        wrap Console._format instead of using bind to do it. Using bind was
        causing us to pass plainText in as the first parameter instead of as
        the second.

2008-05-14  Timothy Hatcher  <timothy@apple.com>

        Fixes the bug where stepping out of a function would show the wrong
        call stack (would look like it stepped out twice.)

        Reviewed by Adam Roben.

        * page/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::returnEvent):
        Call pauseIfNeeded before setting m_currentCallFrame to the caller.

2008-05-14  Stephanie Lewis  <slewis@apple.com>
   
        Fix 64bit build

        * plugins/PluginView.h:

2008-05-14  David Kilzer  <ddkilzer@apple.com>

        REGRESSION (r26474): WebKit fails jQuery test 64 core module: text(String) subtest 1 Check escaped text (createTextNode)

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

        Reviewed by Darin.

        Tests: fast/dom/dom-parse-serialize-expected.txt:
               fast/xsl/xslt-processor-expected.txt:
               fast/xsl/xslt-text-expected.txt:

        Commit r26474 removed escaping of '>' characters to '&gt;' in serialized
        HTML content, which broke one jQuery test.  This change restores that
        serialization behavior to both attributes and content for consistency.

        * editing/markup.cpp:
        (WebCore::appendAttributeValue): Escape '>' as '&gt;'.
        (WebCore::escapeContentText): Ditto.
        (WebCore::appendEscapedContent): Ditto.  This is the bug fix for the jQuery test.

2008-05-14  Adam Roben  <aroben@apple.com>

        Fix Bug 19051: REGRESSION (r33447): Assertion in
        JSDebugServer::removeListener closing tab with Inspector open

        <https://bugs.webkit.org/show_bug.cgi?id=19051>

        m_inspectedPage is now cleared when the Page is destroyed, which never
        used to happen. Some of InspectorController's code was not prepared
        for this.

        Reviewed by Dave Hyatt.

        * page/InspectorController.cpp:
        (WebCore::InspectorController::~InspectorController): Removed a call
        to stopDebugging and added an assertion. Debugging should have already
        been stopped by this point.
        (WebCore::InspectorController::inspectedPageDestroyed): Moved here
        from the header file. Added a call to stopDebugging.
        (WebCore::InspectorController::enabled): Return false if our inspected
        Page has already been destroyed, since we can't really do much at this
        point anyway.
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
        (WebCore::InspectorController::identifierForInitialRequest):
        (WebCore::InspectorController::startDebuggingAndReloadInspectedPage):
        (WebCore::InspectorController::stopDebugging):
        (WebCore::InspectorController::drawNodeHighlight):
        Assert that m_inspectedPage hasn't been cleared.
        * page/InspectorController.h:

2008-05-14  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin.

        <rdar://problem/5914803> Improve performance of WebCore::Editor::setComposition

        * editing/Editor.cpp:
        (WebCore::Editor::confirmComposition): Remove the previous composition
        when we insert the new one, not with a separate, slower, delete operation.
        (WebCore::Editor::setComposition): Ditto.
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::performTrivialReplace): Remove the selected
        text with a low level operation that doesn't perform a layout and insert
        the new text in a way that won't trigger a layout from the removal.
        (WebCore::InsertTextCommand::input): Call the optimized replace.
        * editing/InsertTextCommand.h:
        * editing/htmlediting.cpp:
        (WebCore::isTabSpanNode): Check to see if the node is a span, to avoid 
        the expense of getAttribute in the common case.
        * page/Frame.cpp:
        (WebCore::Frame::selectionLayoutChanged): Selection::start() and end()
        will already be at VisiblePosition deepEquivalents. Selection::validate()
        ensures this.

2008-05-14  Adam Roben  <aroben@apple.com>

        Make the Inspector able to handle being reloaded

        When Reload was selected from the context menu in the Inspector, the
        Inspector window would close and never be openable again. Now it
        closes, then reopens when the page finishes loading.

        Reviewed by Tim Hatcher.

        * page/InspectorController.cpp:
        (WebCore::InspectorController::close): Removed code that cleared out
        m_page. This is now handled by pageDestroyed.
        * page/InspectorController.h:
        (WebCore::InspectorController::inspectedPageDestroyed): Added.
        * page/Page.cpp:
        (WebCore::Page::~Page): Fixed a bug and added a call to the new
        inspectedPageDestroyed. If we have a parent InspectorController, that
        means that we are the Page in the Inspector's window (i.e., we are the
        Inspector's UI), so when we are destroyed we should call
        InspectorController::pageDestroyed. We also need to call
        inspectedPageDestroyed on our own InspectorController so that it won't
        try to call into us.

2008-05-14  Timothy Hatcher  <timothy@apple.com>

        Add pause on exception support to the Inspector debugger
        with a toggle buttons to enable or disable it.

        Reviewed by Adam Roben.

        * page/InspectorController.cpp:
        (WebCore::pauseOnExceptions): Call the InspectorController.
        (WebCore::setPauseOnExceptions): Ditto.
        (WebCore::InspectorController::windowScriptObjectAvailable): Add the new
        setPauseOnExceptions and pauseOnExceptions functions to the JS class.
        (WebCore::InspectorController::pauseOnExceptions): Call JavaScriptDebugServer.
        (WebCore::InspectorController::setPauseOnExceptions): Ditto.
        * page/InspectorController.h:
        * page/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::setPauseOnExceptions): Set m_pauseOnExceptions.
        (WebCore::JavaScriptDebugServer::exception): Check m_pauseOnExceptions
        and set m_pauseOnNextStatement to true before calling pauseIfNeeded.
        * page/JavaScriptDebugServer.h:
        * page/inspector/Images/pauseOnExceptionButtons.png: Added.
        * page/inspector/ScriptsPanel.js: Adds a status bar button that calls
        the new InspectorController functions.
        * page/inspector/inspector.css: New styles.

2008-05-14  Timothy Hatcher  <timothy@apple.com>

        Rename the Scope Chain pane to Scope Variables. Name the global
        object Global. Name objects before the locals "With Block".
        Name colsure scopes "Closure". Name any element or document
        after Local, "Event Target" and "Event Document", respectfully.

        Reviewed by Adam Roben.

        * English.lproj/localizedStrings.js: Add new strings.
        * page/inspector/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection): Add a new argument that is used
        for the empty placeholder text.
        (WebInspector.ObjectPropertiesSection.prototype.onpopulate): Use the
        empty placeholder text.
        * page/inspector/ScopeChainSidebarPane.js:
        (WebInspector.ScopeChainSidebarPane): Rename Scope Chain to Scope Variables.
        (WebInspector.ScopeChainSidebarPane.prototype.update): Use the object name as
        the subtitle. Use "Global" for the global object title. Use "With Block" for
        the title of objects before the locals. Use "No Variables" for the empty
        placeholder text for locals.

2008-05-14  Michael A. Puls II  <shadow2531@gmail.com>

        Reviewed by Alexey.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=16923 
        Attr nodes with a value of "" should not have any childNodes
        
        In Opera, Firefox and IE, when an attribute node has a value
        of "", the attribute node doesn't have any childNodes. This
        is true in WebKit also, but not when you assign "" to the
        Attr's value when the existing value is non-empty.
        
        Test: fast/dom/attribute-empty-value-no-children.html

        * dom/Attr.cpp: (WebCore::Attr::setValue): Use createTextChild(), which only appends
        a child text node if the value being assigned is not empty.

2008-05-14  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric.

        GCC 4.3 build fix.
        Removes some compiler warnings.

        * dom/Document.h:
        (WebCore::FormElementKey::hashTableDeletedValue): GCC complained about the const keyword
        so remove it as it is only used inside FormElementKey.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Correct coding style (removes
        a warning too).

        * loader/appcache/ApplicationCacheResource.cpp: Include stdio.h for gcc4.3 build.

        * plugins/PluginPackage.cpp:
        (WebCore::PluginPackage::PluginPackage): Changed initialization order in the constructor.
        * plugins/PluginView.cpp:
        (WebCore::PluginView::PluginView): Ditto.
        * plugins/PluginView.h:
        * xml/AccessControlList.cpp: Include stdio.h
        * xml/AccessItem.cpp: Ditto.
        * xml/AccessItemRule.cpp: Ditto.

2008-05-14  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        Qt build fix. Add JSJavaScriptCallFrameCustom.cpp to the build
        and implemented EventLoopQt.

        * WebCore.pro:
        * platform/qt/EventLoopQt.cpp: Added.

2008-05-14  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        Qt build fix. Add JavaScriptCallFrame.{idl,cpp} to the build.

        * WebCore.pro:

2008-05-13  Dan Bernstein  <mitz@apple.com>

        Reviewed by John Sullivan.

        - Windows part of <rdar://problem/5725912> improve render quality of transformed text

        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::Font::drawGlyphs): Added call to
        wkSetCGContextFontRenderingStyle().

2008-05-13  Alp Toker  <alp@nuanti.com>

        GTK+ build fix. Implement EventLoopGtk.cpp.

        * GNUmakefile.am:
        * platform/gtk/EventLoopGtk.cpp: Added.
        (WebCore::EventLoop::cycle):

2008-05-13  Alp Toker  <alp@nuanti.com>

        GTK+ build fix. Fix IDL filename typo and add JavaScriptCallFrame.cpp
        to the build.

        * GNUmakefile.am:

2008-05-13  Matt Lilek  <webkit@mattlilek.com>

        Not reviewed, partial Gtk build fix.

        * GNUmakefile.am:

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Fixes a crash when stepping out in the Inspector's debugger.

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

        Reviewed by Dan Bernstein.

        * page/InspectorController.cpp:
        (WebCore::currentCallFrame): Adds a null check of currentCallFrame,
        since it can be null. Also returns JSNull to better signify this.
        * page/inspector/ScriptsPanel.js: Updates the debugger interface
        when stepping so the currentCallFrame isn't accessed when not paused.
        Adds a _clearInterface function to remove duplicate code.

2008-05-13  chris fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin

        <rdar://problem/5932677> AX: Submit buttons aren't returning AXTitle

        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::title):

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Adds an overlay window that covers the scripts panel and
        informs the user that they need to attach the debugger.
        Provides an "Attach Debugger" button below the info text.

        Reviewed by Dan Bernstein.

        * English.lproj/localizedStrings.js: New strings.
        * page/inspector/ScriptsPanel.js:
        (WebInspector.ScriptsPanel): Create the overlay elements and
        append to the main panel element.
        * page/inspector/inspector.css: New styles for the over lay elements.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Fixes the assertion and crash that would happen when inspecting a element from a frame.
        This change makes JSInspectedObjectWrapper pass unwrapped objects around for global objects
        that share the same page group identifier. Also returns jsUndefined() instead of 0 to prevent
        crashing in release builds if the page groups don't match.

        Passes all the tests in: manual-tests/inspector-wrappers

        Reviewed by Adam Roben.

        * bindings/js/JSInspectedObjectWrapper.cpp:
        (WebCore::JSInspectedObjectWrapper::prepareIncomingValue): Return jsUndefined() instead of 0.
        Call allowsUnwrappedAccessFrom instead of unwrappedExecStateMatches.
        * bindings/js/JSQuarantinedObjectWrapper.cpp:
        (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Renamed from unwrappedExecStateMatches.
        Return true if the pageGroupIdentifier of both wrappers match.
        (WebCore::JSQuarantinedObjectWrapper::callAsFunction): Return jsUndefined() instead of 0.
        * bindings/js/JSQuarantinedObjectWrapper.h: Renamed unwrappedExecStateMatches to allowsUnwrappedAccessFrom.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Fixes the hang that could happen when option-clicking to expand
        a disclosure triangle in the Properties pane. This change limits
        the recursion depth when expanding the tree elements.

        <rdar://problem/5847681> Safari hangs when option-clicking a
        disclosure triangle in the Inspector's Properties pane

        Reviewed by John Sullivan.

        * page/inspector/treeoutline.js:
        (TreeElement.prototype.expandRecursively): Pass an empty info object to
        traverseNextTreeElement to get the depthChange value. This is used to
        compute a current depth. If the depth exceeds the maxDepth argument, the
        item isn't expanded and children wont be populated when traverseNextTreeElement
        is called until the depth goes below the maxDepth.
        (TreeElement.prototype.traverseNextTreeElement): Added a new info
        argument that can be optionally used to return extra info like depth change.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Adds info text to panes and sections in the Inspector's sidebars
        that would normally be empty. These help the user know why there
        is nothing in these sections.

        Reviewed by John Sullivan.

        * English.lproj/localizedStrings.js: Add strings.
        * page/inspector/BreakpointsSidebarPane.js: Adds "No Breakpoints".
        * page/inspector/CallStackSidebarPane.js: Adds "Not Paused".
        * page/inspector/ObjectPropertiesSection.js: Adds "No Properties".
        * page/inspector/ScopeChainSidebarPane.js: Adds "Not Paused".
        * page/inspector/inspector.css: Adds style rules for the info elements.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Implements the rest of the Scripts panel to get the debugger
        mostly working. "Basic debugging seems to work."

        Reviewed by Geoff Garen.

        * English.lproj/localizedStrings.js: Adds new strings.
        * page/inspector/Resource.js:
        (WebInspector.Resource.prototype.get scripts): Returns _scripts and 
        creates it lazily.
        (WebInspector.Resource.prototype.addScript): Add the script object to the
        front of the _scripts array.
        (WebInspector.Resource.prototype.removeAllScripts): Removed all the scripts
        and removes the resource back-reference.
        (WebInspector.Resource.prototype.removeScript): Removes the script and
        breaks the resource back-reference.
        * page/inspector/ResourceView.js:
        (WebInspector.ResourceView): Adds a reminder comment.
        (WebInspector.ResourceView.prototype.get headersVisible): Returns _headersVisible. 
        (WebInspector.ResourceView.prototype.set headersVisible): Stubs out
        a setter that currently just sets _headersVisible. Has a comment that
        points out this needs implemented when network headers are added.
        * page/inspector/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.show): Sets the headersVisible property of
        the visible view to true and shows it again, in case it was being shown in Scripts.
        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
        Copies the headersVisible property from the old view to the new view.
        (WebInspector.ResourcesPanel.prototype.showResource): Sets the headersVisible
        property to true before showing.
        * page/inspector/ScriptView.js:
        (WebInspector.ScriptView): Passes in _addBreakpoint for the add breakpoint delegate.
        (WebInspector.ScriptView.prototype._addBreakpoint): Calls ScriptsPanel's addBreakpoint
        for the current Script.sourceID and line.
        * page/inspector/ScriptsPanel.js:
        (WebInspector.ScriptsPanel): 
        (WebInspector.ScriptsPanel.prototype.show): Sets the headersVisible property of
        the visible view to false and shows it again, in case it was being shown in Resources.
        (WebInspector.ScriptsPanel.prototype.addScript): Makes a new Script object and
        adds it to a Resource if one is found. Registers any breakpoint that match
        the new Script's source URL, and sets the sourceID of the breakpoints.
        (WebInspector.ScriptsPanel.prototype.addBreakpoint): Adds the breakpoint to the
        BreakpointsSidebarPane. Also adds it to _breakpointsURLMap so it can be found
        later in addScript by URL. Finally adds the breakpoint to the SourceFrame that
        represents the resources or script.
        (WebInspector.ScriptsPanel.prototype.removeBreakpoint): Removes the breakpoint from
        the BreakpointsSidebarPane, _breakpointsURLMap and SourceFrame.
        (WebInspector.ScriptsPanel.prototype.debuggerPaused): Update the debugger
        state variables, the buttons and the CallStackSidebarPane.
        (WebInspector.ScriptsPanel.prototype.reset): Clears and resets debugger
        and interface state.
        (WebInspector.ScriptsPanel.prototype.get visibleView): Returns _visibleView.
        (WebInspector.ScriptsPanel.prototype.set visibleView): Sets _visibleView and
        calls hide on the old view and show on the new view.
        (WebInspector.ScriptsPanel.prototype.showScript): Calls _showScriptOrResource.
        (WebInspector.ScriptsPanel.prototype.showResource): Ditto.
        (WebInspector.ScriptsPanel.prototype.scriptViewForScript): Lazily creates a
        ScriptView for the Script and returns it. 
        (WebInspector.ScriptsPanel.prototype.sourceFrameForScript): Returns the SourceFrame
        for the Script.
        (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource): Returns the
        SourceFrame based on the type of object passed in.
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Shows the view based on
        the type of object passed in. If the object is a resource and there are breakpoints
        defined for that Resource URL, then populate the SourceFrame with the breakpoints.
        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Adds a script to the 
        files menu. If the Script is part of a resource, that resource is added.
        (WebInspector.ScriptsPanel.prototype._removeScriptFromFilesMenu): Remove a script from
        the files menu. If that script is part of a resource and it is the last script of that
        resource, then remove the whole resource.
        (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine): Clears the execution
        line from the SourceFrame that is showing it.
        (WebInspector.ScriptsPanel.prototype._callFrameSelected): Event listener for when the
        call frame changes in the CallStackSidebarPane. Triggers updates to the ScopeChainSidebarPane
        and the visible view.
        (WebInspector.ScriptsPanel.prototype._changeVisibleFile): Event listener for the change state
        of the files select element.
        (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Update more of the 
        buttons to reflect the current debugger state. Updates the status text too.
        (WebInspector.ScriptsPanel.prototype._toggleDebugging): Reset the UI and state when
        the debugger is attached/detached.
        (WebInspector.ScriptsPanel.prototype._togglePause): Call InspectorController.resumeDebugger or
        InspectorController.pauseInDebugger depending on the paused state.
        (WebInspector.ScriptsPanel.prototype._stepOverClicked): Call InspectorController.stepOverStatementInDebugger.
        (WebInspector.ScriptsPanel.prototype._stepIntoClicked): Call InspectorController.stepIntoStatementInDebugger.
        (WebInspector.ScriptsPanel.prototype._stepOutClicked): InspectorController.stepOutOfFunctionInDebugger.
        * page/inspector/SourceView.js:
        (WebInspector.SourceView): Passes in _addBreakpoint for the add breakpoint delegate.
        (WebInspector.SourceView.prototype._addBreakpoint): Calls ScriptsPanel's addBreakpoint
        for the nearest Script's sourceID and passed in line.
        * page/inspector/inspector.css: New style rules for the UI changes.
        * page/inspector/inspector.js:
        (WebInspector.loaded): Add the ScriptsPanel to the panels list.
        (WebInspector.parsedScriptSource): Call ScriptsPanel.addScript.
        (WebInspector.failedToParseScriptSource): Ditto.
        (WebInspector.pausedScript): Call ScriptsPanel.debuggerPaused.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Adds implementations of the Scope Chain and Call Stack sidebar panes.
        These panes use the JSJavaScriptCallFrame object that will be passed
        to the update functions.

        Reviewed by Kevin McCullough.

        * English.lproj/localizedStrings.js: Adds new strings.
        * WebCore.vcproj/WebCore.vcproj: Adds new files.
        * page/inspector/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype.update): Walk the 
        caller chain of the call frame and make placards for each.
        (WebInspector.CallStackSidebarPane.prototype.get selectedCallFrame):
        Return _selectedCallFrame. 
        (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame):
        Set _selectedCallFrame and dispatch the "call frame selected" event.
        (WebInspector.CallStackSidebarPane.prototype._placardSelected):
        Set the selectedCallFrame based on the clicked placard.
        * page/inspector/Placard.js: Added. A user interface object that can
        be used to show a title and a subtitle block with a selected state.
        * page/inspector/ScopeChainSidebarPane.js: Added.
        (WebInspector.ScopeChainSidebarPane): Call the base object and set the title.
        (WebInspector.ScopeChainSidebarPane.prototype.update): Iterate over the
        call frame's scope chain and make ObjectPropertiesSections for each.
        * page/inspector/SidebarPane.js:
        (WebInspector.SidebarPane.prototype): Inherit from WebInspector.Object.
        * page/inspector/WebKit.qrc: Add new files.
        * page/inspector/inspector.css: Add placard styles.
        * page/inspector/inspector.html: Add new files.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Fixes the bug where SourceViews would be blank if shown before
        the Resource finished loading.

        <rdar://problem/5807420> Safari's Web Inspector won't display the
        contents of some CSS and JS files

        Reviewed by Kevin McCullough.

        * page/inspector/Resource.js:
        (WebInspector.Resource.prototype.set finished): Dispatch the finished event
        (WebInspector.Resource.prototype): Inherit from WebInspector.Object.prototype.
        * page/inspector/SourceView.js:
        (WebInspector.SourceView): Register for the finished event on the resource.
        When the event fires, setup the source frame and deregister the event.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Factored most of SourceView out into SourceFrame so it can be shared
        by the new ScriptView. Added the ScriptView class to be used for
        scripts that arn't Resources (like eval code.) Added a simple Script
        object that hold the data from the debugger parsedSource hooks. A
        ScriptView holds a Script object, and uses it for source data.

        Added breakpoint and execution line support to the SourceFrame
        where they are visually represented in the source.

        Reviewed by Kevin McCullough.

        * page/inspector/inspector.js:
        (WebInspector.performSearch): Change the caller of sourceFrameForResource
        to use the SourceFrame result's element property.
        * page/inspector/ResourcesPanel.js: Use the new SourceFrame.
        * page/inspector/Script.js: Added.
        * page/inspector/ScriptView.js: Added.
        * page/inspector/SourceFrame.js: Added.
        * page/inspector/SourceView.js: Use the new SourceFrame.
        * WebCore.vcproj/WebCore.vcproj: Add new files.
        * page/inspector/WebKit.qrc: Ditto.
        * page/inspector/inspector.html: Ditto.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Adds a Breakpoint object and basic add/remove functions on
        BreakpointsSidebarPane that call the InspectorController to
        add/remove the breakpoint.

        Reviewed by Kevin McCullough.

        * page/inspector/Breakpoint.js:
        (WebInspector.Breakpoint): 
        (WebInspector.Breakpoint.prototype.get enabled): Return _enabled.
        (WebInspector.Breakpoint.prototype.set enabled): Set _enabled and
        dispatch the enabled/disabled event to listeners.
        * page/inspector/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointsSidebarPane): Add a breakpoints array.
        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
        Adds the breakpoint to the breakpoints array. Registers for the disabled
        and enabled event types. Call InspectorController.addBreakpoint if attached.
        (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
        Removes the breakpoint from the breakpoints array. Deregisters for the disabled
        and enabled event types. Call InspectorController.removeBreakpoint if attached.
        (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
        Call InspectorController.addBreakpoint or InspectorController.removeBreakpoint
        depending on the enabled state of the breakpoint.
        * WebCore.vcproj/WebCore.vcproj: Add new files.
        * page/inspector/WebKit.qrc: Ditto.
        * page/inspector/inspector.html: Ditto.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Make addSourceToFrame not dependent on InspectorResource so it
        can be used to add source of a passed in string and mime-type to
        a frame. Added addResourceSourceToFrame for use by SourceView.

        Also fixes an assertion because of an incorrect static_cast of identifiers
        to unsigned long long, when they can be unsigned.

        Reviewed by Geoff Garen.

        * page/InspectorController.cpp:
        (WebCore::addSourceToFrame): Helper function used by addSourceToFrame
        and addResourceSourceToFrame.
        (WebCore::addSourceToFrame): Generalized to take a source and mime-type string.
        (WebCore::addResourceSourceToFrame): Renamed from addSourceToFrame.
        (WebCore::getResourceDocumentNode): Fixes the static_cast to be long long.
        (WebCore::InspectorController::windowScriptObjectAvailable): Adds
        addResourceSourceToFrame to the JavaScript class.
        * page/inspector/SourceView.js: Use the new addResourceSourceToFrame.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Add debugger related functions to the InspectorController and
        expose them to the JavaScript side of InspectorController.

        Reviewed by Geoff Garen.

        * page/InspectorController.cpp:
        (WebCore::jsStringRef): Added helper to convert a UString to a JSStringRef.
        (WebCore::currentCallFrame): Call InspectorController::currentCallFrame.
        (WebCore::pauseInDebugger): Call InspectorController::pauseInDebugger.
        (WebCore::resumeDebugger): Call InspectorController::resumeDebugger.
        (WebCore::stepOverStatementInDebugger): Call InspectorController::stepOverStatementInDebugger.
        (WebCore::stepIntoStatementInDebugger): Call InspectorController::stepIntoStatementInDebugger.
        (WebCore::stepOutOfFunctionInDebugger): Call InspectorController::stepOutOfFunctionInDebugger.
        (WebCore::addBreakpoint): Call InspectorController::addBreakpoint.
        (WebCore::removeBreakpoint): Call InspectorController::removeBreakpoint.
        (WebCore::InspectorController::windowScriptObjectAvailable): Add the new functions to the
        InspectorController JavaScript class.
        (WebCore::InspectorController::startDebuggingAndReloadInspectedPage): Clear breakpoints.
        (WebCore::InspectorController::currentCallFrame): Return the currentCallFrame from the
        JavaScriptDebugServer.
        (WebCore::InspectorController::pauseInDebugger): Call JavaScriptDebugServer's pauseOnNextStatement.
        (WebCore::InspectorController::resumeDebugger): Call JavaScriptDebugServer's resume.
        (WebCore::InspectorController::stepOverStatementInDebugger):  Call JavaScriptDebugServer's stepOverStatement.
        (WebCore::InspectorController::stepIntoStatementInDebugger): Call JavaScriptDebugServer's stepIntoStatement.
        (WebCore::InspectorController::stepOutOfFunctionInDebugger): Call JavaScriptDebugServer's stepOutOfFunction.
        (WebCore::InspectorController::addBreakpoint): Call JavaScriptDebugServer's addBreakpoint.
        (WebCore::InspectorController::removeBreakpoint): Call JavaScriptDebugServer's removeBreakpoint.
        (WebCore::InspectorController::didParseSource): Call into the Inspector's JavaScript.
        (WebCore::InspectorController::failedToParseSource): Ditto.
        (WebCore::InspectorController::didPause): Ditto.
        * page/InspectorController.h: Add new functions.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Implements more debugger APIs on JavaScriptDebugServer and reduces
        the number of callbacks to JavaScriptDebugListeners. These changes
        will better facilitate debugger optimizations when SquirrelFish merges.

        Reviewed by Kevin McCullough.

        * page/InspectorController.cpp:
        (WebCore::InspectorController::didParseSource): Removed the ExecState.
        (WebCore::InspectorController::failedToParseSource): Ditto.
        (WebCore::InspectorController::didPause): Added.
        * page/InspectorController.h: Changed the JavaScriptDebugListener functions.
        * page/JavaScriptDebugListener.h: Removed some callbacks and added didPause.
        * page/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::JavaScriptDebugServer): Initialize new data members.
        (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): Delete all values of m_breakpoints.
        (WebCore::JavaScriptDebugServer::removeListener): Call resume if the last listener was removed.
        (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage): Returns true if there are any
        global listeners or a listener for the page.
        (WebCore::JavaScriptDebugServer::addBreakpoint): Adds and entry to m_breakpoints.
        (WebCore::JavaScriptDebugServer::removeBreakpoint): Removes a entry in m_breakpoints.
        (WebCore::JavaScriptDebugServer::hasBreakpoint):  Checks if there is a breakpoint for the
        sourceID and line.
        (WebCore::JavaScriptDebugServer::clearBreakpoints): Removed all breakpoints.
        (WebCore::JavaScriptDebugServer::pauseOnNextStatement): Sets m_pauseOnNextStatement to true.
        (WebCore::JavaScriptDebugServer::resume): Sets m_paused to false.
        (WebCore::JavaScriptDebugServer::stepIntoStatement): Calls resume and sets
        m_pauseOnNextStatement to true.
        (WebCore::JavaScriptDebugServer::stepOverStatement): Calls resume and sets m_pauseOnExecState to
        the current call frame's ExecState.
        (WebCore::JavaScriptDebugServer::stepOutOfFunction): Calls resume and sets m_pauseOnExecState to
        the current call frame's caller ExecState.
        (WebCore::JavaScriptDebugServer::currentCallFrame): Returns m_currentCallFrame if paused.
        (WebCore::dispatchDidParseSource): Removed the ExecState argument.
        (WebCore::dispatchFailedToParseSource): Ditto.
        (WebCore::JavaScriptDebugServer::sourceParsed): Doesn't pass the ExecState to dispatchDidParseSource
        or dispatchFailedToParseSource.
        (WebCore::dispatchFunctionToListeners):
        (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Removes all the arguments passed
        to the callback.
        (WebCore::JavaScriptDebugServer::setJavaScriptPaused): Various overloaded functions
        to pause parts of WebCore to prevent JavaScript execution while paused.
        (WebCore::JavaScriptDebugServer::pauseIfNeeded): Decides if the debugger should pause based
        on the passed in ExecState, source ID and line number. This checks for breakpoints, stepping, etc.
        Calls didPause on all the listeners and spins a EventLoop until resume is called.
        (WebCore::JavaScriptDebugServer::callEvent): Call pauseIfNeeded.
        (WebCore::JavaScriptDebugServer::atStatement): Ditto.
        (WebCore::JavaScriptDebugServer::returnEvent): Ditto.
        (WebCore::JavaScriptDebugServer::exception): Ditto.
        * page/JavaScriptDebugServer.h: Added new functions.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Change View.show to call detach if the parentNode dosen't
        match before appending to the passed in parent element.
        This also prevents appending to the same parent element
        multiple times.

        Reviewed by John Sullivan.

        * page/inspector/FontView.js:
        (WebInspector.FontView.prototype.show): Pass the parent element to View.show.
        * page/inspector/ResourceView.js: Optimize the attach method to no append if
        there is a parentNode already.
        * page/inspector/SourceView.js: Ditto.
        * page/inspector/View.js: Call detach before appending if the parentNode
        doesn't match the passed in element.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Optimize the panel attach method to no append if there is a
        parentNode already.

        Reviewed by Adam Roben.

        * page/inspector/Panel.js:
        (WebInspector.Panel.prototype.attach): Don't append to main-panels
        if the panel element already has a parentNode.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Add Widget::isPluginView so the JavaScriptDebugServer can identify
        plugins that need to be paused during debugging. This will be used
        in a upcoming commit.

        Reviewed by Kevin McCullough.

        * platform/Widget.h: Add isPluginView. Return false.
        * plugins/PluginView.h: Add isPluginView. Return true.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Adds an event loop abstraction to platform. This abstraction will be
        used by the JavaScriptDebugServer to implement pausing.

        Reviewed by Kevin McCullough.

        * platform/EventLoop.h: Added.
        (WebCore::EventLoop::EventLoop):
        (WebCore::EventLoop::ended): Return m_ended.
        * platform/mac/EventLoopMac.mm: Added.
        (WebCore::EventLoop::cycle): Call nextEventMatchingMask and then sendEvent.
        * platform/win/EventLoopWin.cpp: Added.
        (WebCore::EventLoop::cycle): Call GetMessage, TranslateMessage and DispatchMessage.
        * WebCore.xcodeproj/project.pbxproj: Add new files.
        * WebCore.vcproj/WebCore.vcproj: Ditto.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Breaks out ObjectPropertiesSection from PropertiesSidebarPane
        so it can be used by the Scripts panel's Scope Chain pane.

        Rubber-stamped by Adam Roben.

        * page/inspector/ObjectPropertiesSection.js: Added.
        * page/inspector/PropertiesSidebarPane.js: Moved ObjectPropertiesSection
        to ObjectPropertiesSection.js.
        * WebCore.vcproj/WebCore.vcproj: Add the new file.
        * page/inspector/WebKit.qrc: Ditto.
        * page/inspector/inspector.html: Ditto.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Add a helper function to the Inspector's Array prototype
        that will remove any identical values/objects from the array.

        Reviewed by Kevin McCullough.

        * page/inspector/utilities.js:
        (Array.prototype.remove): Iterate over the array and strict
        compare to the passed in value. If they match, splice that index
        out of the array. If onlyFirst is true, return after the first splice.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Adds a JavaScriptCallFrame object and JavaScript binding with an IDL.
        This object will expose the stack to the Inspector's debugger.

        Reviewed by Adam Roben.

        * DerivedSources.make: Add JavaScriptCallFrame.
        * bindings/js/JSJavaScriptCallFrameCustom.cpp: Added.
        (WebCore::JSJavaScriptCallFrame::evaluate): Calls impl evaluate and returns the result.
        (WebCore::JSJavaScriptCallFrame::scopeChain): Makes an array of the ScopeChain.
        * page/JavaScriptCallFrame.cpp: Added.
        (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
        (WebCore::JavaScriptCallFrame::caller): Returns m_caller.
        (WebCore::JavaScriptCallFrame::functionName): Returns the function
        name from the ExecState if this is not global code or anonymous.
        (WebCore::JavaScriptCallFrame::evaluate): Evaluates a script string
        in the scope of the call frame.
        * page/JavaScriptCallFrame.h: Added.
        (WebCore::JavaScriptCallFrame::create): Call the ctor can return in a PassRefPtr.
        (WebCore::JavaScriptCallFrame::invalidate): Sets m_mexec to 0. This prevents a
        stale ExecState from being accessed after the lifetime of the ExecState.
        (WebCore::JavaScriptCallFrame::isValid): Checks if m_exec is 0.
        (WebCore::JavaScriptCallFrame::execState): Returns m_exec.
        (WebCore::JavaScriptCallFrame::sourceIdentifier): Returns m_sourceID.
        (WebCore::JavaScriptCallFrame::line): Returns m_line.
        (WebCore::JavaScriptCallFrame::setLine): Sets m_line.
        (WebCore::JavaScriptCallFrame::scopeChain): Returns by reference m_exec->scopeChain().
        * page/JavaScriptCallFrame.idl: Added.
        * WebCore.xcodeproj/project.pbxproj: Add new files.
        * WebCore.vcproj/WebCore.vcproj: Ditto.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Add a new WebInspector.Object base class that will be used for
        a few objects in the Web Inspector to support listeners on any
        object. This will help add more abstraction to the Inspector.

        Reviewed by Adam Roben.

        * page/inspector/Object.js: Added.
        (WebInspector.Object): Does nothing.
        (WebInspector.Object.prototype.addEventListener): Adds the listener to
        the _listeners map by type. Supports a this object argument, for easy
        addition of listeners without the need for bind.
        (WebInspector.Object.prototype.removeEventListener): Remove the listener
        from the _listeners map. If the listener is null and the thisObject was
        passed, remove any listener for that thisObject.
        (WebInspector.Object.prototype.dispatchEventToListeners): Sends an event
        for a type to all listeners for that type. Mimics some of the DOMEvent
        methods and properties for the event object passed to the listeners.
        * WebCore.vcproj/WebCore.vcproj: Add new files.
        * page/inspector/WebKit.qrc: Ditto.
        * page/inspector/inspector.html: Ditto.

2008-05-13  Timothy Hatcher  <timothy@apple.com>

        Update the view source CSS to better match the new Inspector mock-ups.

        Reviewed by Kevin McCullough.

        * css/view-source.css:

2008-05-13  John Sullivan  <sullivan@apple.com>

        Reviewed by Dan Bernstein and Kevin Decker
        
        - fixed <rdar://problem/5879597> reproducible crash in HTMLSelectElement::typeAheadFind

        Test: fast/forms/select-type-ahead-list-box-no-selection.html

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::typeAheadFind):
        When there's no initially-selected element, we were accessing index -1. Check for this
        case and start at 0.

2008-05-13  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Small cleanup to XMLHttpRequest in preparation for Access Control changes.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::~XMLHttpRequest):
        (WebCore::XMLHttpRequest::open):
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::internalAbort):
        (WebCore::XMLHttpRequest::processSyncLoadResults):
        (WebCore::XMLHttpRequest::didFinishLoading):
        (WebCore::XMLHttpRequest::didReceiveResponse):
        (WebCore::XMLHttpRequest::didReceiveData):
        * xml/XMLHttpRequest.h:

2008-05-13  chris fleizach  <cfleizach@apple.com>

        Beth Dakin

        <rdar://problem/5701210> VO: If image is missing, VoiceOver does not speak the alternative text.

        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):

2008-05-13  chris fleizach  <cfleizach@apple.com>

        Beth Dakin

        <rdar://problem/5908446> AX: webkit needs to return blockquote information for all AX objects, not just in AXTextMarker info

        * page/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2008-05-13  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by John Sullivan.

        <rdar://problem/4852077> REGRESSION: The content of the HTML file which is saved as Thai
        (ISO 8859-11) disappear.

        <rdar://problem/5842597> Thai ISO-8859-11 should be upgraded to Windows-874

        Test: fast/encoding/char-decoding.html

        * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
        Register ISO-8859-11, which doesn't have a standard IANA name, despite following
        the usual 8859 naming scheme. Also, made TIS-620 map to windows-874-2000 explicitly.

2008-05-13  chris fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin

        <rdar://problem/5471973> Some AXLinks are not getting AXTitles though there is title text

        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::title):

2008-05-13  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=18681
        <rdar://problem/5888130> WebKit should not remove BOM characters from content.

        We were only trying to match Firefox, and it doesn't do this any more.

        Tests: fast/encoding/bom-in-content.html
               fast/encoding/bom-in-content-utf16.html

        * platform/text/TextDecoder.cpp: (WebCore::TextDecoder::checkForBOM): Skip the BOM if it's
        at the start of input stream.

        * platform/text/TextCodec.cpp:
        * platform/text/TextCodec.h:
        * platform/text/TextCodecICU.cpp:
        (WebCore::TextCodecICU::decode):
        * platform/text/TextCodecUTF16.cpp:
        (WebCore::TextCodecUTF16::decode):
        * platform/text/mac/TextCodecMac.cpp:
        (WebCore::TextCodecMac::decode):
        Don't remove the BOM.

2008-05-13  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin.

        Don't crash when a document loader is destroyed while an initial caching attempt
        is in progress.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
        Stop loading.
        
        (WebCore::ApplicationCacheGroup::stopLoading):
        New method that stops a cache update.
        
        (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
        Delete ourselves here.
        
        * loader/appcache/ApplicationCacheGroup.h:

2008-05-13  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        <rdar://problem/5841351> Turkish ISO 8859-9 encoding should be treated as windows-1254

        Match IE and upgrade ISO-8859-9 to windows-1254, which is its strict superset.

        Test: fast/encoding/char-decoding.html

        * platform/text/TextCodecICU.cpp:
        (WebCore::TextCodecICU::registerExtendedEncodingNames): Register the standard name
        unconditionally. Previously, we registered windows-949-2000 as a special case that lacked 
        an IANA standard name, and got away with not registering GBK because it happened
        to be reported by ICU normally earlier than any encoding upgraded to it.

2008-05-13  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon

        Fix QtWebKit build on Qt embedded.

        * WebCore.pro:
        * platform/FileSystem.h:
        * platform/qt/FileSystemQt.cpp:

2008-05-13  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        For Gtk/X11 and Qt/X11, use a more extensive plug-ins scan directories set

        * plugins/PluginDatabase.cpp:
        (WebCore::addMozillaPluginDirectories):
        (WebCore::PluginDatabase::isPreferredPluginDirectory):

2008-05-12  Adam Roben  <aroben@apple.com>

        Turn on warnings as errors in WebCore.vcproj

        Rubberstamped by Anders Carlsson.

        * WebCore.vcproj/WebCore.vcproj: Also let VS reformat the file as it
        saw fit. The important part is the removal of the WarnAsError="false"
        lines.

2008-05-12  Adam Roben  <aroben@apple.com>

        Fix a MSVC warning in PluginViewWin

        Reviewed by Anders Carlsson.

        Test: http/tests/plugins/post-url-file.html

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::handlePostReadFile): Added a missing return
        statement.

2008-05-12  Adam Roben  <aroben@apple.com>

        Fix a MSVC warning in GetEOTHeader

        Reviewed by Dan Bernstein.

        * platform/graphics/win/GetEOTHeader.cpp:
        (WebCore::getEOTHeader): MSVC complains that having a 0-sized array in
        a struct is a non-standard extension. I've replaced the 0-sized arrays
        with arrays of 1 element, and replaced sizeof(structType) with
        offsetof(structType, arrayMember).

2008-05-09  Adam Roben  <aroben@apple.com>

        Fix a MSVC warning in TextCodecICU

        Reviewed by John Sullivan and Dan Bernstein.

        * platform/text/TextCodecICU.cpp:
        (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter):
        UCNV_SUB_STOP_ON_ILLEGAL is a string literal, so using == with it
        doesn't really do what we want. Use strcmp instead. It's OK to pass an
        unknown value to strcmp here since 1) UCNV_SUB_STOP_ON_ILLEGAL is only
        a single character long so we're not going to ready more than 2 bytes
        from oldContext, and 2) we're inside an ASSERT which will cause a
        crash anyway if it fails.

2008-05-09  Adam Roben  <aroben@apple.com>

        Fix a MSVC warning in CSSComputedStyleDeclaration

        Reviewed by Geoff Garen.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForRepeatRule): Removed some unreachable code.

2008-05-09  Adam Roben  <aroben@apple.com>

        Fix a MSVC warning in InlineTextBox

        Reviewed by Dan Bernstein.

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint): Initialize some variables that MSVC
        isn't smart enough to figure out will always be initialized in the
        cases where they are used.

2008-05-09  Adam Roben  <aroben@apple.com>

        Fix a MSVC warning in Position

        Reviewed by Darin Adler.

        * dom/Position.cpp:
        (WebCore::Position::getInlineBoxAndOffset): Use parentheses to make
        the precedence of our expressions explicit.

2008-05-09  Adam Roben  <aroben@apple.com>

        Fix a MSVC warning in String

        Reviewed by Geoff Garen.

        * platform/text/String.cpp:
        (WebCore::toIntegralType): Disable a bogus warning about using unary -
        on an unsigned value. MSVC isn't smart enough to figure out that
        isNegative will always be false when value is unsigned.

2008-05-09  Adam Roben  <aroben@apple.com>

        Fix a MSVC warning in XMLHttpRequest

        Reviewed by Geoff Garen.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::XMLHttpRequest): Added static_cast<unsigned
        long>.

2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Handle the case when a resource with the same URL as the manifest is listed in the manifest.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::addEntry):

2008-05-12  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Add parsing of AccessControlHeader and AccessItemRule.

        * xml/AccessControlList.cpp:
        (WebCore::AccessControlList::parseAccessControlHeader): When multiple http headers are sent
        in the response, the engine will concatenate them with commas separating the rules.  This simply
        reverses that process by splitting on the commas.
        (WebCore::AccessControlList::show):
        * xml/AccessControlList.h:
        * xml/AccessItem.cpp:
        (WebCore::AccessItem::AccessItem):
        (WebCore::AccessItem::show):
        * xml/AccessItem.h:
        (WebCore::AccessItem::isValid):
        * xml/AccessItemRule.cpp:
        (WebCore::skipLWS):
        (WebCore::AccessItemRule::parseAccessItemRule): Parse the rule according to the BNF provided by
        the Access Control spec.
        (WebCore::AccessItemRule::parsePatternList):
        (WebCore::AccessItemRule::invalidate):
        (WebCore::AccessItemRule::show):
        * xml/AccessItemRule.h:

2008-05-12  David Kilzer  <ddkilzer@apple.com>

        Fix logic error in DocLoader::clearPreloads()

        Reviewed by Antti.

        * loader/DocLoader.cpp:
        (WebCore::DocLoader::clearPreloads): Be sure to decrease the preload count for
        the cached resource before trying to remove it from the cache.  A non-zero
        preload count can prevent the resource from being removed from the cache.

2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Handle empty manifest files without crashing.
        
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::startLoadingEntry):

2008-05-12  Alp Toker  <alp@nuanti.com>

        GTK+ build fix for breakage in r33056. Include limits.h for INT_MAX.

        * platform/graphics/FontCache.h:

2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Add user agent to requests when loading/updating the cache.
    
        * loader/FrameLoader.h:
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::update):
        (WebCore::ApplicationCacheGroup::startLoadingEntry):

2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Make it possible to perform synchronous loads from the application cache.
        
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
        Factor out code from scheduleApplicationCacheLoad in its own method.
        
        (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
        Call shouldLoadResourceFromApplicationCache here instead.
        
        * loader/DocumentLoader.h:
        
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadResourceSynchronously):
        Call shouldLoadResourceFromApplicationCache.

2008-05-12  Dan Bernstein  <mitz@apple.com>

        Reviewed by Ada Chan and Sam Weinig.

        - WebCore changes for https://bugs.webkit.org/show_bug.cgi?id=17097
          <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound

        Added a way for clients to let the cache know that they no longer need
        font data, which lets the cache release it. Changed clients to track
        most of the font data they get from the cache so that they can later
        release it. Some instances of font data -- namely, those used for system
        font fallback -- are still not tracked and will therefore remain in the
        cache indefinitely.

        * WebCore.base.exp: Added exports for WebCoreStatistics in WebKit.

        * platform/graphics/Font.cpp:
        (WebCore::Font::Font): Changed to use FontFallbackList::create().
        (WebCore::Font::update): Ditto.

        * platform/graphics/FontCache.cpp:
        (WebCore::FontCache::getCachedFontData): Added code to track the number
        of times a SimpleFontData instance has been requested from the cache,
        remove requested instances from the inactive list, and purge inactive
        font data if the inactive list has grown above its maximum allowed size.
        (WebCore::FontCache::releaseFontData): Added. Called by clients to let
        the cache know that they no longer need the font data. Adds the font
        data to the inactive list if the last client has released it.
        (WebCore::FontCache::purgeInactiveFontData): Added. Removes inactive
        font data from the cache (and the inactive list).
        (WebCore::FontCache::fontDataCount): Added to provide statistics.
        (WebCore::FontCache::inactiveFontDataCount): Ditto.

        * platform/graphics/FontCache.h:

        * platform/graphics/FontData.h:
        (WebCore::FontData::FontData): Added a member variable to store the
        highest glyph page tree level in which there is a node for this FontData.
        This is used to limit the depth of the search when pruning glyph page
        trees.
        (WebCore::FontData::setMaxGlyphPageTreeLevel): Added this accessor.
        (WebCore::FontData::maxGlyphPageTreeLevel): Ditto.

        * platform/graphics/FontFallbackList.cpp:
        (WebCore::FontFallbackList::FontFallbackList): Changed to start with a
        refcount of 1.
        (WebCore::FontFallbackList::invalidate): Added a call to
        releaseFontData().
        (WebCore::FontFallbackList::releaseFontData): Added. Lets the font cache
        know that we no longer need the FontData in our font list.
        (WebCore::FontFallbackList::fontDataAt): Changed to record in the font
        list whether the font data is a custom font data or not.
        (WebCore::FontFallbackList::setPlatformFont): Ditto.

        * platform/graphics/FontFallbackList.h:
        (WebCore::FontFallbackList::create): Added and made the constructor
        private.
        (WebCore::FontFallbackList::~FontFallbackList): Added a call to
        releaseFontData().

        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::GlyphPageTreeNode::treeGlyphPageCount): Added to provide
        statistics.
        (WebCore::GlyphPageTreeNode::pageCount): Ditto.

        (WebCore::GlyphPageTreeNode::pruneTreeFontData): Added.
        (WebCore::GlyphPageTreeNode::getChild): Added code to update the font
        data's maximum glyph page tree level.
        (WebCore::GlyphPageTreeNode::pruneFontData): Added.

        * platform/graphics/GlyphPageTreeNode.h:

        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::~SimpleFontData): Added code to let the font
        cache know that we no longer need the small caps font data and to prune
        the glyph page trees.

2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Alexey.

        Add ApplicationCacheStorage::empty() method which will empty
        the application cache database.
        
        * WebCore.base.exp:
        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::clearStorageID):
        * loader/appcache/ApplicationCache.h:
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::clearStorageID):
        * loader/appcache/ApplicationCacheGroup.h:
        * loader/appcache/ApplicationCacheResource.h:
        (WebCore::ApplicationCacheResource::clearStorageID):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::empty):
        * loader/appcache/ApplicationCacheStorage.h:

2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by John.

        Don't throw an exception if the string passed in is an invalid URL.
        
        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::remove):

2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Mitz.

        Add the variable enums for getting the input vtables.
        
        * bridge/npapi.h:

2008-05-12  Adam Roben  <aroben@apple.com>

        Windows build fix

        * WebCorePrefix.cpp: Touched this so that it will rebuild now that
        ENABLE_CROSS_DOCUMENT_MESSAGING has been removed.

2008-05-12  Alexey Proskuryakov  <ap@webkit.org>

        Roll out recent  threading changes (r32807, r32810, r32819, r32822) to simplify
        SquirrelFish merging.

        * bindings/js/GCController.cpp:
        (WebCore::collect):
        (WebCore::GCController::gcTimerFired):
        (WebCore::GCController::garbageCollectNow):
        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::JSAudioConstructor):
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::nameGetter):
        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSCanvasPixelArrayCustom.cpp:
        (WebCore::JSCanvasPixelArray::indexGetter):
        (WebCore::toJS):
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSClipboardCustom.cpp:
        (WebCore::JSClipboard::types):
        (WebCore::JSClipboard::getData):
        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        (WebCore::JSDOMApplicationCache::addEventListener):
        (WebCore::JSDOMApplicationCache::removeEventListener):
        (WebCore::JSDOMApplicationCache::setOnchecking):
        (WebCore::JSDOMApplicationCache::setOnerror):
        (WebCore::JSDOMApplicationCache::setOnnoupdate):
        (WebCore::JSDOMApplicationCache::setOndownloading):
        (WebCore::JSDOMApplicationCache::setOnprogress):
        (WebCore::JSDOMApplicationCache::setOnupdateready):
        (WebCore::JSDOMApplicationCache::setOncached):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
        (WebCore::JSDOMWindowBase::getValueProperty):
        (WebCore::JSDOMWindowBase::setListener):
        (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
        (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
        (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
        (WebCore::windowProtoFuncAToB):
        (WebCore::windowProtoFuncBToA):
        (WebCore::windowProtoFuncSetTimeout):
        (WebCore::windowProtoFuncSetInterval):
        (WebCore::windowProtoFuncAddEventListener):
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowShell.cpp:
        * bindings/js/JSDOMWindowShell.h:
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSEventTargetBase.cpp:
        (WebCore::jsEventTargetAddEventListener):
        * bindings/js/JSEventTargetBase.h:
        (WebCore::JSEventTargetPrototype::self):
        * bindings/js/JSEventTargetNode.cpp:
        (WebCore::JSEventTargetNode::setListener):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        (WebCore::toJS):
        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        (WebCore::createJSHTMLWrapper):
        * bindings/js/JSHTMLFormElementCustom.cpp:
        (WebCore::JSHTMLFormElement::nameGetter):
        * bindings/js/JSHTMLInputElementBase.cpp:
        (WebCore::JSHTMLInputElementBase::getValueProperty):
        * bindings/js/JSHTMLOptionElementConstructor.cpp:
        (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
        (WebCore::JSHTMLOptionsCollection::length):
        * bindings/js/JSInspectedObjectWrapper.cpp:
        (WebCore::JSInspectedObjectWrapper::wrap):
        * bindings/js/JSInspectorCallbackWrapper.cpp:
        (WebCore::JSInspectorCallbackWrapper::wrap):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::toString):
        * bindings/js/JSNamedNodesCollection.cpp:
        (WebCore::JSNamedNodesCollection::lengthGetter):
        * bindings/js/JSNavigatorCustom.cpp:
        (WebCore::JSNavigator::appVersion):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::JSNodeFilter::acceptNode):
        * bindings/js/JSRGBColor.cpp:
        (WebCore::getJSRGBColor):
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item):
        * bindings/js/JSSVGElementWrapperFactory.cpp:
        (WebCore::createJSSVGWrapper):
        * bindings/js/JSSVGLazyEventListener.cpp:
        (WebCore::JSSVGLazyEventListener::eventParameterName):
        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::nameGetter):
        * bindings/js/JSStyleSheetCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::JSXMLHttpRequestConstructor::construct):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::setOnreadystatechange):
        (WebCore::JSXMLHttpRequest::setOnload):
        (WebCore::JSXMLHttpRequest::setOnprogress):
        (WebCore::JSXMLHttpRequest::getResponseHeader):
        (WebCore::JSXMLHttpRequest::addEventListener):
        (WebCore::JSXMLHttpRequest::removeEventListener):
        * bindings/js/JSXSLTProcessorConstructor.cpp:
        (WebCore::JSXSLTProcessorConstructor::construct):
        * bindings/js/JSXSLTProcessorCustom.cpp:
        (WebCore::JSXSLTProcessor::getParameter):
        * bindings/js/kjs_binding.cpp:
        (WebCore::jsStringOrNull):
        (WebCore::jsOwnedStringOrNull):
        (WebCore::jsStringOrUndefined):
        (WebCore::jsStringOrFalse):
        (WebCore::nonCachingStaticFunctionGetter):
        (WebCore::objectToStringFunctionGetter):
        * bindings/js/kjs_binding.h:
        (WebCore::DOMObject::DOMObject):
        (WebCore::cacheDOMObject):
        (WebCore::cacheSVGDOMObject):
        * bindings/js/kjs_events.cpp:
        (WebCore::JSLazyEventListener::eventParameterName):
        (WebCore::JSLazyEventListener::parseCode):
        * bindings/js/kjs_html.cpp:
        (WebCore::getRuntimeObject):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/c/c_instance.cpp:
        (KJS::Bindings::CInstance::defaultValue):
        (KJS::Bindings::CInstance::stringValue):
        (KJS::Bindings::CInstance::numberValue):
        (KJS::Bindings::CInstance::valueOf):
        * bridge/c/c_instance.h:
        * bridge/c/c_utility.cpp:
        (KJS::Bindings::convertNPVariantToValue):
        * bridge/jni/jni_instance.cpp:
        (JavaInstance::stringValue):
        (JavaInstance::numberValue):
        (JavaInstance::invokeMethod):
        (JavaInstance::defaultValue):
        (JavaInstance::valueOf):
        * bridge/jni/jni_instance.h:
        * bridge/jni/jni_jsobject.h:
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::call):
        (JavaJSObject::setMember):
        (JavaJSObject::setSlot):
        (JavaJSObject::convertJObjectToValue):
        (JavaJSObject::getListFromJArray):
        * bridge/jni/jni_objc.mm:
        (KJS::Bindings::dispatchJNICall):
        * bridge/jni/jni_runtime.cpp:
        (JavaArray::convertJObjectToArray):
        (JavaField::dispatchValueFromInstance):
        (JavaField::valueFromInstance):
        (JavaField::dispatchSetValueToInstance):
        (JavaArray::valueAt):
        * bridge/jni/jni_utility.h:
        * bridge/objc/objc_class.mm:
        (KJS::Bindings::ObjcClass::fallbackObject):
        * bridge/objc/objc_instance.h:
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::defaultValue):
        (ObjcInstance::stringValue):
        (ObjcInstance::numberValue):
        (ObjcInstance::valueOf):
        * bridge/objc/objc_utility.h:
        * bridge/objc/objc_utility.mm:
        (KJS::Bindings::convertNSStringToString):
        (KJS::Bindings::convertObjcValueToValue):
        * bridge/qt/qt_class.cpp:
        (KJS::Bindings::QtClass::fallbackObject):
        * bridge/qt/qt_instance.cpp:
        (KJS::Bindings::QtRuntimeObjectImp::construct):
        (KJS::Bindings::QtInstance::getRuntimeObject):
        (KJS::Bindings::QtInstance::invokeDefaultMethod):
        (KJS::Bindings::QtInstance::defaultValue):
        (KJS::Bindings::QtInstance::stringValue):
        (KJS::Bindings::QtInstance::numberValue):
        (KJS::Bindings::QtInstance::valueOf):
        * bridge/qt/qt_instance.h:
        * bridge/qt/qt_runtime.cpp:
        (KJS::Bindings::convertValueToQVariant):
        (KJS::Bindings::convertQVariantToValue):
        (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter):
        (KJS::Bindings::QtRuntimeMetaMethod::connectGetter):
        (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter):
        (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter):
        (KJS::Bindings::QtConnectionObject::execute):
        * bridge/runtime.cpp:
        (KJS::Bindings::Instance::createRuntimeObject):
        * bridge/runtime.h:
        (KJS::Bindings::Instance::valueOf):
        * bridge/runtime_array.cpp:
        (RuntimeArray::lengthGetter):
        * bridge/runtime_method.cpp:
        (RuntimeMethod::lengthGetter):
        * bridge/runtime_object.cpp:
        (RuntimeObjectImp::RuntimeObjectImp):
        (RuntimeObjectImp::methodGetter):
        (RuntimeObjectImp::defaultValue):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::dropProtection):

2008-05-11  Robin Dunn  <robin@alldunn.com>

        Reviewed by Kevin Ollivier.

        Since wx popup menus dismiss themselves when an item is selected we need to
        call hidePopup so webkit's internal state is correct.
        
        https://bugs.webkit.org/show_bug.cgi?id=19000

        * platform/wx/PopupMenuWx.cpp:
        (WebCore::PopupMenu::OnMenuItemSelected):
        (WebCore::PopupMenu::hide):

2008-05-11  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Move some generic parsing functions into a new ParserUtilities header so that
        they can be used for non-SVG builds too.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/text/ParserUtilities.h: Added.
        (WebCore::skipString):
        * svg/SVGParserUtilities.h:
        (WebCore::isWhitespace):
        (WebCore::skipOptionalSpaces):
        (WebCore::skipOptionalSpacesOrDelimiter):

2008-05-11  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Add scaffolding for the implementation of Access Control for Cross-site Requests. 

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * xml/AccessControlList.cpp: Added.
        (WebCore::AccessControlList::AccessControlList):
        (WebCore::AccessControlList::~AccessControlList):
        (WebCore::AccessControlList::parseAccessControlHeader):
        (WebCore::AccessControlList::checkOrigin):
        * xml/AccessControlList.h: Added.
        * xml/AccessItem.cpp: Added.
        (WebCore::AccessItem::AccessItem):
        (WebCore::AccessItem::parseAccessItem):
        (WebCore::AccessItem::matches):
        * xml/AccessItem.h: Added.
        * xml/AccessItemRule.cpp: Added.
        (WebCore::AccessItemRule::AccessItemRule):
        (WebCore::AccessItemRule::parseAccessItemRule):
        * xml/AccessItemRule.h: Added.

2008-05-11  Julien Chaffraix  <jchaffraix@webkit.org>

        Debug build fix.

        * loader/appcache/ApplicationCache.cpp: Include stdio.h
        as we are using printf in ApplicationCache::dump().

2008-05-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Jessica Kahn.

        - add a copy assignment operator to FontPlatformData on Mac to properly
          retain the m_font data member.

        * platform/graphics/mac/FontPlatformData.h:
        * platform/graphics/mac/FontPlatformDataMac.mm:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::~FontPlatformData):
        (WebCore::FontPlatformData::operator=):
        (WebCore::FontPlatformData::setFont):

2008-05-10  Adele Peterson  <adele@apple.com>

        Reviewed by Tim Hatcher.

        Fix crash for WebKit clients that don't set a group name for the WebView/Page.

        * page/PageGroup.cpp: (WebCore::PageGroup::PageGroup): Instead of adding the Page directly to the group,
          call the addPage method, since it does extra work initializing m_localStorage.

2008-05-09  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=18958
        NULL pointer dereference in NamedAttrMap::setNamedItem

        Test: fast/dom/NamedNodeMap-setNamedItem-crash.html

        * dom/NamedAttrMap.cpp:
        (WebCore::NamedAttrMap::setNamedItem): Null check the argument.

2008-05-09  Kevin McCullough  <kmccullough@apple.com>

        Build fix.

        * page/Console.cpp:
        (WebCore::Console::profile):

2008-05-09  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Mark Rowe.

        Remove the ENABLE_CROSS_DOCUMENT_MESSAGING #ifdefs.

        * Configurations/WebCore.xcconfig:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/build-generated-files.sh:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
        (WebCore::JSDOMWindow::postMessage):
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/objc/DOMEvents.mm:
        (+[DOMEvent _wrapEvent:WebCore::]):
        * dom/Document.cpp:
        (WebCore::Document::createEvent):
        * dom/Event.cpp:
        (WebCore::Event::isMessageEvent):
        * dom/Event.h:
        * dom/MessageEvent.cpp:
        * dom/MessageEvent.h:
        * dom/MessageEvent.idl:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessageTimerFired):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:

2008-05-09  Adam Barth  <abarth-webkit@adambarth.com>

        Reviewed by Sam Weinig.

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

        Make postMessage generate an event on the window instead of the
        document.

        Test: http/tests/messaging/cross-domain-message-event-dispatch.html

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchWindowEvent):
        * dom/EventTargetNode.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessageTimerFired):

2008-05-09  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon.

        Replaced all instances of qDebug() with LOG(Media, ...)
        in MediaPlayerPrivatePhonon.

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

2008-05-09  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon

        Fix the Qt/Mac build.

        * platform/qt/FileSystemQt.cpp:

2008-05-08  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Rename the XMLHttpRequestState enum values to match the spec.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::responseXML):
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
        (WebCore::XMLHttpRequest::open):
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::abort):
        (WebCore::XMLHttpRequest::setRequestHeader):
        (WebCore::XMLHttpRequest::getAllResponseHeaders):
        (WebCore::XMLHttpRequest::getResponseHeader):
        (WebCore::XMLHttpRequest::status):
        (WebCore::XMLHttpRequest::statusText):
        (WebCore::XMLHttpRequest::processSyncLoadResults):
        (WebCore::XMLHttpRequest::didFinishLoading):
        (WebCore::XMLHttpRequest::didReceiveData):
        * xml/XMLHttpRequest.h:

2008-05-08  Dan Bernstein  <mitz@apple.com>

        Reviewed by Mark Rowe.

        - fix https://bugs.webkit.org/show_bug.cgi?id=18818
          <rdar://problem/5901544> REGRESSION (3.1.1-TOT): Character order (float:left ordered after the first letter)

        Test: fast/css/first-letter-float-after-float.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetter): Changed to add the first
        letter container right before the rest of the text it is taken from,
        instead of at the beginning of the block.

2008-05-08  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/5921046> AX: list box options have wrong AXPosition

        * page/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::documentFrameView):
        * page/AccessibilityObject.h:

2008-05-08  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric.

        Bug 18916: make_names.pl --factory needs to support custom c++ guard

        Add --guardFactoryWith to handle the cpp guard around generated factories.

        * DerivedSources.make: Set the guardFactoryWith variable for SVG factory.
        * GNUmakefile.am: Ditto.
        * WebCore.pro: Ditto.
        * dom/make_names.pl: Add guardFactoryWith option.

2008-05-08  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Adam Roben.

        wx & Gtk build fix.

        Should also fix the cURL backend for the Windows port.

        * WebCore.vcproj/WebCore.vcproj: Add FormDataStreamCurl information.
        * platform/network/curl/FormDataStreamCurl.h: Include stdio.h which
        fixes the build on some machine.

        * webcore-wx.bkl: Add FormDataStreamCurl.cpp.

2008-05-08  Timothy Hatcher  <timothy@apple.com>

        Fixes the bug where the Web Inspector could not
        find any localization strings.

        Reviewed by Mark Rowe.

        * WebCore.xcodeproj/project.pbxproj: Add the localizedStrings.js
        file to the WebCore Copy Resources phase. Also removes an idl from
        the Copy Resources phase.

2008-05-08  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adam Roben.

        - fix <rdar://problem/5697957> "No recent searches" label in a narrow search field's history popup is truncated

        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::calculatePositionAndSize): Changed to use a bold
        font for measuring labels.

2008-05-08  Dan Bernstein  <mitz@apple.com>

        Reviewed by Geoffrey Garen.

        - cross-platform fix for http://bugs.webkit.org/show_bug.cgi?id=17590 
          ASSERTION FAILED: subject in jsRegExpExecute()

        * page/Frame.cpp:
        (WebCore::Frame::matchLabelsAgainstElement):

2008-05-08  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Simon.

        Simple ImageBuffer::image implementation.

        In contrast to cg and cairo we do not use a special BitmapImage because
        the ownership of the FrameData inside the BitmapImage is a bit backward
        (actually owned by the ImageDecoderQt...). Further work is needed for image
        and pixmap handling in the qt port...

        * WebCore.pro:
        * platform/graphics/ImageBuffer.h:
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::image):
        * platform/graphics/qt/ImageQt.cpp:
        * platform/graphics/qt/StillImageQt.cpp: Added.
        (WebCore::StillImage::StillImage):
        (WebCore::StillImage::size):
        (WebCore::StillImage::getPixmap):
        (WebCore::StillImage::draw):
        * platform/graphics/qt/StillImageQt.h: Added.

2008-05-08  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Simon.

        Update the WebKit.qrc of the inspector to be functional again

        * page/inspector/WebKit.qrc:

2008-05-08  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon

        Fix the Qt/Mac build.

        * platform/FileSystem.h:

2008-05-08  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        Use native Windows library handling (instead of QLibrary) 
        for Qt/Win32's PlatformModule.

        * platform/FileSystem.h:
        (WebCore::PlatformModuleVersion::PlatformModuleVersion):
        * platform/qt/FileSystemQt.cpp:
        (WebCore::unloadModule):

2008-05-08  Simon Hausmann  <hausmann@webkit.org>

        Reviewed and found by Holger.

        Include .css in the list of extensions for text/css. Fixes
        fast/loader/local-css-allowed-in-strict-mode.html.

        * platform/qt/MIMETypeRegistryQt.cpp:

2008-05-08  Simon Hausmann  <hausmann@webkit.org>

        Fix the Qt and Wx build when compiling without offline app support.

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

2008-05-07  Sam Weinig  <sam@webkit.org>

        Reviewed by Adele Peterson

        Update MessageEvent to match the latest version of the HTML5 spec,
        adding the lastEventId attribute.

        * dom/MessageEvent.cpp:
        (WebCore::MessageEvent::MessageEvent):
        (WebCore::MessageEvent::initMessageEvent):
        * dom/MessageEvent.h:
        (WebCore::MessageEvent::lastEventId):
        * dom/MessageEvent.idl:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessage):

2008-05-07  Stephanie Lewis <slewis@apple.com>

        Reviewed by Maciej.

        remove non-functioning code.  If onunload should be fired from these nodes then
        a WindowEventListener needs to be set.  However, Firefox and IE also do not
        fire onunload events for these cases.

        Test: fast/events/onunload-not-on-body.html 
        
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::parseMappedAttribute):
        * html/HTMLObjectElement.cpp
        (WebCore::HTMLObjectElement::parseMappedAttribute):

2008-05-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by John Sullivan.

        - fix https://bugs.webkit.org/show_bug.cgi?id=18909
          <rdar://problem/5914165> REGRESSION (r31872-r31878): Viewed photos not closing completely at indycar.com

        Test: fast/dynamic/positioned-movement-with-positioned-children.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutOnlyPositionedObjects): Cover the case of
        a positioned object that has only moved and has only positioned children
        that have changed.
        * rendering/RenderObject.h:
        (WebCore::RenderObject::needsPositionedMovementLayout): Added this
        accessor.

2008-05-07  Anders Carlsson  <andersca@apple.com>

        Reviewed by John.

        When no document loaders are associated with an application cache group,
        release the reference to the newest cache group. This prevents reference cycles.
        
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
        (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
        (WebCore::ApplicationCacheGroup::cacheDestroyed):
        * loader/appcache/ApplicationCacheGroup.h:
        
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::cacheGroupForURL):
        Return early if the datbase wasn't open.
        
        (WebCore::ApplicationCacheStorage::loadCache):
        Add error.

2008-05-07  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Don't put pages with an application cache in the BF cache.
        
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::canCachePage):

2008-05-07  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/5666354> Crashes in Mail at WebCore::RemoveNodeCommand::doApply
        
        When a single tab or series of tabs was copied, we weren't putting them into a 
        tab span.  On Paste, we would be given a text node with a single tab or series
        of tabs in it, and we would crash when inserting it at the start of a block
        (where that kind of text becomes completely unrendered).

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Clean
        up correctly and early return if we removed everything that was inserted.
        * editing/markup.cpp:
        (WebCore::createMarkup):  Include the tab span when the only thing copied
        was a tab or a series of tabs.

2008-05-07  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Adam Roben.

        wx & Gtk build fix.

        * platform/network/curl/FormDataStreamCurl.cpp: Added stdint.h include. We need to define
        __STDC_LIMIT_MACROS to have SIZE_MAX exported.
        * platform/network/curl/FormDataStreamCurl.h: Removed cstdint include (replaced by stdint.h)
        as it is not present on the build bots.
        * plugins/gtk/PluginDatabaseGtk.cpp: Added missing #endif.

2008-05-07  David Kilzer  <ddkilzer@apple.com>

        Bug 18900: Password field has focus but can't type text (i.rememberthemilk.com)
        <https://bugs.webkit.org/show_bug.cgi?id=18900>
        <rdar://problem/5912383>

        Original patch by Aaron Golden and Tim Omernick.  Reviewed by Adele.

        Test: fast/forms/textfield-to-password-on-focus.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setInputType): If the current node has
        focus, call updateFocusAppearance() to make sure its state is correct
        after changing its type.

2008-05-07  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Alice Liu

        <rdar://problem/4867889> REGRESSION: "Choose File.." buttons are exposed as AXGroup instead of AXButton

        * page/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isFileUploadButton):
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isFileUploadButton):
        (WebCore::AccessibilityRenderObject::actionElement):
        (WebCore::AccessibilityRenderObject::textUnderElement):
        (WebCore::AccessibilityRenderObject::stringValue):
        (WebCore::AccessibilityRenderObject::roleValue):
        * page/AccessibilityRenderObject.h:
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::buttonValue):
        (WebCore::RenderFileUploadControl::fileTextValue):
        * rendering/RenderFileUploadControl.h:

2008-05-07  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric.

        Bug 17971: [Curl] FormData processing should be moved to its own class

        Move FormData treatment into FormDataStream. The aim is to have FormDataStream behave like a stream that cURL
        could manipulate.

        First step into having complete file uploading facility in cURL.

        No test case as it is only code refactoring.

        * GNUmakefile.am: Add FormDataStreamCurl.cpp
        * platform/network/ResourceHandleInternal.h: Move code to FormStreamDataCurl.h
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        * platform/network/curl/FormDataStreamCurl.cpp: Added.
        (WebCore::FormDataStream::~FormDataStream):
        (WebCore::FormDataStream::read):
        * platform/network/curl/FormDataStreamCurl.h: Added.
        (WebCore::FormDataStream::FormDataStream):
        * platform/network/curl/ResourceHandleCurl.cpp:
        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::readCallback): Move code to FormDataStreamCurl.cpp

2008-05-07  Adam Treat  <treat@kde.org>

        Reviewed by Simon.

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

        Fixed wrong transform being used for creating the pixmap for a new
        transparency layer. This fixes the popup menus on dell.com.

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

2008-05-07  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        Share the plug-in directories between Gtk and Qt/X11 port.

        * platform/qt/FileSystemQt.cpp:
        (WebCore::homeDirectoryPath): Implement it for Qt.
        * plugins/PluginDatabase.cpp:
        (WebCore::addMozillaPluginDirectories): Shared code.
        (WebCore::PluginDatabase::defaultPluginDirectories):
        (WebCore::PluginDatabase::isPreferredPluginDirectory): Shared code.
        * plugins/gtk/PluginDatabaseGtk.cpp:
        (WebCore::PluginDatabase::isPreferredPluginDirectory): Refactored.
        * plugins/qt/PluginDatabaseQt.cpp: Refactored.

2008-05-07  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon

        Fix build issues on Mac and refeactor the .pro file a bit.

        * WebCore.pro:
        * platform/qt/TemporaryLinkStubs.cpp:
        (PluginPackage::fetchInfo):

2008-05-07  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon

        Draw scrollview corners (between scrollbars) using the Qt style.

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

        * platform/qt/ScrollViewQt.cpp:
        (WebCore::drawScrollbarCorner):
        (WebCore::ScrollView::paint):

2008-05-07  Simon Hausmann  <hausmann@webkit.org>

        Fix the Qt build, added AccessibilityListBox and ListBoxOption.cpp to
        the build.

        * WebCore.pro:

2008-05-07  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Rubber-stamped by Holger.

        Fix building without storage support.

        * page/PageGroup.cpp:
        (WebCore::PageGroup::closeLocalStorage): proper #if

2008-05-07  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Rubber-stamped by Oliver Hunt.

        Fix building without accessibility.

        * page/AXObjectCache.cpp:
        (WebCore::AXObjectCache::selectedChildrenChanged): proper #if

2008-05-06  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix <rdar://problem/5914544> Crash in layoutInlineChildren()

        Test: fast/block/float/float-on-zero-height-line.html

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

2008-05-06  Alice Liu  <alice.liu@apple.com>

        Reviewed by Adele Peterson and John Sullivan.

        changes needed to build on Windows after r32911 and r32927

        * WebCore.vcproj/WebCore.vcproj:
        * page/AXObjectCache.cpp:
        (WebCore::AXObjectCache::selectedChildrenChanged):
        * page/AccessibilityObject.h:
        (WebCore::AccessibilityObject::document):
        (WebCore::AccessibilityObject::topDocumentFrameView):
        (WebCore::AccessibilityObject::documentFrameView):
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::document):
        (WebCore::AccessibilityRenderObject::topDocumentFrameView):
        (WebCore::AccessibilityRenderObject::documentFrameView):
        * page/AccessibilityRenderObject.h:
        * page/mac/AXObjectCacheMac.mm:
        * page/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper position]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2008-05-06  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig

        Fix a few bugs with the final sync'ing of LocalStorageAreas when the thread is shut down.
        1 - A sync task actually needs to be scheduled for each LocalStorageArea when the shut down occurs.
        2 - Pending sync timers all need to be cancelled.

        * storage/LocalStorage.cpp:
        (WebCore::LocalStorage::storageArea):
        (WebCore::LocalStorage::close): Tell each LocalStorageArea to schedule it's final sync before scheduling
          thread termination.
        * storage/LocalStorage.h:  Change the map to be of LocalStorageAreas instead of StorageAreas

        * storage/LocalStorageArea.cpp:
        (WebCore::LocalStorageArea::LocalStorageArea):
        (WebCore::LocalStorageArea::~LocalStorageArea): ASSERT the timer has been cancelled, but make SURE it is
          in release builds.
        (WebCore::LocalStorageArea::scheduleFinalSync): Cancel the sync timer, schedule the final sync, and set the
          "final sync scheduled" flag
        (WebCore::LocalStorageArea::scheduleItemForSync): ASSERT that the final sync hasn't already been scheduled
        (WebCore::LocalStorageArea::scheduleClear): Ditto
        * storage/LocalStorageArea.h:

2008-05-06  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fix. Adding files added in  r32925 to the bakefiles.

        * WebCoreSources.bkl:

2008-05-06  Alp Toker  <alp@nuanti.com>

        GTK+ build fix. Add empty stub to keep non-accessible ports building.

        * page/AXObjectCache.h:
        (WebCore::AXObjectCache::selectedChildrenChanged):

2008-05-06  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin.

        Fix for <rdar://problem/5907916> Implement 'aria-labeledby' and 
        'aria-describedby' attributes.

        * html/HTMLAttributeNames.in: Added new attributes. Added both the 
        British spelling (since that is what is specified in the spec), and 
        the American spelling (since the bug filer and I are two Americans 
        who keep spelling it the American way by accident). 
        * page/AccessibilityObject.cpp: Added empty wrappers. These 
        functions can't do anything meaningful without a renderer.
        (WebCore::AccessibilityObject::ariaAccessiblityName):
        (WebCore::AccessibilityObject::ariaLabeledByAttribute):
        (WebCore::AccessibilityObject::ariaDescribedByAttribute):
        * page/AccessibilityObject.h:

        Here is where the real work is done.
        * page/AccessibilityRenderObject.h:
        * page/AccessibilityRenderObject.cpp:
        (WebCore::accessibleNameForNode): Takes a node and finds its 
        contribution to the accessible name, as defined by the Mozilla ARIA 
        Implementer's Guide. 
        (WebCore::AccessibilityRenderObject::ariaAccessiblityName): Takes a 
        string of space-separated IDs, fetches the corresponding element 
        for each ID, and concatenates an accessible name based on the 
        elements.
        (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute): 
        Retrieve the labeledby attribute and send its contents to 
        ariaAccessibilityName().
        (WebCore::AccessibilityRenderObject::title): Return the ARIA 
        labeledby value if one exists.
        (WebCore::AccessibilityRenderObject::ariaDescribedByAttribute): 
        Retrieve the describedby attribute and send its contents to 
        ariaAccessibilityName().
        (WebCore::AccessibilityRenderObject::accessibilityDescription): 
        Return the ARIA describedby attribute if one exists. 

        These are two bugs I spotted. 
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Don't 
        ignore anything with an ARIA role.
        (WebCore::AccessibilityRenderObject::roleValue): Button tags maps 
        to ButtonRole.

2008-05-06  Anders Carlsson  <andersca@apple.com>

        Reviewed by Brady.

        Support reading back app caches from the database.
    
        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::ApplicationCache):
        Initialize m_storageID to 0.
        
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::cacheDestroyed):
        If the cache being destroyed is not the newest cache, it should no longer be 
        stored in the database. Remove it.
        
        (WebCore::ApplicationCacheGroup::setNewestCache):
        Don't store the cache here.
        
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        Store it here instead.
        
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::loadCacheGroup):
        New method that loads a cache group with a given manifest URL (or returns 0 if the load fails).
        
        (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
        Search for the group in the database.
        
        (WebCore::ApplicationCacheStorage::loadManifestHostHashes):
        New method that loads the host hashes from the database.
        
        (WebCore::ApplicationCacheStorage::cacheGroupForURL):
        Search in the database for a cache that contains the resource.
        
        (WebCore::ApplicationCacheStorage::loadCache):
        New method that loads a cache with a given ID.
        
        (WebCore::ApplicationCacheStorage::remove):
        New method that removes a cache.
        
        * loader/appcache/ApplicationCacheStorage.h:
        Add definitions.

2008-05-06  Alp Toker  <alp@nuanti.com>

        Partial GTK+ build fix. Add files from r32925 to the build and replace
        'nil' return with 0.

        * GNUmakefile.am:
        * page/AccessibilityListBoxOption.cpp:
        (WebCore::AccessibilityListBoxOption::parentObject):

2008-05-06  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders

        Make LocalStorage persistent using a SQLite database.

        There's a few things going on here.  Whenever an item is changed, we add it to a set of
        "items to be sync'ed."  Instead of immediately scheduling the sync'ing on the background
        thread, we set a "sync timer" instead.  This is to shield against a series of rapid changes
        to avoid thread churn.

        When the sync timer fires, we move the "items to be sync'ed" set to a background thread set
        and schedule the sync task which is where the items are actually committed to disk.

        Current design for reading items back in from disk is to be as aggressive as possible.
        When a page first accesses it's LocalStorage area, we begin to import all items in from disk so
        they are immediately available.  A future enhancement will be to being this pre-fetching the
        moment we start loading a page when we know that page has LocalStorage.

        * storage/LocalStorageArea.cpp:
        (WebCore::LocalStorageArea::LocalStorageArea):
        (WebCore::LocalStorageArea::length): Return the length, or wait for the import to complete then return it.
        (WebCore::LocalStorageArea::key): Return the key, or wait for the import to complete then return it.
        (WebCore::LocalStorageArea::getItem): Return the item, or wait for the import to complete then return it.
        (WebCore::LocalStorageArea::setItem): Set the item, or hold the import lock and set it.  The second case is
          because if the item is set while the import is still in progress, the new value should override whatever
          the imported value is.
        (WebCore::LocalStorageArea::removeItem): Remove the item, or hold the import lock and remove it.  See the 
          explanation for setItem()
        (WebCore::LocalStorageArea::contains): Return whether or not the item is contained.  Do the same dance with
          the import flag, import lock, and import condition that the above methods do.

        (WebCore::LocalStorageArea::itemChanged): Schedule the item for sync'ing
        (WebCore::LocalStorageArea::itemRemoved): Schedule the removal of the item for sync'ing
        (WebCore::LocalStorageArea::areaCleared): Schedule the clear for sync'ing, and clear all previously 
          scheduled items.

        (WebCore::LocalStorageArea::scheduleItemForSync): Add an item to the sync set.
        (WebCore::LocalStorageArea::scheduleClear): Set a bool flag denoting "All items removed."  If any
          items are later set before the actual removal takes place, they will be written *after* the removal.
        (WebCore::LocalStorageArea::syncTimerFired): Move the current sync-set to the background thread sync set, then 
          schedule a sync task.  Also transfer the "items cleared" flag to the "background thread items cleared" flag
        (WebCore::LocalStorageArea::performImport): Import all items from disk, then signal the import complete.
        (WebCore::LocalStorageArea::markImported): Set the imported flag and signal the import complete
        (WebCore::LocalStorageArea::performSync): If the clear flag is set then drop all items.  Then update or delete 
          each item waiting to be sync'ed
        * storage/LocalStorageArea.h:

2008-05-06  Brady Eidson  <beidson@apple.com>

        Rubberstamped by Mitz Pettel RTL

        * storage/LocalStorage.cpp:
        (WebCore::LocalStorage::fullDatabaseFilename): Filename extensions for localstorage = all lowercase

2008-05-06  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin, Sam Weinig, and Anders

        Preparation for upcoming work making LocalStorage persistent.

        The final step before code that actually does storage and retrieval of LocalStorage items.

        The LocalStorage set is responsible for controlling the path and filenames that individual
        LocalStorageAreas will use for their persistent store.  This adds the ability to return that
        filename.

        Also, add the scheduling methods that LocalStorageArea will use for importing and syncing 
        it's persistent items.

        * storage/LocalStorage.cpp:
        (WebCore::LocalStorage::storageArea):  Add some comments re: the future direction of this
          method once we actually do quota tracking.
        (WebCore::LocalStorage::fullDatabaseFilename):
        (WebCore::LocalStorage::scheduleImport):
        (WebCore::LocalStorage::scheduleSync):
        * storage/LocalStorage.h:

2008-05-06  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        rdar://problem/5408464> REGRESSION: Unable to use Voiceover on combo boxes (disneyjobs.com)

        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLOptGroupElement.cpp:
        (WebCore::HTMLOptGroupElement::ownerSelectElement):
        (WebCore::HTMLOptGroupElement::accessKeyAction):
        * html/HTMLOptGroupElement.h:
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::accessKeyAction):
        (WebCore::HTMLOptionElement::index):
        (WebCore::HTMLOptionElement::setSelected):
        (WebCore::HTMLOptionElement::childrenChanged):
        (WebCore::HTMLOptionElement::ownerSelectElement):
        (WebCore::HTMLOptionElement::insertedIntoDocument):
        * html/HTMLOptionElement.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::childrenChanged):
        (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
        * html/HTMLSelectElement.h:
        * page/AXObjectCache.cpp:
        (WebCore::AXObjectCache::get):
        * page/AccessibilityListBox.cpp: Added.
        (WebCore::AccessibilityListBox::AccessibilityListBox):
        (WebCore::AccessibilityListBox::~AccessibilityListBox):
        (WebCore::AccessibilityListBox::create):
        (WebCore::AccessibilityListBox::addChildren):
        (WebCore::AccessibilityListBox::selectedChildren):
        (WebCore::AccessibilityListBox::visibleChildren):
        (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
        (WebCore::AccessibilityListBox::doAccessibilityHitTest):
        * page/AccessibilityListBox.h: Added.
        (WebCore::AccessibilityListBox::accessibilityShouldUseUniqueId):
        (WebCore::AccessibilityListBox::isListBox):
        (WebCore::AccessibilityListBox::canSetFocusAttribute):
        (WebCore::AccessibilityListBox::roleValue):
        (WebCore::AccessibilityListBox::accessibilityIsIgnored):
        * page/AccessibilityListBoxOption.cpp: Added.
        (WebCore::AccessibilityListBoxOption::AccessibilityListBoxOption):
        (WebCore::AccessibilityListBoxOption::~AccessibilityListBoxOption):
        (WebCore::AccessibilityListBoxOption::create):
        (WebCore::AccessibilityListBoxOption::isEnabled):
        (WebCore::AccessibilityListBoxOption::isSelected):
        (WebCore::AccessibilityListBoxOption::elementRect):
        (WebCore::AccessibilityListBoxOption::title):
        (WebCore::AccessibilityListBoxOption::size):
        (WebCore::AccessibilityListBoxOption::actionElement):
        (WebCore::AccessibilityListBoxOption::parentObject):
        (WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
        (WebCore::AccessibilityListBoxOption::listBoxOptionIndex):
        * page/AccessibilityListBoxOption.h: Added.
        (WebCore::AccessibilityListBoxOption::setHTMLElement):
        (WebCore::AccessibilityListBoxOption::roleValue):
        (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored):
        (WebCore::AccessibilityListBoxOption::isListBoxOption):
        * page/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isListBox):
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
        * page/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::selectionChanged):
        * rendering/RenderListBox.h:

2008-05-06  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

         <rdar://problem/5455287> AXWebArea should include AXURL

        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::url):
        * page/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):

2008-05-06  Alice Liu  <alice.liu@apple.com>

        Rubber-stamped by Beth
        
        stab-in-the-dark attempt at fixing non-mac builds.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCoreSources.bkl:

2008-05-06  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Only use the toplevel application cache when loading subframes.

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::load):

2008-05-06  Adam Barth  <abarth-webkit@adambarth.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=18725
        Implement asynchronous postMessage.
        MessageEvent no longer bubbles as per r1237 in the HTML 5 working draft.

        Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.

        Test: http/tests/security/postMessage/delivery-order.html

        * dom/MessageEvent.cpp:
        (WebCore::MessageEvent::MessageEvent):
        * page/DOMWindow.cpp:
        (WebCore::PostMessageTimer::PostMessageTimer):
        (WebCore::PostMessageTimer::event):
        (WebCore::PostMessageTimer::targetOrigin):
        (WebCore::PostMessageTimer::fired):
        (WebCore::DOMWindow::postMessage):
        (WebCore::DOMWindow::postMessageTimerFired):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        
2008-05-06  Anders Carlsson  <andersca@apple.com>

        Reviewed by Brady.

        Store cache to the database.

        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::addResource):
        If the cache has been saved to disk, save the resource as well.
        
        * loader/appcache/ApplicationCache.h:
        (WebCore::ApplicationCache::onlineWhitelist):
        New method which returns the online whitelist.

        (WebCore::ApplicationCache::setStorageId):
        (WebCore::ApplicationCache::storageId):
        Setter/getter for the application cache storage ID.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        Save the cache/group to disk.
        
        * loader/appcache/ApplicationCacheGroup.h:
        (WebCore::ApplicationCacheGroup::setStorageID):
        (WebCore::ApplicationCacheGroup::storageID):
        Setter/getter for the application cache group storage ID.
        
        * loader/appcache/ApplicationCacheResource.cpp:
        (WebCore::ApplicationCacheResource::addType):
        We can't add a new type if the resource has been saved to disk.
        
        * loader/appcache/ApplicationCacheResource.h:
        (WebCore::ApplicationCacheResource::setStorageID):
        (WebCore::ApplicationCacheResource::storageID):
        Setter/getter for the application cache resource storage ID.

        * loader/appcache/ApplicationCacheStorage.cpp:
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::executeSQLCommand):
        New method for executing SQL and logging any errors.
        
        (WebCore::ApplicationCacheStorage::openDatabase):
        Create new tables.
        
        (WebCore::ApplicationCacheStorage::executeStatement):
        New method for executing an SQL statement and logging any errors.
        
        (WebCore::ApplicationCacheStorage::store):
        New methods for storing a cache group, cache and cache resource to the store.

        (WebCore::ApplicationCacheStorage::storeNewestCache):
        New method which stores the newest cache and updates the newest cache field in the cache group.
        
        * loader/appcache/ApplicationCacheStorage.h:
        Add new methods.
        
        * platform/sql/SQLiteStatement.h:
        (WebCore::SQLiteStatement::query):
        Getter for the SQL query.

2008-05-06  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler

        Preparation for upcoming work making LocalStorage persistent.

        Writing persistent values for LocalStorage will take place on a background thread.
        Here is that background thread, as well as most of the hooks that will be utilized to
        make the whole song and dance work.

        The thread itself is very simple and MessageQueue based.  LocalStorageTasks are what 
        mark the work that needs to be done and come in 5 flavors:  Import and Sync a LocalStorage set,
        Import and Sync a LocalStorageArea, and terminate the thread.

        This patch accomplished 2 things:
        
        1 - Each PageGroup has its own LocalStorage set.  Upon its creation its LocalStorageThread is 
            created and started.

        2 - At application shutdown, each thread is synchronously terminated.

        What happens between steps 1 and 2 will come later.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:

        * storage/LocalStorage.cpp: Add some threading ASSERTs to make it clear which thread each
          method is meant to be called from.
        (WebCore::LocalStorage::LocalStorage):
        (WebCore::LocalStorage::storageArea):
        (WebCore::LocalStorage::performImport): Placeholder for importing known origins and quotas
        (WebCore::LocalStorage::performSync): Placeholder for writing out updated origins and quotas
        (WebCore::LocalStorage::close): Synchronously terminate the thread.
        * storage/LocalStorage.h:

        * storage/LocalStorageArea.cpp: Add some threading ASSERTs to make it clear which thread each
          method is meant to be called from.
        (WebCore::LocalStorageArea::itemChanged):
        (WebCore::LocalStorageArea::itemRemoved):
        (WebCore::LocalStorageArea::areaCleared):
        (WebCore::LocalStorageArea::dispatchStorageEvent):
        (WebCore::LocalStorageArea::performImport): Placeholder for importing all items for this 
          LocalStorageArea to prime the page before the items are needed
        (WebCore::LocalStorageArea::performSync): Placeholder for writing out dirty items to disk
        * storage/LocalStorageArea.h:

        * storage/LocalStorageTask.cpp: Added.
        (WebCore::LocalStorageTask::LocalStorageTask):
        (WebCore::LocalStorageTask::performTask):
        * storage/LocalStorageTask.h: Added.
        (WebCore::LocalStorageTask::):
        (WebCore::LocalStorageTask::createImport):
        (WebCore::LocalStorageTask::createSync):
        (WebCore::LocalStorageTask::createTerminate):

        * storage/LocalStorageThread.cpp: Added.
        (WebCore::LocalStorageThread::create):
        (WebCore::LocalStorageThread::LocalStorageThread):
        (WebCore::LocalStorageThread::start):
        (WebCore::LocalStorageThread::localStorageThreadStart):
        (WebCore::LocalStorageThread::localStorageThread):
        (WebCore::LocalStorageThread::scheduleImport):
        (WebCore::LocalStorageThread::scheduleSync):
        (WebCore::LocalStorageThread::terminate): 
        (WebCore::LocalStorageThread::performTerminate):
        * storage/LocalStorageThread.h: Added.

2008-05-06  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin.

        Add NPN_PopUpContextMenu.
        
        * bridge/npapi.h:
        * plugins/npfunctions.h:

2008-05-06  Alp Toker  <alp@nuanti.com>

        GTK+ build fix. Add file from r32911 to the build.

        * GNUmakefile.am:

2008-05-06  Gwenole Beauchesne  <gbeauchesne@splitted-desktop.org>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=18906
        [GTK] Fix varargs terminator in g_build_filename()

        * plugins/gtk/PluginDatabaseGtk.cpp:
        (WebCore::PluginDatabase::isPreferredPluginDirectory): Fix varargs
        terminator.

2008-05-06  Kevin McCullough  <kmccullough@apple.com>

        - Forgot to update localized Strings from previous checkin.

        * English.lproj/localizedStrings.js:

2008-05-06  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin

        <rdar://problem/5408464> REGRESSION: Unable to use Voiceover on combo boxes (disneyjobs.com)
        <rdar://problem/5895634> AX: AccessibilityObjectWrapper is being leaked all over the place
        <rdar://problem/5893907> CrashTracer: [REGRESSION] 44 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityObject::clearChildren + 9
        
        Initial prep work to support accessibility objects that do not have renderers. 

        * WebCore.xcodeproj/project.pbxproj:
        * page/AXObjectCache.cpp:
        (WebCore::AXObjectCache::~AXObjectCache):
        (WebCore::AXObjectCache::get):
        (WebCore::AXObjectCache::remove):
        (WebCore::AXObjectCache::getAXID):
        (WebCore::AXObjectCache::removeAXID):
        (WebCore::AXObjectCache::childrenChanged):
        * page/AXObjectCache.h:
        (WebCore::AXObjectCache::isIDinUse):
        * page/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::AccessibilityObject):
        (WebCore::AccessibilityObject::create):
        (WebCore::AccessibilityObject::detach):
        (WebCore::AccessibilityObject::firstChild):
        (WebCore::AccessibilityObject::lastChild):
        (WebCore::AccessibilityObject::previousSibling):
        (WebCore::AccessibilityObject::nextSibling):
        (WebCore::AccessibilityObject::parentObject):
        (WebCore::AccessibilityObject::layoutCount):
        (WebCore::AccessibilityObject::text):
        (WebCore::AccessibilityObject::helpText):
        (WebCore::AccessibilityObject::textUnderElement):
        (WebCore::AccessibilityObject::isARIAInput):
        (WebCore::AccessibilityObject::isARIAControl):
        (WebCore::AccessibilityObject::intValue):
        (WebCore::AccessibilityObject::stringValue):
        (WebCore::AccessibilityObject::title):
        (WebCore::AccessibilityObject::accessibilityDescription):
        (WebCore::AccessibilityObject::boundingBoxRect):
        (WebCore::AccessibilityObject::elementRect):
        (WebCore::AccessibilityObject::size):
        (WebCore::AccessibilityObject::linkedUIElement):
        (WebCore::AccessibilityObject::textLength):
        (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
        (WebCore::AccessibilityObject::selectedText):
        (WebCore::AccessibilityObject::accessKey):
        (WebCore::AccessibilityObject::selection):
        (WebCore::AccessibilityObject::selectedTextRange):
        (WebCore::AccessibilityObject::setSelectedTextRange):
        (WebCore::AccessibilityObject::url):
        (WebCore::AccessibilityObject::setFocused):
        (WebCore::AccessibilityObject::setValue):
        (WebCore::AccessibilityObject::axObjectCache):
        (WebCore::AccessibilityObject::getDocumentLinks):
        (WebCore::AccessibilityObject::widget):
        (WebCore::AccessibilityObject::widgetForAttachmentView):
        (WebCore::AccessibilityObject::anchorElement):
        (WebCore::AccessibilityObject::actionElement):
        (WebCore::AccessibilityObject::visiblePositionRange):
        (WebCore::AccessibilityObject::doAXTextMarkerRangeForLine):
        (WebCore::AccessibilityObject::visiblePositionForIndex):
        (WebCore::AccessibilityObject::indexForVisiblePosition):
        (WebCore::Access