2007-11-10  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

        Fix function name difference - header said 'unicodeRangeForCharacter', actually
        implemented function is 'findCharUnicodeRange'. They are not compiled yet.

        * platform/UnicodeRange.h:

2007-11-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix <rdar://problem/5450655> Control-clicking text in a link can surprisingly select only part of the link, should select entire link

        No test because context menu events cannot be tested in DumpRenderTree.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Added.
        If the click occurred in an active link, selects the entire link
        element. Otherwise selects the closest word.
        (WebCore::EventHandler::sendContextMenuEvent): Call
        selectClosestWordOrLinkFromMouseEvent().
        * page/EventHandler.h:

2007-11-10  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Hatcher

        - fixed <rdar://problem/5394877> Safari should not log unsafe JavaScript attempts when 
          in private browsing mode (only an issue if Log JavaScript Exceptions is turned on)

        * bindings/js/kjs_window.cpp:
        (KJS::Window::isSafeScript):
        Don't log unsafe JavaScript attempts to console or chromeClient if in private browsing mode

2007-11-10  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=15922
        Implement more of Mozilla Selection API

        Tests: editing/selection/containsNode.html
               editing/selection/deleteFromDocument.html
               editing/selection/extend.html
               editing/selection/selectAllChildren.html

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::deleteFromDocument):
        (WebCore::SelectionController::containsNode):
        (WebCore::SelectionController::selectAllChildren):
        (WebCore::SelectionController::extend):
        * editing/SelectionController.h:
        Added deleteFromDocument(), containsNode(), and selectAllChildren(). Reimplemented extend(),
        which existed, but didn't match Firefox behavior and wasn't exposed via bindings.
        Removed a comment mentioning removeRange(), as this method makes no sense without multiple
        selection range support.

        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::extend):
        (WebCore::DOMSelection::deleteFromDocument):
        (WebCore::DOMSelection::containsNode):
        (WebCore::DOMSelection::selectAllChildren):
        * page/DOMSelection.h:
        * page/DOMSelection.idl:
        Exposed the new methods.

2007-11-10  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=15892
        DOM Range operations are not implemented for ProcessingInstruction nodes

        Test: fast/dom/Range/range-processing-instructions.html

        * dom/Range.cpp:
        (WebCore::Range::processContents): Implemented ProcessingInstruction cases.
        (WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed
        to use ProcessingInstruction.data.

2007-11-09  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Mark Rowe.

        Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector
        http://bugs.webkit.org/show_bug.cgi?id=12054

        - Add support code for routing copy events to the focused element.
        - Implement copying the currently selected DOM node. The node
          and it's subtree is copied to the clipboard. If the node has no
          outerHTML, the nodeValue is copied (text nodes, etc.)
        - Implement copy for the resource sidebar. The URL is copied for the
          currently selected resource.

        * page/inspector/DocumentPanel.js:
        * page/inspector/inspector.js:

2007-11-09  Antti Koivisto  <antti@apple.com>

        Reviewed by Adele.

        Fix occasional blank video with poster attribute.

        * ChangeLog:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::load):
        (WebCore::HTMLMediaElement::didRestoreFromCache):
        Just calling updateFromElement() does the right thing for both poster image and video.

2007-11-04  Sam Weinig  <sam@webkit.org>

        Reviewed by Adam Roben.

        <rdar://problem/5435940>
        The COM bindings for the DOM should be autogenerated like the other DOM bindings

        Initial commit of the autogeneration of the COM DOM Bindings.  No behavior change
        is being introduced in this patch and to insure that no conflicts arise, a temporary
        prefix of "GEN_" has been used for all the new classes.

        The build architecture for these bindings differs slightly from the other autogenerated
        bindings.  Instead of building in WebCore and migrating the resuting code to WebKit (as
        is done for the Objective-C bindigs currently), the IDLs and generation scripts are
        migrated to WebKit and built there.  This is done with a series of scripts and Makefiles.

        This commit includes:
            - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation
              and ref-counting.
            - Generating all of the Core DOM and most of HTML and CSS
            - Generating Event, EventTarget, and EventListener

        * WebCore.vcproj/MigrateIDLAndScripts.make: Added.
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/migrate-idls.sh: Added.
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorCOM.pm: Added.
        * dom/EventListener.h: Make the isWindowEvent parameter default to false
        to allow autogeneration based on the IDL.

2007-11-09  Tristan O'Tierney  <tristan@apple.com>

        Reviewed by Timothy Hatcher.
        
        This patch is for the WebKit side of <rdar://problem/5591115>.
        We need a way to tell context menu navigations, such as "Open in New Window"
        to override any sort of browser preference for tab based navigation.

        * bridge/WindowFeatures.h:
        (WebCore::WindowFeatures::WindowFeatures):
        Added a new struct member var, preferredType
        and an accompanying enum type PreferredType
        to send a window type recommendation up to the Chrome. 
        
        * page/ContextMenuController.cpp:
        (WebCore::openNewWindow):
        Set the window features to recommend a new Window for
        "Open in New Window" context menu action.

2007-11-08  Adam Roben  <aroben@apple.com>

        Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick

        We now match the behavior of Firefox and IE, which is to always just
        send a click event to the focused button when the Enter key is pressed
        (previously we were submitting forms directly in some cases).

        Reviewed by Adele.

        Test: fast/forms/enter-clicks-buttons.html

        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything
        fancy when Enter is pressed on a <button type=button> -- just send a
        click event like we do for other button types.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler): Treat type=button
        the same way we treat type=submit and type=reset: just send a click
        event when Enter is pressed.

2007-11-09  Dan Bernstein  <mitz@apple.com>

        Reviewed by Antti Koivisto.

        - fix a bug in invisible layer culling: dynamically changing a 
          descendant of an invisible layer to be visible did not work

        Test: fast/layers/layer-content-visibility-change.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::setHasVisibleContent): If we got visible content,
        make sure that our stacking context rebuilds its z-order lists to
        include us.

2007-11-09  David Hyatt  <hyatt@apple.com>

        Clean up matrix() parsing.  Make sure the first four arguments can be lengths or numbers.  The last two
        args can be lengths or numbers or percents.

        Reviewed by Beth

        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSParser.cpp:
        (WebCore::TransformOperationInfo::TransformOperationInfo):
        (WebCore::CSSParser::parseTransform):
        * rendering/RenderStyle.h:
        (WebCore::MatrixTransformOperation::apply):

2007-11-09  Beth Dakin  <bdakin@apple.com>

        Reviewed by Oliver.

        Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix 
        math leads to crazy problems

        Transform matrices accept the first four parameters as CSS lengths. 
        CSS lengths get mapped into WebCore::Lengths as percents by 
        WebCore::convertToLength(). Percent lengths cannot call value(). It 
        does not yield a correct result and it asserts on Debug builds. 

        * rendering/RenderStyle.h:
        (WebCore::MatrixTransformOperation::apply): Instead of calling 
        value() on the lengths, call calcValue. This fixes the assert and 
        the bad rendering. 

2007-11-09  Simon Hausmann  <hausmann@kde.org>

        Reviewed by nobody, build/link fix for Qt/Windows.

        userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't
        define it twice.

        * platform/qt/TemporaryLinkStubs.cpp:

2007-11-09  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Holger.

        Fix ContextMenu allocation in the Qt port.

        Store all items and submenus value based in ContextMenu and ContextMenuItem.
        That fixes the crashes when the context menu was populated with sub-menus because
        of the use of temporary ContextMenu objects like this:

        ContextMenu subMenu(...);
        subMenu.appendItem(...);
        subMenu.appendItem(...);

        subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents

        * platform/ContextMenu.h:
        * platform/ContextMenuItem.h:
        * platform/PlatformMenuDescription.h:
        * platform/qt/ContextMenuItemQt.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::platformSubMenu):
        * platform/qt/ContextMenuQt.cpp:
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::~ContextMenu):
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenu::itemCount):

2007-11-09  Peter Kasting  <zerodpx@gmail.com>

        Reviewed by Mark Rowe.

        http://bugs.webkit.org/show_bug.cgi?id=15909
        Malformed GIFs should not result in memory corruption.

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

2007-11-08  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Sam Weinig.

        Some Web Inspector CSS editing changes.
        - Only delete the property if all the text is delete or the new user input correctly parses.
          This prevents deleting the existing property if the new text is invalid.
        - Intercept the Escape key and cancel editing, not saving any changes.

        * page/inspector/StylesSidebarPane.js:

2007-11-08  Kevin Ollivier  <kevino@theolliviers.com>

        Bakefiles for building WebCore, needed by wx port.

        Reviewed by Mark Rowe.

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

2007-11-08  Justin Haygood  <jhaygood@reaktix.com>

        Reviewed by Mark Rowe.

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

        Fix builds with HTML 5 Storage support disabled.
        ENABLE(DATABASE) needs to be added in a few places.

        * page/InspectorController.cpp:
        * storage/Database.h:

2007-11-08  Steve Falkenburg  <sfalken@apple.com>

        <rdar://problem/5524082> Allow images to be dragged out directly into other apps
        
        We weren't including CF_HDROP in our image drops.  This broke drag of
        images out of the browser window directly into other apps (examples
        include notepad, mspaint, msword).
        
        Reviewed by Oliver, Ada.

        * platform/win/ClipboardWin.cpp:
        (WebCore::createGlobalImageFileContent): Removed unused variable.
        (WebCore::createGlobalHDropContent): Added
        (WebCore::writeFileToDataObject): Write HDROP data if available.
        (WebCore::writeImageToDataObject): Write HDROP for dragged images.
        (WebCore::ClipboardWin::writeURL): Don't write HDROP for dragged URLs.

2007-11-08  Xan Lopez  <xan@gnome.org>

        Reviewed by Alp.

        http://bugs.webkit.org/show_bug.cgi?id=15908
        Use g_object_ref_sink when available

        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenu::show):
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::setGtkAdjustments):

2007-11-08  Dan Bernstein  <mitz@apple.com>

        Reviewed by Beth Dakin.

        - fix <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely

        Test: fast/dom/length-attribute-mapping.html

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::addCSSLength): Changed the garbage-stripping
        logic to stop after the first "%" or "*" in the string. This allows for
        "100%25" to be mapped to "100%" like it is in Firefox and WinIE.

2007-11-08  Kevin McCullough  <kmccullough@apple.com>

        - Build fix.

        * loader/FrameLoaderClient.h:
        * platform/graphics/svg/SVGImageEmptyClients.h:
        (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):

2007-11-08  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Sam.

        - windowObjectCleared() is no longer const.  It needs to setup the
        script debugger and cannot be const to do so.

        * loader/FrameLoaderClient.h:
        * platform/graphics/svg/SVGImageEmptyClients.h:
        (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):

2007-11-08  Adam Roben  <aroben@apple.com>

        Hopeful Windows build fix

        * rendering/RenderObject.cpp: Touch this file to make it recompile.

2007-11-08  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin.

        Convert JavaScript internal function objects to use one class per
        function.  This avoids a switch statement inside what used to be
        the shared function classes and will allow Shark to better analyze
        the code.

        To make this switch, the value property of the HashEntry was changed
        to a union of an intptr_t (which is used to continue handle valueGetters)
        and function pointer which points to a static constructor for the
        individual new function objects.

        SunSpider claims this is a 1.0% speedup.

        - On the WebCore side, I updated CodeGeneratorJS.pm to generate the
          new classes and hand updated the remain non-generated (groan) classes.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
        * bindings/js/JSEventTargetNode.cpp:
        (WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction):
        (WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction):
        (WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction):
        * bindings/js/JSEventTargetNode.h:
        * bindings/js/JSHTMLInputElementBase.cpp:
        (WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction):
        (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
        * bindings/js/JSHTMLInputElementBase.h:
        (WebCore::JSHTMLInputElementBase::):
        * bindings/js/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequestPrototypeFunctionAbort::callAsFunction):
        (KJS::JSXMLHttpRequestPrototypeFunctionGetAllResponseHeaders::callAsFunction):
        (KJS::JSXMLHttpRequestPrototypeFunctionGetResponseHeader::callAsFunction):
        (KJS::JSXMLHttpRequestPrototypeFunctionOpen::callAsFunction):
        (KJS::JSXMLHttpRequestPrototypeFunctionSend::callAsFunction):
        (KJS::JSXMLHttpRequestPrototypeFunctionSetRequestHeader::callAsFunction):
        (KJS::JSXMLHttpRequestPrototypeFunctionOverrideMIMEType::callAsFunction):
        (KJS::JSXMLHttpRequestPrototypeFunctionAddEventListener::callAsFunction):
        (KJS::JSXMLHttpRequestPrototypeFunctionRemoveEventListener::callAsFunction):
        (KJS::JSXMLHttpRequestPrototypeFunctionDispatchEvent::callAsFunction):
        * bindings/js/JSXMLHttpRequest.h:
        (KJS::JSXMLHttpRequest::impl):
        * bindings/js/JSXSLTProcessor.cpp:
        (KJS::JSXSLTProcessorPrototypeFunctionImportStylesheet::callAsFunction):
        (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
        (KJS::JSXSLTProcessorPrototypeFunctionTransformToDocument::callAsFunction):
        (KJS::JSXSLTProcessorPrototypeFunctionSetParameter::callAsFunction):
        (KJS::JSXSLTProcessorPrototypeFunctionGetParameter::callAsFunction):
        (KJS::JSXSLTProcessorPrototypeFunctionRemoveParameter::callAsFunction):
        (KJS::JSXSLTProcessorPrototypeFunctionClearParameters::callAsFunction):
        (KJS::JSXSLTProcessorPrototypeFunctionReset::callAsFunction):
        * bindings/js/JSXSLTProcessor.h:
        * bindings/js/kjs_events.cpp:
        (WebCore::JSClipboardPrototypeFunctionClearData::callAsFunction):
        (WebCore::JSClipboardPrototypeFunctionGetData::callAsFunction):
        (WebCore::JSClipboardPrototypeFunctionSetData::callAsFunction):
        (WebCore::JSClipboardPrototypeFunctionSetDragImage::callAsFunction):
        * bindings/js/kjs_events.h:
        * bindings/js/kjs_navigator.cpp:
        (KJS::Plugins::):
        (KJS::Navigator::getOwnPropertySlot):
        (KJS::Plugins::getOwnPropertySlot):
        (KJS::PluginsFunctionRefresh::callAsFunction):
        (KJS::NavigatorProtoFuncJavaEnabled::callAsFunction):
        * bindings/js/kjs_navigator.h:
        (KJS::Navigator::):
        * bindings/js/kjs_window.cpp:
        (KJS::Window::getOwnPropertySlot):
        (KJS::Window::put):
        (KJS::WindowProtoFuncAToB::callAsFunction):
        (KJS::WindowProtoFuncBToA::callAsFunction):
        (KJS::WindowProtoFuncOpen::callAsFunction):
        (KJS::WindowProtoFuncScrollBy::callAsFunction):
        (KJS::WindowProtoFuncScrollTo::callAsFunction):
        (KJS::WindowProtoFuncMoveBy::callAsFunction):
        (KJS::WindowProtoFuncMoveTo::callAsFunction):
        (KJS::WindowProtoFuncResizeBy::callAsFunction):
        (KJS::WindowProtoFuncResizeTo::callAsFunction):
        (KJS::WindowProtoFuncSetTimeout::callAsFunction):
        (KJS::WindowProtoFuncClearTimeout::callAsFunction):
        (KJS::WindowProtoFuncSetInterval::callAsFunction):
        (KJS::WindowProtoFuncAddEventListener::callAsFunction):
        (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
        (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
        (KJS::WindowProtoFuncNotImplemented::callAsFunction):
        (KJS::Location::getOwnPropertySlot):
        (KJS::Location::put):
        (KJS::LocationProtoFuncReplace::callAsFunction):
        (KJS::LocationProtoFuncReload::callAsFunction):
        (KJS::LocationProtoFuncAssign::callAsFunction):
        (KJS::LocationProtoFuncToString::callAsFunction):
        * bindings/js/kjs_window.h:
        (KJS::Window::):
        * bindings/scripts/CodeGeneratorJS.pm:

2007-11-08  Mark Rowe  <mrowe@apple.com>

        Fix the Gtk, Qt and Wx builds.

        * platform/gtk/TemporaryLinkStubs.cpp:
        * platform/qt/TemporaryLinkStubs.cpp:
        * platform/wx/TemporaryLinkStubs.cpp:

2007-11-08  Mark Rowe  <mrowe@apple.com>

        Not reviewed.  Fix two instances of includes using the wrong case in the filename.

        * platform/graphics/mac/MoviePrivateQTKit.mm:
        * platform/wx/MimeTypeRegistryWx.cpp:

2007-11-08  Darin Adler  <darin@apple.com>

        Reviewed by Adam.

        - fix <rdar://problem/5552943> accesskey does not focus <button> elements

        Test: fast/forms/access-key.html

        * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::accessKeyAction):
        Added a call to focus.

2007-11-07  Darin Adler  <darin@apple.com>

        Reviewed by Steve.

        - cut down on notImplemented() functions on Windows

        * bridge/AXObjectCache.h: Put #if around the accessibility
        global.

        * bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles):
        Moved here from TemporaryLinkStubs.

        * dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented
        using the ResourceResponse that's now available from the DocumentLoader.

        * editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on
        the Editor instead of the obsolete one on the Frame.

        * loader/DocumentLoader.h: Removed getResponseModifiedHeader.
        * loader/FrameLoader.h: Removed overrideMediaType.

        * loader/gtk/DocumentLoaderGtk.cpp: Removed.
        * loader/mac/DocumentLoaderMac.mm: Removed.
        * loader/qt/DocumentLoaderQt.cpp: Removed.

        * page/Frame.cpp: Removed transpose.
        * page/Frame.h: Ditto.
        * page/FrameView.h: Removed updateBorder.
        * page/gtk/FrameGtk.cpp: Removed issueTransposeCommand.
        * page/mac/FrameMac.mm: Ditto.
        * page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and
        overrideMediaType.
        * page/qt/FrameQt.cpp: Removed issueTransposeCommand.

        * platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled.
        * platform/qt/TemporaryLinkStubs.cpp: Ditto.
        * platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs.
        * platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled,
        issueTransposeCommand, and overrideMediaType.

        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs.
        (WebCore::ResourceHandle::willLoadFromCache): Ditto.
        * platform/win/GraphicsContextWin.cpp:
        (WebCore::GraphicsContextPlatformPrivate::clip): Ditto.
        * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto.
        * platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto.
        * platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto.

        * WebCore.pro: Updated for removed files.
        * WebCore.xcodeproj/project.pbxproj: Updated for removed file.

2007-11-08  Mark Rowe  <mrowe@apple.com>

       Build fix for case-sensitive file systems.  Fix case of file names
       in #include's.

        * html/HTMLMediaElement.cpp:
        * platform/graphics/Movie.cpp:

2007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>

        Reviewed by Lars Knoll <lars@trolltech.com>.

        Remove some warnings about not implemented methods.

        * ResourceHandle::loadsBlocked and ResourceHandle::supportsBufferedData are
        specific to the NS API and won't be implemented on Qt.
        * ResourceHandle::bufferedData can not be reached as we return false in
        ResourceHandle::supportsBufferedData.


        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::supportsBufferedData):

2007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>

        Reviewed by Lars Knoll <lars@trolltech.com>.

        Cleanup checking for the request method.

        * Check the request method only in QWebNetworkManager::add.
        * Currently HEAD, GET, POST are allowed and for everything else
        QWebNetworkManager::add returns false.
        * Returning false is compatible with ResourceHandle::start and it
        can be used in ResourceHandle::loadResourceSynchronously to generate
        a ResourceError


        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::loadResourceSynchronously):

2007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>

        Reviewed by Lars Knoll <lars@trolltech.com>.

        Implement WebCore::callOnMainThread

        Implemented using a global QObject, that is moved to the main thread
        and then sending a custom event to it.
        Picked a number below QEvent::User but above any other documented value.


        * platform/qt/ThreadingQt.cpp:
        (WebCore::PerformFunctionEvent::PerformFunctionEvent):
        (WebCore::MainThreadInvoker::MainThreadInvoker):
        (WebCore::MainThreadInvoker::event):
        (WebCore::callOnMainThread):

2007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>

        Reviewed by Lars Knoll <lars@trolltech.com>.

        Avoid problems with calling QPainter::begin() on an already active paintdevice

        * Partial pick from 6200e04c3e0a77873c3b3f3969b65bc701020326 to avoid getting
        crashes on Qt/Mac 4.4 with QPainter::begin to fail because we already draw.
        * If we are in a layout or need one do not paint. This can happen for the PlatformScrollBar
        used by the ScrollView on a layout triggered by QWebPage::paintEvent.


        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::invalidateRect):

2007-11-08  Eric Seidel  <eric@webkit.org>

        No review.

        * ksvg2/svg/SVGPathElement.h: remove old comment

2007-11-07  Antti Koivisto  <antti@apple.com>

        Reviewed by Ollie.

        Ensure video renderer has correct size if video has already been loaded
        when it is constructed.

        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::RenderVideo):

2007-11-07  Antti Koivisto  <antti@apple.com>

        Reviewed by Ollie.

        Ensure video is visible when it should be.

        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::updateMovie):

2007-11-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix <rdar://problem/5523503> Safari crashes clicking scroll bar in FaceBook 'Trips'

        Layers and listboxes are two kinds of ScrollBarClient that can be
        removed while the scrollbar is tracking the mouse. The scrollbar is not
        destroyed until later, and meanwhile it can try to call the client,
        which results in a crash.

        * manual-tests/stale-scrollbar-client-crash.html: Added.
        * platform/ScrollBar.h:
        (WebCore::Scrollbar::setClient): Added.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::destroyScrollbar): Call Scrollbar::setClient().
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::~RenderListBox): Ditto.

2007-11-07  Adam Roben  <aroben@apple.com>

        Fix <rdar://5569268> Crash when opening any FTP site in second tab/window

        Reviewed by Sam.

        No test possible.

        * platform/win/SharedBufferWin.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile): Bail if we get an
        empty path, because _wfopen_s will crash if we pass it a null pointer.

2007-11-07  David Kilzer  <ddkilzer@apple.com>

        WebKit confuses width/height for Media Queries device-aspect-ratio evaluation
        <http://bugs.webkit.org/show_bug.cgi?id=14893>
        <rdar://problem/5380295>

        Reviewed by Darin.

        Tests: fast/css/device-aspect-ratio.html
               fast/css/max-device-aspect-ratio.html
               fast/css/min-device-aspect-ratio.html

        * css/MediaQueryEvaluator.cpp:
        (WebCore::parseAspectRatio): Renamed method parameters from a/b to h/v.
        (WebCore::device_aspect_ratioMediaFeatureEval): Renamed local variables from
        a/b to h/v.  Switched first two arguments of the call to cmpvalue() to fix
        the bug.

2007-11-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15887
          REGRESSION (r27576): Crash in RenderStyle::affectedByHoverRules clicking link on Digg

        Test: fast/css/display-none-inline-style-change-crash.html

        * dom/Element.cpp:
        (WebCore::Element::recalcStyle): Fixed the crash by null-checking
        the current style and removed other checks that are not strictly
        necessary.

2007-11-07  Brady Eidson  <beidson@apple.com>

        Rubberstamped by Sam

        Remove FrameLoaderClient methods from SVG that were pruned awhile ago

        * platform/graphics/svg/SVGImageEmptyClients.h:

2007-11-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix a bug where CSS rules with :hover in the ancestor chain stopped
          working after changing the inline style declaration of the ancestor

        Test: fast/css/affected-by-hover-after-style-change.html

        * dom/Element.cpp:
        (WebCore::Element::recalcStyle): If we are not forcing style
        recalculation for all descendants, preserve any "affected by
        {hover|active|drag} bits that we may have acquired from them.
        Also renamed _style to currentStyle.

2007-11-06  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Adam.

        Bug 11920: Web Inspector should have Firebug-like CSS editing
        http://bugs.webkit.org/show_bug.cgi?id=11920

        * css/CSSComputedStyleDeclaration.h:
          (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit): Return false. I'm not sure why
          this was true, but computed style has no concept of implicit. So false makes more sense
          and makes the code simpler in the inspector. This function was added for the inspector,
          so this isn't a compatibility change.
        * page/inspector/PropertiesSection.js: Add a getter/setter to reset populated status.
        * page/inspector/StylesSidebarPane.js: Some refactoring along with the main support for
          style editing.
        * page/inspector/inspector.css: Style changes for propery editing and focus correctness.
        * page/inspector/inspector.js: Look for a handleKeyEvent function of the focus element before
          trying to call a function based on the element's id. Call focused and blurred on the focused
          element when currentFocusElement is changed. Use the new listItemElement getter instead of
          the private property.
        * page/inspector/treeoutline.js: No longer expand on double click if ondblclick is implemented.
          Shrink the toggle zone to 10px to better match the size of the arrow. Add an onattach call
          to allow generation of the title using the DOM element. Add listItemElement and
          childrenListElement getters.
        * page/inspector/utilities.js: Add new helper prototype methods on CSSStyleDeclaration.
        * page/inspector/DocumentPanel.js: Use the new listItemElement getter instead of the private
          property. Also expand the DOM node on double click now that the TreeOutline dosen't do it.
        * page/inspector/Resource.js: Use the new listItemElement and childrenListElement getters
          instead of the private properties.

2007-11-07  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Alexey Proskuryakov.

        Coding style fix, don't use inline explicitly.

        * bridge/WindowFeatures.h:

2007-11-07  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Maciej.

        For safety provide a default constructor for WindowFeatures().
        ContextMenuController.cpp: createNewWindow as well as QWebPage need to
        create a default initialized WindowFeatures object on the fly.

        * bridge/WindowFeatures.h:
        (WebCore::WindowFeatures::WindowFeatures):

2007-11-07  Simon Hausmann  <shausman@trolltech.com>

        Reviewed by Lars.

        Fix "nmake clean" for the Qt/Windows build by replacing tmp/ with a variable that ends with the correct type of slash/backslash depending on the choice of compiler/make tool.

        * WebCore.pro:

2007-11-07  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Lars.

        Made the QWebSettings::webGraphic functions static. The implementation was using QWebSettings::global() anyway.

        * platform/graphics/qt/ImageQt.cpp:
        (loadResourcePixmap):

2007-11-07  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Lars.

        Moved the WebCore::Image specific function loadResourcePixmap from qwebsettings.cpp to ImageQt.cpp and made it static.

        * platform/graphics/qt/ImageQt.cpp:
        (loadResourcePixmap):

2007-11-07  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Lars.

        Restructure the context menu classes for the Qt port. ContextMenu and ContextMenuItem don't store
        QActions/QMenus anymore but just store the action type, tag, title and optionally submenu as created
        in ContextMenu::populate().
        For the actual Qt context menu we traverse this structure after sendContextMenuEvent and create a QMenu
        out of it. That menu is currently not functional anymore though.

        * platform/ContextMenu.h:
        * platform/ContextMenuItem.h:
        (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
        * platform/PlatformMenuDescription.h:
        * platform/qt/ContextMenuItemQt.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::type):
        (WebCore::ContextMenuItem::setType):
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::setAction):
        (WebCore::ContextMenuItem::title):
        (WebCore::ContextMenuItem::setTitle):
        (WebCore::ContextMenuItem::platformSubMenu):
        (WebCore::ContextMenuItem::setSubMenu):
        (WebCore::ContextMenuItem::setChecked):
        (WebCore::ContextMenuItem::setEnabled):
        * platform/qt/ContextMenuQt.cpp:
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::~ContextMenu):
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenu::itemCount):
        (WebCore::ContextMenu::insertItem):
        (WebCore::ContextMenu::setPlatformDescription):
        (WebCore::ContextMenu::platformDescription):

2007-11-07  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Lars.

        Changed ContextMenu::setPlatformDescription for the Qt port to not show the qmenu right away
        but instead just behave as a normal setter that takes ownership of the platform menu description (the qmenu).
        Instead now QWebPage::contextMenuEvent() retrieves the QMenu after calling sendContextMenuEvent and calls exec()
        on it.

        * platform/qt/ContextMenuQt.cpp:

2007-11-07  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Lars.

        Changed to PlatformMouseEvent constructor to allow construction from a QContextMenuEvent.
        Call sendContextMenuEvent on the event handler from a QWidget::contextMenuEvent re-implementation instead of in mousePressEvent.

        * platform/PlatformMouseEvent.h:
        * platform/qt/PlatformMouseEventQt.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):

2007-11-07  Lars Knoll  <lars@trolltech.com>

        Reviewed by Simon.

        don't put nbsp's into the plan text paste
        
        Fix both ClipboardQt and PasteboardQt to replace
        nbsp's with spaces before putting the text onto the
        native clipboard. This is consistent with Mac and Win
        and fixes at least editing/pasteboard/4076267-3.html

        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::writeRange):
        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::writeSelection):

2007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>

        Reviewed by Lars Knoll <lars@trolltech.com>.

        Implement Pasteboard::writeImage()
        
        * Pasteboard is now fully implemented. Copying of Images into the Clipboard
        is now supported.
        * As with URLs we only copy into the Clipboard (and not additionally to the
        Selection)
        

        WARNING: NO TEST CASES ADDED OR CHANGED

        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::writeImage):

2007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>

        Reviewed by Lars Knoll <lars@trolltech.com>.

        Apple CodingStyle fixes
        

        WARNING: NO TEST CASES ADDED OR CHANGED

        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::documentFragment):

2007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>

        Reviewed by Lars Knoll <lars@trolltech.com>.

        Implement Pasteboard::writeURL()
        * The URL currently gets written as text/plain and text/uri-list.
        The win and mac port have some more types which we currently do
        not support. When supporting them we can use the 'titleString'
        as well.
        * As with writeSelection we only copy into the Clipboard. We could
        consider copying into the Selection as well.
        

        WARNING: NO TEST CASES ADDED OR CHANGED

        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::writeURL):

2007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>

        Reviewed by Lars Knoll <lars@trolltech.com>.

        Kill whitespace
        

        WARNING: NO TEST CASES ADDED OR CHANGED

        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::documentFragment):

2007-11-07  Lars Knoll  <lars@trolltech.com>

        Reviewed by Simon.

        Use the correct function calls to convert a selection to
        HTML or plain text.

        WARNING: NO TEST CASES ADDED OR CHANGED

        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::setData):
        (WebCore::ClipboardQt::writeRange):
        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::writeSelection):

2007-11-07  Lars Knoll  <lars@trolltech.com>

        Reviewed by Simon.

        Some more clipboard fixes.
        
        We have to set things immediately on the QClipBoard if the
        Clipboard object is not for dragging.
        
        This is due to the fact that the Clipboard object might be
        rather long lived if accessed through javascript (it'll only
        get deleted by JS garbage collection). We have to transfer
        the data over to the QClipboard before that to make things work.
        
        Fixes editing/execCommand/copy-without-selection.html

        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::ClipboardQt):
        (WebCore::ClipboardQt::~ClipboardQt):
        (WebCore::ClipboardQt::clearData):
        (WebCore::ClipboardQt::clearAllData):
        (WebCore::ClipboardQt::getData):
        (WebCore::ClipboardQt::setData):
        (WebCore::ClipboardQt::declareAndWriteDragImage):
        (WebCore::ClipboardQt::writeURL):
        (WebCore::ClipboardQt::writeRange):

2007-11-07  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Mark.

        Fix compilation on Windows with non-cygwin perl. open FILE, "|-" is
        not supported due to implicit forks, use IPC::Open2 instead.

        * bindings/scripts/IDLParser.pm:

2007-11-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Brady Eidson.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15877
          REGRESSION: r27486 caused a layout regression at my bank's website

        Test: fast/block/float/overhanging-after-height-decrease-offsets.html

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

2007-11-06  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam.

        <rdar://problem/5575812> REGRESSION:When using absolute positioning 
        with overflow:auto div, WebKit seems to add an additional 15px

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::containingBlockWidthForPositioned): We need to 
        subtract off the vertical scrollbar width too.

2007-11-06  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Dan Bernstein.
        
        <rdar://problem/5583387> ASSERTION FAILED: !refChild->hasTagName(bodyTag) when pasting newline in plain text into rich text Mail
        <rdar://problem/5583362> REGRESSION (5523.10.3-TOT): Newlines stripped when pasting plain text in Mail

        * editing/markup.cpp:
        (WebCore::createFragmentFromText): Put paragraphs of text into clones of the block
        that encloses the input context, unless that block is the body, which shouldn't
        be cloned.  In that case, use regular divs, as we did before r27369.

2007-11-06  Christian Dywan  <christian@twotoasts.de>

        Reviewed by Darin.

        Fix http://bugs.webkit.org/show_bug.cgi?id=15828
        Bug 15828: WebKit GTK include and lib directory is installed in qt4-named directory

        * WebCore.pro: Use sane default install paths for the gtk port.

2007-11-06  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.
        
        <rdar://problem/5576619> 
        REGRESSION: Caret disappears after deleting the last character in inline hole (15714)

        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteSelection): Like the other TypingCommands, including
        both of the other deletion commands, call typingAddedToOpenCommand(), which takes 
        the command's endingSelection and sets it as selection.

2007-11-06  Dan Bernstein  <mitz@apple.com>

        Reviewed by Antti Koivisto and Dave Hyatt.

        - fix <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height

        Test: fast/block/float/overhanging-after-height-decrease.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock): If after calculating the height
        it turns out that there are overhanging floats that were not overhanging
        before, rescan children with overhanging floats and add them. 
        (WebCore::RenderBlock::layoutBlockChildren): Added a parameter that
        returns the lowest float bottom of any of the children.
        (WebCore::RenderBlock::addOverhangingFloats): Changed to return the
        lowest float bottom.
        * rendering/RenderBlock.h:

2007-11-06  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        Switched all uses of HTMLImageLoader to use OwnPtrs.

        * html/HTMLInputElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::init):
        (WebCore::HTMLInputElement::~HTMLInputElement):
        (WebCore::HTMLInputElement::setInputType):
        (WebCore::HTMLInputElement::parseMappedAttribute):
        (WebCore::HTMLInputElement::attach):
        * html/HTMLObjectElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::HTMLObjectElement):
        (WebCore::HTMLObjectElement::~HTMLObjectElement):
        (WebCore::HTMLObjectElement::parseMappedAttribute):
        (WebCore::HTMLObjectElement::attach):
        * html/HTMLVideoElement.h:
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::HTMLVideoElement):
        (WebCore::HTMLVideoElement::attach):
        (WebCore::HTMLVideoElement::detach):
        (WebCore::HTMLVideoElement::parseMappedAttribute):

2007-11-06  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin.
        
        Trigger media load on on src attribute changes as specified in new HTML5 draft.

        Tests: media/video-src-change.html
               media/video-src-remove.html
               media/video-src-set.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::attributeChanged):
        * html/HTMLMediaElement.h:

2007-11-06  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15838
          Incomplete repaint toggling "How you know this person" on Facebook

        Test: fast/repaint/make-children-non-inline.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::makeChildrenNonInline): Repaint the block. This
        is needed because the inline children may be repositioned as they move
        into new anonymous blocks, but those blocks have no knowledge of where
        their children used to be, so they cannot invalidate those areas.

2007-11-06  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=15847
        Some editing cleanup

        No change in functionality.

        * editing/TextIterator.cpp:
        (WebCore::plainText):
        * editing/TextIterator.h:
        Made WebCore::plainText() return String instead of DeprecatedString.

        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject textUnderElement]):
        (-[WebCoreAXObject value]):
        (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
        (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]):
        (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
        Updated for the above change. There is no need to explicitly convert to NSString now.

        * editing/EditCommand.cpp:
        (WebCore::EditCommand::EditCommand): m_startingSelection and m_endingSelection are actually
        initialized in constructor body, so the work done in initializer list was wasted.

        (WebCore::EditCommand::apply): Moved some stars.
        (WebCore::EditCommand::unapply): Ditto.
        (WebCore::EditCommand::reapply): Ditto.
        (WebCore::EditCommand::setStartingSelection): The loop exit condition was evaluated twice,
        removed one of the checks.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::toString): plainText() result type now matches what we need here.

        * page/mac/WebCoreFrameBridge.h:
        * page/mac/WebCoreFrameBridge.mm:
        Removed unused -[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:] and
        -[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:].

2007-11-05  Mark Rowe  <mrowe@apple.com>

        Mac build fix.

        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::writeHelper):

2007-11-05  Adam Roben  <aroben@apple.com>

        Don't crash if SafariTheme can't be loaded

        PlatformScrollBarSafari and RenderThemeSafari were not checking
        whether SafariTheme was successfully loaded. All other uses of
        SafariTheme already check this.

        Reviewed by Steve.

        * platform/win/PlatformScrollBarSafari.cpp: Don't paint if SafariTheme
        couldn't be loaded.
        (WebCore::PlatformScrollbar::paintButton):
        (WebCore::PlatformScrollbar::paintTrack):
        (WebCore::PlatformScrollbar::paintThumb):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::isControlStyled): Always return true if
        we couldn't load SafariTheme. This way we should never try to paint
        themed controls (and we assert as such in the paint functions).
        (WebCore::RenderThemeSafari::paintCheckbox):
        (WebCore::RenderThemeSafari::paintRadio):
        (WebCore::RenderThemeSafari::paintButton):
        (WebCore::RenderThemeSafari::paintTextField):
        (WebCore::RenderThemeSafari::paintCapsLockIndicator):
        (WebCore::RenderThemeSafari::paintTextArea):
        (WebCore::RenderThemeSafari::paintMenuList):
        (WebCore::RenderThemeSafari::paintSliderThumb):
        (WebCore::RenderThemeSafari::paintSearchField):
        (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
        (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):

2007-11-05  Kevin Ollivier  <kevino@theolliviers.com>

        Adding the rest of wx port's graphics impl. 

        Rubber-stamped by Maciej Stachowiak.

        * platform/graphics/wx/AffineTransformWx.cpp: Added.
        * platform/graphics/wx/GraphicsContextWx.cpp: Added.
        * platform/graphics/wx/ImageBufferWx.cpp: Added.
        * platform/graphics/wx/ImageSourceWx.cpp: Added.
        * platform/graphics/wx/ImageWx.cpp: Added.
        * platform/graphics/wx/PathWx.cpp: Added.

2007-11-05  Kevin Ollivier  <kevino@theolliviers.com>

        wx port bug fixes and new files to get platform/wx building on trunk.

        Rubber-stamped by Maciej Stachowiak.

        * platform/wx/CursorWx.cpp:
        * platform/wx/FileSystemWx.cpp: Added.
        * platform/wx/FontCacheWx.cpp:
        * platform/wx/FontPlatformDataWx.cpp:
        * platform/wx/FontWx.cpp:
        * platform/wx/KeyboardEventWx.cpp:
        * platform/wx/LocalizedStringsWx.cpp: Added.
        * platform/wx/LoggingWx.cpp: Added.
        * platform/wx/RenderThemeWx.cpp:
        * platform/wx/ScrollViewWx.cpp:
        * platform/wx/SharedTimerWx.cpp:
        * platform/wx/StringWx.cpp:
        * platform/wx/ThreadingWx.cpp: Added.
        * platform/wx/WidgetWx.cpp:

2007-11-05  Adele Peterson  <adele@apple.com>

        Reviewed by Maciej.

        Fix for <rdar://problem/5579999> Add poster attribute for video element

        * html/HTMLAttributeNames.in: Added poster attribute.

        * html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement):
          Calls imageSourceAttributeName instead of having special cases for the different kinds of elements. 
        * dom/Element.cpp: (WebCore::Element::imageSourceAttributeName): Added.
        * dom/Element.h:
        * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::imageSourceAttributeName): Added.
        * html/HTMLObjectElement.h:

        * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::movieNetworkStateChanged):
          Calls updatePosterImage when the network state is empty and when the first frame has been loaded.
        * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::rendererIsNeeded): Made this inline.  HTMLVideoElement now also implements this.

        * html/HTMLVideoElement.idl: Added case for poster attribute.
        * html/HTMLVideoElement.h: Added image loader and flag to keep track of whether or not the poster image should be shown.
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::HTMLVideoElement): Initialize m_imageLoader and m_shouldShowPosterImage.
        (WebCore::HTMLVideoElement::rendererIsNeeded): Calls HTMLElement::rendererIsNeeded since HTMLMediaElements have renderer by default.
        (WebCore::HTMLVideoElement::createRenderer): Create a RenderImage or RenderVideo depending on whether or not the poster image should be shown.
        (WebCore::HTMLVideoElement::attach): Set up image loader and RenderImage if necessary.
        (WebCore::HTMLVideoElement::detach): Delete image loader if its no longer needed.
        (WebCore::HTMLVideoElement::parseMappedAttribute): Added case to process poster attribute.
        (WebCore::HTMLVideoElement::poster): Added getter for poster attribute.
        (WebCore::HTMLVideoElement::setPoster): Added setter for poster attribute.
        (WebCore::HTMLVideoElement::isURLAttribute): Added.
        (WebCore::HTMLVideoElement::imageSourceAttributeName): Added.
        (WebCore::HTMLVideoElement::updatePosterImage): Added.  Updates m_shouldShowPosterImage and if its changed, detaches and attaches so the renderer is correct.

2007-11-05  Adam Roben  <aroben@apple.com>

        Fix <rdar://5563572> SVG image support is turned off

        Turned on SVG images for all platforms.

        Reviewed by Eric.

        * WebCore.vcproj/WebCore.vcproj: Added SVGImage.{cpp,h}
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::createImage): Removed platform checks for
        SVGImage.

2007-11-05  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin.

        QTMovieView can generate callbacks during paint. This can lead to crashes.
        
        Delay callbacks so they get handled after painting is completed. No test case,
        I don't know how to reliably reproduce this.

        * platform/graphics/mac/MoviePrivateQTKit.mm:
        (WebCore::MoviePrivate::MoviePrivate):
        (WebCore::MoviePrivate::~MoviePrivate):
        (WebCore::MoviePrivate::paint):
        (-[WebCoreMovieObserver initWithCallback:WebCore::]):
        (-[WebCoreMovieObserver disconnect]):
        (-[WebCoreMovieObserver loadStateChanged:]):
        (-[WebCoreMovieObserver rateChanged:]):
        (-[WebCoreMovieObserver sizeChanged:]):
        (-[WebCoreMovieObserver timeChanged:]):
        (-[WebCoreMovieObserver volumeChanged:]):
        (-[WebCoreMovieObserver didEnd:]):
        (-[WebCoreMovieObserver setDelayCallbacks:]):

2007-11-05  Antti Koivisto  <antti@apple.com>

        Reviewed by Adam.

        Add some missing WebCore* prefixes to ObjC classes

        * platform/mac/FileChooserMac.mm:
        (WebCore::FileChooser::FileChooser):
        * platform/mac/SharedBufferMac.mm:
        (WebCore::SharedBuffer::createNSData):
        (WebCore::SharedBuffer::createCFData):
        * platform/mac/SharedTimerMac.cpp:
        (WebCore::setSharedTimerFireTime):

2007-11-05  Ada Chan  <adachan@apple.com>

        <rdar://problem/5579772> Regression: AltGr does not work
        We now store the system key event info in PlatforkKeyboardEvent().

        Reviewed by Oliver.

        * platform/PlatformKeyboardEvent.h:
        (WebCore::PlatformKeyboardEvent::isSystemKey):
        * platform/win/KeyEventWin.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

2007-11-02  Tristan O'Tierney  <tristan@apple.com>

        Reviewed by Darin Adler.

        * WebCore.xcodeproj/project.pbxproj:
        Set WindowFeatures.h as a Private header.
        
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::createWindow):
        Revised to use a single createWindow function instead of
        two createWindow functions and one createModalDialog function.
        The logic for this is now addressed in WebKit in an effort
        to make this easier to follow.
        
        * page/Chrome.cpp:
        (WebCore::Chrome::createWindow):
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/ContextMenuController.cpp:
        (WebCore::openNewWindow):
        * platform/graphics/svg/SVGImageEmptyClients.h:
        (WebCore::SVGEmptyChromeClient::createWindow):
        Revised to take new additional windowFeatures parameter.

2007-11-04  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.
        
        http://bugs.webkit.org/show_bug.cgi?id=15835

        Small adaptations to new KJS::List class.

        * bindings/js/kjs_window.cpp:
        (KJS::WindowFunc::callAsFunction):
        (KJS::ScheduledAction::ScheduledAction):

2007-11-05  Adam Roben  <aroben@apple.com>

        Allow passing a base class pointer to COMPtr::copyRefTo

        Reviewed by Sam.

        * platform/win/COMPtr.h:

2007-11-05  Dan Bernstein  <mitz@apple.com>

        Reviewed by Oliver Hunt.

        - fix ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) when a class attribute is all-whitespace

        Test: fast/dom/class-all-whitespace.html

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::parseMappedAttribute): Check if there is any
        non-whitespace character in the class attribute.

2007-11-05  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam

        Add transaction blocking to the DatabaseAuthorizer in preparation for the new version
        of the sql storage API

        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::allowTransaction):
        * storage/DatabaseAuthorizer.h:

2007-11-05  Mark Rowe  <mrowe@apple.com>

        Reviewed by Alp Toker.

        Have getMIMETypeForExtension return a null string when no MIME type is known
        for the extension rather than returning "text/plain".  This prevents plugin data
        being dumped into object elements when plugins are disabled.

        * platform/gtk/MIMETypeRegistryGtk.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):

2007-11-04  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Adam Roben.

        Rename SecurityOrigin::allowsAccessFrom to SecurityOrigin::canAccess to 
        clear up ambiguity.

        * bindings/js/kjs_window.cpp:
        (KJS::Window::isSafeScript):
        * platform/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canAccess):
        * platform/SecurityOrigin.h:

2007-11-04  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Adam.

        Bug 15834: There are many subtle bugs in the Styles pane of the Web Inspector
        http://bugs.webkit.org/show_bug.cgi?id=15834

        - Broke up DocumentPanel and added three SidebarPane sub-classes.
        - Fixed many Style pane bugs, including:
          * Poor handling of duplicate properties in the same rule. Some of this can't be
            fixed since we can't only get the "winning" value for duplicate properties.
            So we should only show one entry per unique property name.
          * Computed style does not show font shorthand sub-properties if 'font' was used.
          * Property priority was broken, the wrong properties were crossed out.
          * The 'border' shorthand shows null for the shorthand value.
          * Shorthands didn't show their priority (e.g. !important).
          * HSL and HTML hex colors didn't have preview swatch blocks.
          * Code refactoring, making it easier to reuse for console.log later.

        * page/inspector/DocumentPanel.js: Move sidebar pane code to three seperate
          classes in new files.
        * page/inspector/MetricsSidebarPane.js: Added.
        * page/inspector/Panel.js: Remove an InspectorController.log() call.
        * page/inspector/PropertiesSection.js: Add the section to the TreeOutline.
          So TreeElements can access properties on their section.
        * page/inspector/PropertiesSidebarPane.js: Added.
        * page/inspector/SidebarPane.js: Remove the explicit asignment of the
          onexpand and oncollapse to null. These were hiding prototypes.
        * page/inspector/StylesSidebarPane.js: Added.
        * page/inspector/inspector.html: Include the new script files.
        * page/inspector/treeoutline.js: If a null representedObject is passed
          in just use a empty object.

2007-11-04  David D. Kilzer  <ddkilzer@webkit.org>

        Fix build when spaces appear in the WebKit source path.

        Reviewed by Mark Rowe.

        * bindings/scripts/IDLParser.pm: Use safer open() method which lists
        arguments individually and prevents the need to work around spaces
        in the path.

2007-11-04  Alp Toker  <alp@atoker.com>

        Reviewed by Alexey Proskuryakov.

        Fix a crash when no clipboard text is available

        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::plainText):

2007-11-03  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - WebCore part of http://bugs.webkit.org/show_bug.cgi?id=15821
          remove unused PCRE features for speed

        * page/Frame.cpp: (WebCore::Frame::matchLabelsAgainstElement):
        * page/mac/FrameMac.mm: (WebCore::Frame::matchLabelsAgainstElement):
        Remove use of "[[:digit:]]" syntax. This hasn't worked for some time.
        Use "\d" instead.

        * platform/RegularExpression.h: Remove the unused cap function. We can
        add it back later if we find we need it.
        * platform/RegularExpression.cpp:
        (WebCore::RegularExpression::Private::compile): Update for JavaScriptCore
        regular expression entry point changes.
        (WebCore::RegularExpression::Private::~Private): Ditto.
        (WebCore::RegularExpression::match): Remove the code to set PCRE_NOTBOL.
        This means that regular expressions with metacharactesr like ^ in them
        won't work any more with non-whole-string searches, but we don't use
        any regular expressions like that.

2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>

        Update the link stubs to match the current build,
        and fix coding style issues.

        Reviewed by Mark Rowe.

        * platform/wx/TemporaryLinkStubs.cpp:
        (loadResourceIntoArray):
        (findNextSentenceFromIndex):
        (findSentenceBoundary):
        (Frame::dashboardRegionsChanged):
        (WebCore::historyContains):
        (CachedPage::close):
        (Editor::showStylesPanel):
        (EventHandler::passSubframeEventToSubframe):
        (EventHandler::passWheelEventToWidget):
        (WebCore::currentTextBreakLocaleID):

2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>

        wx <-> WebKit conversions for IntPoint, IntRect and FloatRect

        Reviewed by Mark Rowe.

        * platform/graphics/wx/FloatRectWx.cpp: Added.
        * platform/graphics/wx/IntPointWx.cpp: Added.
        * platform/graphics/wx/IntRectWx.cpp: Added.

2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>

        wx <-> WebKit data type conversions for Pen and Color.

        Reviewed by Darin Adler.

        * platform/graphics/wx: Added.
        * platform/graphics/wx/ColorWx.cpp: Added.
        * platform/graphics/wx/PenWx.cpp: Added.

2007-11-03  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver.

        Remove dummy variable from ClassInfo reducing the size of the struct by 1 word.
        The variable had been kept around for binary compatibility, but since nothing
        else is there is no point in continuing to keep it around.

        * bindings/js/JSDOMExceptionConstructor.cpp:
        (WebCore::):
        * bindings/js/JSHTMLInputElementBase.cpp:
        (WebCore::):
        * bindings/js/JSNamedNodesCollection.cpp:
        (WebCore::):
        * bindings/js/JSXMLHttpRequest.cpp:
        (KJS::):
        * bindings/js/JSXSLTProcessor.cpp:
        (KJS::):
        * bindings/js/kjs_css.cpp:
        (WebCore::):
        * bindings/js/kjs_events.cpp:
        (WebCore::):
        * bindings/js/kjs_navigator.cpp:
        (KJS::):
        * bindings/js/kjs_window.cpp:
        (KJS::):
        * bindings/scripts/CodeGeneratorJS.pm:

2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>

        Build fixes to get wx impls. building on trunk.

        Reviewed by Mark Rowe.

        * platform/wx/DragDataWx.cpp:
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::asFilenames):
        * platform/wx/DragImageWx.cpp:
        (WebCore::scaleDragImage):
        * platform/wx/MimeTypeRegistryWx.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
        * platform/wx/MouseEventWx.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/wx/MouseWheelEventWx.cpp:
        * platform/wx/PasteboardWx.cpp:
        (WebCore::Pasteboard::writeImage):
        * platform/wx/WidgetWx.cpp:
        (WebCore::Widget::setCursor):

2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>

        Sort files(...); sections of Xcode project files.

        Rubber-stamped by Darin.

        * WebCore.xcodeproj/project.pbxproj:
        * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:

2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>

        Coding style fixes for platform/wx files.

        Reviewed by Mark Rowe.

        * platform/wx/ClipboardWx.cpp:
        * platform/wx/GlyphMapWx.cpp:
        * platform/wx/ScreenWx.cpp:

2007-11-03  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        Implement platform scrollbar static width/height getters

        * platform/gtk/PlatformScrollBar.h:
        * platform/gtk/PlatformScrollBarGtk.cpp:
        (scrollbarSize):
        (PlatformScrollbar::horizontalScrollbarHeight):

2007-11-03  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        Cast function pointers to gpointer.

        * platform/gtk/PlatformScrollBarGtk.cpp:
        (PlatformScrollbar::~PlatformScrollbar):

2007-11-03  Alp Toker  <alp@atoker.com>

        Reviewed by Adam Roben.

        RenderThemeGtk implementation based on Mozilla's GTK+ style code

        There is still work needed to complete this feature.

        * WebCore.pro:
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::theme):
        (WebCore::RenderThemeGtk::RenderThemeGtk):
        (WebCore::supportsFocus):
        (WebCore::RenderThemeGtk::supportsFocusRing):
        (WebCore::RenderThemeGtk::controlSupportsTints):
        (WebCore::RenderThemeGtk::baselinePosition):
        (WebCore::adjustMozStyle):
        (WebCore::setMozState):
        (WebCore::paintMozWidget):
        (WebCore::setButtonPadding):
        (WebCore::setToggleSize):
        (WebCore::RenderThemeGtk::setCheckboxSize):
        (WebCore::RenderThemeGtk::paintCheckbox):
        (WebCore::RenderThemeGtk::setRadioSize):
        (WebCore::RenderThemeGtk::paintRadio):
        (WebCore::RenderThemeGtk::adjustButtonStyle):
        (WebCore::RenderThemeGtk::paintButton):
        (WebCore::RenderThemeGtk::adjustMenuListStyle):
        (WebCore::RenderThemeGtk::paintMenuList):
        (WebCore::RenderThemeGtk::adjustTextFieldStyle):
        (WebCore::RenderThemeGtk::paintTextField):
        (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
        (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
        (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
        (WebCore::RenderThemeGtk::adjustSearchFieldStyle):
        (WebCore::RenderThemeGtk::paintSearchField):
        (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
        (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
        (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
        (WebCore::RenderThemeGtk::caretBlinkFrequency):
        (WebCore::RenderThemeGtk::systemFont):
        (WebCore::gtkStyleSetCallback):
        (WebCore::RenderThemeGtk::gtkContainer):
        (WebCore::RenderThemeGtk::gtkEntry):
        (WebCore::RenderThemeGtk::gtkTreeView):
        * platform/gtk/RenderThemeGtk.h:
        * platform/gtk/gtk2drawing.c: Added.
        (moz_gtk_enable_style_props):
        (ensure_window_widget):
        (setup_widget_prototype):
        (ensure_button_widget):
        (ensure_checkbox_widget):
        (ensure_radiobutton_widget):
        (ensure_scrollbar_widget):
        (ensure_spin_widget):
        (ensure_scale_widget):
        (ensure_entry_widget):
        (ensure_option_menu_widget):
        (ensure_arrow_widget):
        (ensure_handlebox_widget):
        (ensure_toolbar_widget):
        (ensure_tooltip_widget):
        (ensure_tab_widget):
        (ensure_progress_widget):
        (ensure_frame_widget):
        (ensure_menu_bar_widget):
        (ensure_menu_bar_item_widget):
        (ensure_menu_popup_widget):
        (ensure_menu_item_widget):
        (ensure_check_menu_item_widget):
        (ConvertGtkState):
        (TSOffsetStyleGCArray):
        (TSOffsetStyleGCs):
        (moz_gtk_button_paint):
        (moz_gtk_init):
        (moz_gtk_checkbox_get_metrics):
        (moz_gtk_radio_get_metrics):
        (moz_gtk_checkbox_get_focus):
        (moz_gtk_radio_get_focus):
        (moz_gtk_button_get_focus):
        (moz_gtk_option_menu_get_metrics):
        (moz_gtk_toggle_paint):
        (calculate_arrow_dimensions):
        (moz_gtk_scrollbar_button_paint):
        (moz_gtk_scrollbar_trough_paint):
        (moz_gtk_scrollbar_thumb_paint):
        (moz_gtk_spin_paint):
        (moz_gtk_scale_paint):
        (moz_gtk_scale_thumb_paint):
        (moz_gtk_gripper_paint):
        (moz_gtk_entry_paint):
        (moz_gtk_option_menu_paint):
        (moz_gtk_dropdown_arrow_paint):
        (moz_gtk_container_paint):
        (moz_gtk_toggle_label_paint):
        (moz_gtk_toolbar_paint):
        (moz_gtk_tooltip_paint):
        (moz_gtk_frame_paint):
        (moz_gtk_progressbar_paint):
        (moz_gtk_progress_chunk_paint):
        (moz_gtk_tab_paint):
        (moz_gtk_tabpanels_paint):
        (moz_gtk_menu_bar_paint):
        (moz_gtk_menu_popup_paint):
        (moz_gtk_menu_item_paint):
        (moz_gtk_check_menu_item_paint):
        (moz_gtk_window_paint):
        (moz_gtk_get_widget_border):
        (moz_gtk_get_dropdown_arrow_size):
        (moz_gtk_get_scalethumb_metrics):
        (moz_gtk_get_scrollbar_metrics):
        (moz_gtk_widget_paint):
        (moz_gtk_get_scrollbar_widget):
        (moz_gtk_shutdown):
        * platform/gtk/gtkdrawing.h: Added.

2007-11-03  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        Do not allow scrollbars to handle wheel events
        
        We bubble the wheel event up so the parent can handle it instead.

        * platform/gtk/PlatformScrollBarGtk.cpp:
        (gtkScrollEventCallback):
        (PlatformScrollbar::PlatformScrollbar):
        (PlatformScrollbar::~PlatformScrollbar):

2007-11-03  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        Frame scrolling and invalidation fixes

        Make upward scroll events have a positive delta to match other ports.

        Fix the invalidation rect offset for frames so that scrolling works properly.

        Avoid allocating negative sizes to widgets to avoid GTK+ warnings.

        Allow tabbing to all widgets and links.

        Fix event returns, improving the focus situation and correcting scroll wheel
        behavior.

        * page/gtk/EventHandlerGtk.cpp:
        (WebCore::EventHandler::tabsToAllControls):
        (WebCore::EventHandler::passWheelEventToWidget):
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollViewScrollbar::geometryChanged):
        (WebCore::ScrollView::updateContents):
        (WebCore::ScrollView::update):
        (WebCore::ScrollView::wheelEvent):
        (WebCore::ScrollView::updateScrollbars):
        * platform/gtk/WheelEventGtk.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):

2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>

        LGPL'ed files contain incorrect FSF address
        <http://bugs.webkit.org/show_bug.cgi?id=14885>

        Reviewed by NOBODY (follow-up fix).

        * bindings/js/JSSVGTransformListCustom.cpp:
        * ksvg2/svg/SVGException.idl:
        * ksvg2/svg/SVGTextPathElement.cpp:
        * ksvg2/svg/SVGTextPathElement.h:
        * ksvg2/svg/SVGViewSpec.cpp:
        * ksvg2/svg/SVGViewSpec.h:
        * platform/mac/FontCustomPlatformData.cpp:
        * platform/mac/FontCustomPlatformData.h:
        * platform/mac/FontPlatformDataMac.mm:
        * platform/win/FontCustomPlatformData.cpp:
        * platform/win/FontCustomPlatformData.h:
        * rendering/RenderSVGRoot.cpp:
        * rendering/RenderSVGRoot.h:
        * rendering/RenderSVGTextPath.cpp:
        * rendering/RenderSVGTextPath.h:
        * rendering/RenderSVGTransformableContainer.h:
        * rendering/RenderSVGViewportContainer.cpp:
        * rendering/RenderSVGViewportContainer.h:
        * rendering/SVGCharacterLayoutInfo.cpp:
        * rendering/SVGCharacterLayoutInfo.h:
        * rendering/SVGRenderSupport.cpp:
        * rendering/SVGRenderSupport.h:

2007-11-02  Antti Koivisto  <antti@apple.com>

        Reviewed by Adam.
        
        Add video width/height DOM and content attributes from latest HTML5 draft.

        Test: media/video-width-height.html

        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::parseMappedAttribute):
        (WebCore::HTMLVideoElement::width):
        (WebCore::HTMLVideoElement::setWidth):
        (WebCore::HTMLVideoElement::height):
        (WebCore::HTMLVideoElement::setHeight):
        * html/HTMLVideoElement.h:
        * html/HTMLVideoElement.idl:

2007-11-02  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        * DerivedSources.make: Remove a few explicit filenames from some rules by using
        make variables a little more.
        * WebCore.LP64.exp: Fix typo, grammar.

2007-11-02  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - use the new HashMap::take function where appropriate

        * bindings/js/kjs_binding.cpp:
        (KJS::addWrapper): Made an inline rather than a macro; inlines good, macros bad.
        (KJS::removeWrapper): Ditto.
        (KJS::removeWrappers): Ditto.
        (KJS::ScriptInterpreter::putDOMObject): Use the inline instead of the macro.
        (KJS::ScriptInterpreter::forgetDOMObject): Ditto. This involves using take instead
        of remove -- in theory ever so slightly less efficient, but I think it's fine.
        (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Ditto.
        (KJS::ScriptInterpreter::putDOMNodeForDocument): Use the inline instead of the macro.
        (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Use take instead of find/remove.
        (KJS::ScriptInterpreter::updateDOMNodeDocument): Use the inlines instead of the macros.

        * bindings/js/kjs_window.cpp: (KJS::Window::clearTimeout): Use take instead of find/remove.
        * bridge/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::remove): Ditto.
        * page/AnimationController.cpp: (WebCore::AnimationControllerPrivate::clear): Ditto.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::~RenderBlock): Ditto.
        (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Ditto.
        * rendering/RootInlineBox.cpp: Ditto.(WebCore::RootInlineBox::detachEllipsisBox): Ditto.

2007-11-02  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin.

        Enable video composition.

        * WebCore.base.exp:
        * platform/graphics/mac/MoviePrivateQTKit.mm:
        (WebCore::MoviePrivate::createQTMovieView):
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2007-11-02  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15806
          <rdar://problem/5561626> ASSERT(element->isRadioButton()) fires destroying form elements

        Test: fast/forms/remove-radio-button-assert.html

        * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::removeFromForm):
        Added protected function to be used by derived classes that need to do the same sort
        of removal from form that's automatically done by the base class in certain circumstances.
        * html/HTMLGenericFormElement.h: Added removeFromForm.

        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement):
        Call removeFromForm here so the element is removed before we destroy the HTMLInputElement
        part of this object. By the time we get to the base class's destructor it's too late.
        The problem is specific to radio buttons so we don't have to worry about other classes
        derived from HTMLGenericFormElement.

2007-11-02  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - speculative fix for http://bugs.webkit.org/show_bug.cgi?id=15805
          <rdar://problem/5510779> crashes in isLoadingMultipartContent

        * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::isLoadingMultipartContent):
        Instead of asserting the frame loader is non-0, return false if it is 0.

2007-11-02  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - fix <rdar://problem/5530185> WebKit does not show <object> fallback content when both
          URL and MIME type is omitted

        Already covered by existing tests (that had incorrect results).

        * loader/FrameLoader.cpp: (WebCore::FrameLoader::requestObject): Return false to indicate
        failure when both URL and MIME type are empty. The old code would not attempt a load, but
        it would indicate success.

        * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Remove
        non-helpful early exit for the case where there is no URL and no type. Returning early
        prevents the fallback code from running.

2007-11-02  Alp Toker  <alp@atoker.com>

        Reviewed by Darin.

        Include Cairo headers properly

        * platform/graphics/AffineTransform.h:
        * platform/graphics/ImageBuffer.h:
        * platform/graphics/cairo/AffineTransformCairo.cpp:
        * platform/gtk/FontPlatformDataGtk.cpp:

2007-11-01  Oliver Hunt  <oliver@apple.com>

        Reviewed by Alexey.

        Make sure we send the correct events for Capslock, Shift, Ctrl, Alt and the Windows key        

        * platform/win/KeyEventWin.cpp:
        (WebCore::keyIdentifierForWindowsKeyCode):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

2007-11-01  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej Stachowiak.
        
        In preparation for making List a simple stack-allocated Vector:

        Removed all instances of List copying, assignment, and/or storage.
        
        Layout tests and JS tests pass.

        * bindings/js/kjs_window.cpp:
        (KJS::WindowFunc::callAsFunction): Stores a Vector of protected 
        JSValue*'s instead of a List now. Converts to List on the fly when 
        calling the timer function. This is slightly less efficient, but the 
        common case is 0-2 arguments, so it's no biggie.

        (HTML iBench shows no regression. PLT does not use JS timers.)
        
        (KJS::ScheduledAction::execute): Uses the more efficient and non-copying
        List::slice now.
        (KJS::ScheduledAction::ScheduledAction): ditto

        * bindings/objc/WebScriptObject.mm:
        (getListFromNSArray): Takes a List out parameter now, to avoid copying.

2007-11-01  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoff.

        Correct event behaviour on certain control keys

        Make sure we send the correct keyDown and keyUp events for the
        control keys CapsLock, Shift, Ctrl, Alt, and Meta/Command, and
        uses Windows key codes for the event keyCode.

        * WebCore.base.exp:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::keyEvent):
        * platform/PlatformKeyboardEvent.h:
        * platform/gtk/KeyEventGtk.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/mac/KeyEventMac.mm:
        (WebCore::keyIdentifierForKeyEvent):
        (WebCore::WindowsKeyCodeForKeyEvent):
        (WebCore::isKeyUpEvent):
        (WebCore::textFromEvent):
        (WebCore::unmodifiedTextFromEvent):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/win/KeyEventWin.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/wx/KeyEventWin.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

2007-11-01  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Sam.

        * page/inspector/inspector.css: Use the white disclosure triangles
          when a parent DOM element is sepected.

2007-11-01  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): No need to match style when pasting
        into a plaintext-only region, since when we build the fragment to insert from
        plain text, we don't put any style information on it, so it will automatically
        match style with no intervention.
        * editing/markup.cpp:
        (WebCore::createFragmentFromText): Place paragraphs into clones of the
        block being inserted into, instead of default paragraph elements,
        so that when inserted content will match the surrounding paragraph style.
        This was broken before, but I haven't added a layout test yet because
        there currently isn't a way to get only plain text onto the pasteboard
        in a layout test.

2007-11-01  Sam Weinig  <sam@webkit.org>

        Reviewed by Adam Roben. 

        Add a releaseRef method to COMPtr which matches the behavior
        of the method by the same name in PassRefPtr.  This is in
        preparation of adding autogenerated COM DOM bindings.

        * platform/win/COMPtr.h:
        (COMPtr::releaseRef):

2007-11-01  Kevin Ollivier  <kevino@theolliviers.com>

        wx impl. for DragController and EventHandler interfaces.

        Reviewed by Adam Roben.

        * page/wx: Added.
        * page/wx/DragControllerWx.cpp: Added.
        (WebCore::DragController::isCopyKeyDown):
        (WebCore::DragController::dragOperation):
        (WebCore::DragController::maxDragImageSize):
        * page/wx/EventHandlerWx.cpp: Added.
        (WebCore::EventHandler::passMousePressEventToSubframe):
        (WebCore::EventHandler::passMouseMoveEventToSubframe):
        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
        (WebCore::EventHandler::passMousePressEventToScrollbar):
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        (WebCore::EventHandler::focusDocumentView):
        (WebCore::EventHandler::eventActivatedView):
        (WebCore::EventHandler::createDraggingClipboard):

2007-11-01  Kevin Ollivier  <kevino@theolliviers.com>

        Adding files for wx impl. of editing interfaces.

        Reviewed by Adam Roben.

        * editing/wx: Added.
        * editing/wx/EditorWx.cpp: Added.
        (WebCore::Editor::newGeneralClipboard):

2007-11-01  Sam Weinig  <sam@webkit.org>

        Reviewed by Adam Roben.

        Make implicit conversions from LPCSTRs and BSTRs to WebCore string
        types possible in preparation of adding autogenerated COM DOM bindings.

        * platform/AtomicString.cpp: 
        (WebCore::AtomicString::add):
        * platform/AtomicString.h:
        (WebCore::AtomicString::AtomicString):
        * platform/PlatformString.h:
        * platform/win/BString.cpp:
        (WebCore::BString::BString):
        * platform/win/BString.h:

2007-11-01  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders

        Renamed a flag inside of SQLiteTransaction and added an accessor (for future work)

        * platform/sql/SQLiteTransaction.cpp:
        (WebCore::SQLiteTransaction::SQLiteTransaction):
        (WebCore::SQLiteTransaction::~SQLiteTransaction):
        (WebCore::SQLiteTransaction::begin):
        (WebCore::SQLiteTransaction::commit):
        (WebCore::SQLiteTransaction::rollback):
        * platform/sql/SQLiteTransaction.h:
        (WebCore::SQLiteTransaction::inProgress):

2007-11-01  Adam Roben  <aroben@apple.com>

        Remove all duplicate xcopy commands from WebCore's post-build step

        Also add the /d option to the copy of platform/sql.

        Rubberstamped by Sam.

        * WebCore.vcproj/WebCore.vcproj:

2007-11-01  Adele Peterson  <adele@apple.com>

        Reviewed by Maciej.

        Add support for the animation of the -webkit-border-raduis properties.

        * page/AnimationController.cpp:
        (WebCore::blendFunc): Added for IntSize.
        (WebCore::ImplicitAnimation::animate): Added cases for border radius properties.

2007-11-01  Alp Toker  <alp@atoker.com>

        Reviewed by Mitz Pettel.

        Fix an unbalanced save/restore.

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

2007-11-01  David Hyatt  <hyatt@apple.com>

        Add support for the animation of the visibility property.

        Reviewed by oliver, aroben

        * page/AnimationController.cpp:
        (WebCore::blendFunc):
        (WebCore::ImplicitAnimation::animate):

2007-11-01  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Adam.

        - Made COMPtr be able to be used by certain other templates,
        specifically HashSet.

        * platform/win/COMPtr.h:
        (WTF::):

2007-11-01  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15015
          <rdar://problem/5420308> Most of www.aol.com redraws unnecessarily when headline/photo section changes

        Test: fast/repaint/overflow-clip-subtree-layout.html

        This patch does not address the bigger issue of doing a full relayout
        of inline flows containing floats, but it addresses the problem on
        aol.com, where the changes that trigger layout are confined to an
        overflow area inside the float.

        * page/FrameView.cpp:
        (WebCore::FrameView::scheduleRelayoutOfSubtree): If the new and old
        layout roots are different but one descends from the other, make (or
        keep) the ancestor as the layout root.
        * rendering/RenderObject.cpp:
        (WebCore::objectIsRelayoutBoundary): Made boxes with overflow
        clipping and non-auto width and height relayout boundaries.

2007-11-01  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Mark Rowe.

        Fixed line endings that got confused in this file somehow.

        * platform/network/ResourceResponse.cpp:
        (WebCore::ResourceResponse::isAttachment):

2007-11-01  Peter Kasting  <zerodpx@gmail.com>

        Reviewed by Dave Hyatt.

        http://bugs.webkit.org/show_bug.cgi?id=15778
        Malformed GIFs should not result in memory corruption.

        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::haveDecodedRow):
        * platform/image-decoders/gif/GIFImageReader.cpp:
        (GIFImageReader::output_row):
        (GIFImageReader::read):

2007-10-31  Adam Roben  <aroben@apple.com>

        Fix a crash when parsing a cubic-bezier function

        Reviewed by Hyatt.

        Test: fast/css/parse-timing-function-crash.html

        * WebCore.vcproj/WebCore.vcproj:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseTimingFunctionValue): Don't walk off the end
        of the ValueList.

2007-10-31  David Hyatt  <hyatt@apple.com>

        Fix a merge error from when I applied my patch to ToT.  A couple of lines should be part of an if.

        * rendering/RenderStyle.cpp:
        (WebCore::RenderStyle::adjustTransitions):

2007-10-31  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam.

        Add new SQL callback interfaces and JS implementations of them.
        
        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSCustomSQLStatementCallback.cpp: Added.
        (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
        (WebCore::JSCustomSQLStatementCallback::handleEvent):
        * bindings/js/JSCustomSQLStatementCallback.h: Added.
        * bindings/js/JSCustomSQLStatementErrorCallback.cpp: Added.
        (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
        * bindings/js/JSCustomSQLStatementErrorCallback.h: Added.
        * bindings/js/JSCustomSQLTransactionCallback.cpp: Added.
        (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
        * bindings/js/JSCustomSQLTransactionCallback.h: Added.
        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Added.
        (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
        * bindings/js/JSCustomSQLTransactionErrorCallback.h: Added.
        * storage/JSCustomSQLStatementCallback.h: Added.
        * storage/JSCustomSQLStatementErrorCallback.h: Added.
        * storage/JSCustomSQLTransactionCallback.h: Added.
        * storage/JSCustomSQLTransactionErrorCallback.h: Added.
        * storage/SQLStatementCallback.h: Added.
        (WebCore::SQLStatementCallback::~SQLStatementCallback):
        * storage/SQLStatementCallback.idl: Added.
        * storage/SQLStatementErrorCallback.h: Added.
        (WebCore::SQLStatementErrorCallback::~SQLStatementErrorCallback):
        * storage/SQLStatementErrorCallback.idl: Added.
        * storage/SQLTransaction.h: Added.
        * storage/SQLTransaction.idl: Added.
        * storage/SQLTransactionCallback.h: Added.
        (WebCore::SQLTransactionCallback::~SQLTransactionCallback):
        * storage/SQLTransactionCallback.idl: Added.
        * storage/SQLTransactionErrorCallback.h: Added.
        (WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback):
        * storage/SQLTransactionErrorCallback.idl: Added.

2007-10-31  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Dave Harrison.

        <rdar://problem/5569741> Pasting content with a line break into a list can remove the list

        * editing/htmlediting.cpp:
        (WebCore::enclosingEmptyListItem): A single list item can contain multiple 
        paragraphs, so if the incoming VisiblePosition is in an empty paragraph in a 
        list item, that list item isn't necessarily empty.

2007-10-31  David Hyatt  <hyatt@apple.com>

        Disable style sharing for animating styles.

        Reviewed by mitzpettel

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

2007-10-31  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix intermediate length calculation

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

2007-10-31  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin.

        Add new SQLError implementation.
        
        * DerivedSources.make:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * storage/SQLError.h: Added.
        (WebCore::SQLError::SQLError):
        (WebCore::SQLError::code):
        (WebCore::SQLError::message):
        * storage/SQLError.idl: Added.

2007-10-31  David Hyatt  <hyatt@apple.com>

        Change the initial value of transition-property to all.  Change the initial value of
        transition-duration to 0.

        Reviewed by antti

        * rendering/RenderStyle.h:
        (WebCore::RenderStyle::initialTransitionDuration):
        (WebCore::RenderStyle::initialTransitionProperty):

2007-10-31  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        The new Color must be marked valid.

        * platform/graphics/gtk/ColorGtk.cpp:

2007-10-31  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Maciej;

        Build fix for non-Qt builds.

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

2007-10-31  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Lars.

        Fix dependency path to header files of the public API of the Qt port.

        * WebCore.pro:

2007-10-31  Holger Freyther  <zecke@selfish.org>

        Reviewed by Simon.

        * QXmlStreamNamespaceDeclaration doesn't have the constructor we
        want to use for Qt4.3. Reenable the old code path which is likely
        to be dead as I have not checked if m_prefixToNamespaceMap is actually
        used.
        * Guard the entity resolver with the QT_VERSION as well.
        * Partially reverts 369506279abdaa863e15efed649ca19e062f2c30 and
        d2b54d0fc1b07a2480f4f7a1417abd7a636b0107 for Qt4.3.

        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::XMLTokenizer):
        * dom/XMLTokenizer.h:

2007-10-31  Holger Freyther  <zecke@selfish.org>

        Reviewed by Lars Knoll <lars@trolltech.com>.

        * QMimeData::removeData will be new in Qt4.4, don't use it for Qt4.3 
        * Provide a bad fallback implementation to filter the format list.

        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::clearData):

2007-10-31  Lars Knoll  <lars@trolltech.com>

        Reviewed by Simon.

        add an entitiy resolver to QXmlStream.
        Fixes fast/parser/entities-in-attributes.xhtml.

        * dom/XMLTokenizer.cpp:
        (WebCore::EntityResolver::resolveUndeclaredEntity):
        (WebCore::XMLTokenizer::XMLTokenizer):
        (WebCore::XMLTokenizer::~XMLTokenizer):

2007-10-31  Lars Knoll  <lars@trolltech.com>

        Reviewed by Simon.

        Fixes in the XML tokenizer when using QXmlStream.
        
        Use new functionality of QXmlStream in Qt 4.4 to simplify
        the code (but keep the old code for now to still support Qt 4.3).
        
        Add proper support for namespace handling when parsing into
        a document fragment.

        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::XMLTokenizer):
        (WebCore::XMLTokenizer::write):
        (WebCore::XMLTokenizer::startElementNs):
        (WebCore::):
        * dom/XMLTokenizer.h:

2007-10-31  Lars Knoll  <lars@trolltech.com>

        Reviewed by Simon.

        add support for dragging images.

        * platform/DragImage.h:
        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::clearData):
        (WebCore::ClipboardQt::setDragImage):
        (WebCore::ClipboardQt::setDragImageElement):
        (WebCore::ClipboardQt::createDragImage):
        (WebCore::getCachedImage):
        (WebCore::ClipboardQt::declareAndWriteDragImage):
        * platform/qt/ClipboardQt.h:

2007-10-31  Lars Knoll  <lars@trolltech.com>

        Reviewed by Simon.

        fix most of the issues I found with Clipboard and DnD.

        * editing/qt/EditorQt.cpp:
        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::ClipboardQt):
        (WebCore::ClipboardQt::~ClipboardQt):
        (WebCore::ClipboardQt::clearData):
        (WebCore::ClipboardQt::clearAllData):
        (WebCore::ClipboardQt::getData):
        (WebCore::ClipboardQt::setData):
        (WebCore::ClipboardQt::types):
        (WebCore::ClipboardQt::setDragImage):
        (WebCore::ClipboardQt::setDragImageElement):
        (WebCore::ClipboardQt::declareAndWriteDragImage):
        (WebCore::ClipboardQt::writeURL):
        (WebCore::ClipboardQt::writeRange):
        (WebCore::ClipboardQt::hasData):
        * platform/qt/ClipboardQt.h:
        * platform/qt/DragDataQt.cpp:
        (WebCore::DragData::asURL):

2007-10-30  Mark Rowe  <mrowe@apple.com>

        Fix the Gtk and Qt builds by stubbing out PlatformKeyboardEvent::currentCapsLockState.

        * platform/gtk/KeyEventGtk.cpp:
        (WebCore::PlatformKeyboardEvent::currentCapsLockState):
        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::PlatformKeyboardEvent::currentCapsLockState):

2007-10-31  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Anders.

        http://bugs.webkit.org/show_bug.cgi?id=15762
        XSLStylesheet loads subresources from a wrong URL

        Covered by corrected existing tests.

        * xml/XSLStyleSheet.cpp:
        (WebCore::XSLStyleSheet::parseString): Pass stylesheet URL, not
        the document one.

2007-10-31  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=10818
        String::append does 2 full copies instead of 1 (or zero!)

        No change in functionality, thus no test.

        * platform/String.cpp:
        (WebCore::String::append): Rewrote to copy once. Also removed an ancient
        FIXME that doesn't seem to make any sense. Note that append() behavior doesn't 
        match documented String behavior ("modifications to one instance will
        also modify all others"), but there are a lot of methods that don't.

2007-10-31  Adam Roben  <aroben@apple.com>

        Windows build fix

        * WebCore.vcproj/WebCore.vcproj: Add [JS]ProgressEvent.{cpp,h} files.

2007-10-30  Adam Roben  <aroben@apple.com>

        Windows build fixes

        I'm not completely sure why these const issues weren't caught by GCC,
        but MSVC was certainly not happy with them.

        * editing/IndentOutdentCommand.cpp:
        (WebCore::isIndentBlockquote):
        * editing/markup.cpp:
        (WebCore::styleFromMatchedRulesAndInlineDecl):

2007-10-30  David Hyatt  <hyatt@apple.com>

        transition-property was defaulting to all when it should default to none.  

        It was taking a string type.  I figured out how to make it take an ident instead, so you can write:

        transition-property: opacity

        instead of

        transition-property: "opacity"

        Transition layers also weren't properly repeating patterns the way they were supposed to.  I fixed that.

        Finally, I fixed a bug in the code to fix up transition layers where something was misplaced that should have been inside a null check.

        Reviewed by aroben

        * css/CSSHelper.h:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseTransitionProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        * page/AnimationController.cpp:
        (WebCore::ImplicitAnimation::animate):
        * rendering/RenderStyle.cpp:
        (WebCore::RenderStyle::adjustTransitions):
        * rendering/RenderStyle.h:
        (WebCore::RenderStyle::initialTransitionProperty):

2007-10-30  Antti Koivisto  <antti@apple.com>

        Reviewed by Geoff.

        Leak fix

        * platform/graphics/mac/MoviePrivateQTKit.mm:
        (WebCore::MoviePrivate::getSupportedTypes):

2007-10-30  Dan Bernstein  <mitz@apple.com>

        Reviewed by Stephanie Lewis.

        - fix <rdar://problem/5547237> REGRESSION (304-ToT): Repro font-related crash in fontdatawin.cpp Line 93 (many sites)

        * platform/win/FontDataWin.cpp:
        (WebCore::FontData::platformInit): Handle the case where the font has no
        glyphs on page zero.

2007-10-30  David Hyatt  <hyatt@apple.com>

        Make sure CSS transforms can be animated using the CSS transition property.

        Reviewed by Dan and Antti

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * page/AnimationController.cpp:
        (WebCore::blendFunc):
        (WebCore::ImplicitAnimation::animate):
        * rendering/Length.h:
        (WebCore::Length::blend):
        * rendering/RenderStyle.cpp:
        (WebCore::StyleTransformData::operator==):
        (WebCore::TransformOperations::operator==):
        (WebCore::blendLengths):
        (WebCore::ScaleTransformOperation::blend):
        (WebCore::RotateTransformOperation::blend):
        (WebCore::SkewTransformOperation::blend):
        (WebCore::TranslateTransformOperation::blend):
        (WebCore::MatrixTransformOperation::blend):
        * rendering/RenderStyle.h:
        (WebCore::TransformOperations::operator!=):
        (WebCore::TransformOperations::isEmpty):
        (WebCore::TransformOperations::size):
        (WebCore::TransformOperations::operator[]):
        (WebCore::TransformOperations::append):
        (WebCore::RenderStyle::transform):
        (WebCore::RenderStyle::setTransform):
        (WebCore::RenderStyle::initialTransform):

2007-10-30  Antti Koivisto  <antti@apple.com>

        Another Qt/GTK build fix.

        * bindings/js/JSHTMLElementWrapperFactory.cpp:

2007-10-30  Antti Koivisto  <antti@apple.com>

        Attempt to fix Qt/GTK build.

        * WebCore.pro:

2007-10-30  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/5549929> CrashTracer: [USER] 35 crashes at WebCore::CharacterData::insertData
        
        We were trying to insert a tab into a br, after the br incorrectly ended up inside
        a tab span.
        
        * editing/DeleteButtonController.cpp: 
        (WebCore::isDeletableElement): Changed to take in a const Node* instead of a Node*.
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::isTableRow): Ditto.
        * editing/IndentOutdentCommand.cpp:
        (WebCore::isIndentBlockquote): Ditto.
        (WebCore::isListOrIndentBlockquote): Ditto.
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Added, moved code from
        doApply here.
        (WebCore::InsertLineBreakCommand::doApply): 
        Don't upstream() the insertion position.  upstream()ing it will only have an effect
        when the insertion position is the first in its paragraph (since we canonicalize
        VisiblePositions to the upstream() candidate).  In this start of paragraph case, 
        upstream() can move outside inline elements like tab spans or elements that might
        have a different whitespace mode (added two test cases to cover these).
        Moved code to decide whether to insert a br or a '\n' to its own method.
        Removed special case code for inserting at a position inside a tab span.  We instead
        adjust the insertion position before insertion if it is inside a tab span and
        handle insertion in the appropriate if-block.  This fixes a bug where we would 
        only insert one line break when two were needed (added a testcase).
        Removed special case code for inserting before and after tables and horizontal
        rules.  We handle these insertions in the appropriate if-block.
        * editing/InsertLineBreakCommand.h:
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::isMailPasteAsQuotationNode): Change to take in a const Node*.
        * editing/htmlediting.cpp:
        (WebCore::isContentEditable): Ditto.
        (WebCore::isBlock): Ditto.
        (WebCore::enclosingNodeOfType): Changed to take a function pointer to a function
        that takes in a const Node*.
        (WebCore::isTabSpanTextNode): Check to see that the node actually a text node,
        and not, say, a br.
        * editing/htmlediting.h:
        * editing/markup.cpp:
        (WebCore::styleFromMatchedRulesAndInlineDecl): Changed to take in a const Node*.
        (WebCore::elementHasTextDecorationProperty): Ditto.

2007-10-30  Antti Koivisto  <antti@apple.com>

        Reviewed by NOBODY.

        Add missing files.

        * html/VoidCallback.cpp: Added.
        (VoidCallback::VoidCallback):
        (VoidCallback::~VoidCallback):
        (VoidCallback::handleEvent):
        (VoidCallback::execute):
        (VoidCallback::operator==):
        (WebCore::toVoidCallback):
        * html/VoidCallback.h: Added.
        * html/VoidCallback.idl: Added.

2007-10-30  David Kilzer  <ddkilzer@webkit.org>

        Generated files missing from WebCore's Xcode project file
        <http://bugs.webkit.org/show_bug.cgi?id=15406>

        Reviewed by Darin.

        Added the following files to the Xcode project file (note that
        JSHTMLInputElementBaseTable.cpp is used as a header file):

        - DOMCSSStyleSheetPrivate.h
        - DOMEventPrivate.h
        - DOMHTMLCollectionPrivate.h
        - DOMHTMLEmbedElementPrivate.h
        - DOMHTMLIFrameElementPrivate.h
        - DOMHTMLObjectElementPrivate.h
        - DOMHTMLSelectElementPrivate.h
        - DOMTextEventInternal.h
        - JSHTMLInputElementBaseTable.cpp

        * DerivedSources.make: Removed DOMSVGException.h and JSSVGAnimatedPoints.h
        since their generated code was not used.
        * WebCore.xcodeproj/project.pbxproj: Added missing header files.

2007-10-29  Antti Koivisto  <antti@apple.com>

        Rubber stamped by Adele.

        Initial media (<video> and <audio>) support from feature branch and 
        QTKit based platform implementation.
        
        This will need to be updated to match current draft specification.

        * Configurations/WebCore.xcconfig:
        * DerivedSources.make:
        * WebCore.base.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSHTMLAudioElementConstructor.cpp: Added.
        (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor):
        (WebCore::JSHTMLAudioElementConstructor::implementsConstruct):
        (WebCore::JSHTMLAudioElementConstructor::construct):
        * bindings/js/JSHTMLAudioElementConstructor.h: Added.
        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        (WebCore::createJSHTMLWrapper):
        * bindings/js/kjs_window.cpp:
        (KJS::Window::getValueProperty):
        * bindings/js/kjs_window.h:
        (KJS::Window::):
        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/Document.cpp:
        (WebCore::Document::createEvent):
        (WebCore::Document::willSaveToCache):
        (WebCore::Document::didRestoreFromCache):
        (WebCore::Document::registerForCacheCallbacks):
        (WebCore::Document::unregisterForCacheCallbacks):
        * dom/Document.h:
        * dom/Element.cpp:
        (WebCore::Element::setBooleanAttribute):
        * dom/Element.h:
        (WebCore::Element::willSaveToCache):
        * dom/Event.cpp:
        (WebCore::Event::isProgressEvent):
        * dom/Event.h:
        * dom/EventNames.h:
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchProgressEvent):
        * dom/EventTargetNode.h:
        * dom/ProgressEvent.cpp: Added.
        (WebCore::ProgressEvent::ProgressEvent):
        (WebCore::ProgressEvent::initProgressEvent):
        (WebCore::ProgressEvent::initProgressEventNS):
        * dom/ProgressEvent.h: Added.
        (WebCore::ProgressEvent::lengthComputable):
        (WebCore::ProgressEvent::loaded):
        (WebCore::ProgressEvent::total):
        (WebCore::ProgressEvent::isProgressEvent):
        * dom/ProgressEvent.idl: Added.
        * history/CachedPage.cpp:
        (WebCore::CachedPage::CachedPage):
        * html/HTMLAttributeNames.in:
        * html/HTMLAudioElement.cpp: Added.
        (WebCore::HTMLAudioElement::HTMLAudioElement):
        * html/HTMLAudioElement.h: Added.
        (WebCore::HTMLAudioElement::tagPriority):
        * html/HTMLAudioElement.idl: Added.
        * html/HTMLElement.cpp:
        (WebCore::inlineTagList):
        * html/HTMLElementFactory.cpp:
        (WebCore::audioConstructor):
        (WebCore::videoConstructor):
        (WebCore::sourceConstructor):
        (WebCore::createFunctionMap):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::~HTMLInputElement):
        (WebCore::HTMLInputElement::setInputType):
        (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
        (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
        * html/HTMLMediaElement.cpp: Added.
        (WebCore::HTMLMediaElement::HTMLMediaElement):
        (WebCore::HTMLMediaElement::~HTMLMediaElement):
        (WebCore::HTMLMediaElement::checkDTD):
        (WebCore::HTMLMediaElement::rendererIsNeeded):
        (WebCore::HTMLMediaElement::createRenderer):
        (WebCore::HTMLMediaElement::insertedIntoDocument):
        (WebCore::HTMLMediaElement::removedFromDocument):
        (WebCore::HTMLMediaElement::scheduleLoad):
        (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
        (WebCore::HTMLMediaElement::dispatchEventAsync):
        (WebCore::HTMLMediaElement::loadTimerFired):
        (WebCore::HTMLMediaElement::asyncEventTimerFired):
        (WebCore::serializeTimeOffset):
        (WebCore::parseTimeOffset):
        (WebCore::HTMLMediaElement::getTimeOffsetAttribute):
        (WebCore::HTMLMediaElement::setTimeOffsetAttribute):
        (WebCore::HTMLMediaElement::error):
        (WebCore::HTMLMediaElement::src):
        (WebCore::HTMLMediaElement::HTMLMediaElement::setSrc):
        (WebCore::HTMLMediaElement::currentSrc):
        (WebCore::HTMLMediaElement::networkState):
        (WebCore::HTMLMediaElement::bufferingRate):
        (WebCore::HTMLMediaElement::load):
        (WebCore::HTMLMediaElement::movieNetworkStateChanged):
        (WebCore::HTMLMediaElement::movieReadyStateChanged):
        (WebCore::HTMLMediaElement::setReadyState):
        (WebCore::HTMLMediaElement::progressEventTimerFired):
        (WebCore::HTMLMediaElement::seek):
        (WebCore::HTMLMediaElement::readyState):
        (WebCore::HTMLMediaElement::seeking):
        (WebCore::HTMLMediaElement::currentTime):
        (WebCore::HTMLMediaElement::setCurrentTime):
        (WebCore::HTMLMediaElement::duration):
        (WebCore::HTMLMediaElement::paused):
        (WebCore::HTMLMediaElement::defaultPlaybackRate):
        (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
        (WebCore::HTMLMediaElement::playbackRate):
        (WebCore::HTMLMediaElement::setPlaybackRate):
        (WebCore::HTMLMediaElement::ended):
        (WebCore::HTMLMediaElement::autoplay):
        (WebCore::HTMLMediaElement::setAutoplay):
        (WebCore::HTMLMediaElement::play):
        (WebCore::HTMLMediaElement::pause):
        (WebCore::HTMLMediaElement::loopCount):
        (WebCore::HTMLMediaElement::setLoopCount):
        (WebCore::HTMLMediaElement::start):
        (WebCore::HTMLMediaElement::setStart):
        (WebCore::HTMLMediaElement::end):
        (WebCore::HTMLMediaElement::setEnd):
        (WebCore::HTMLMediaElement::loopStart):
        (WebCore::HTMLMediaElement::setLoopStart):
        (WebCore::HTMLMediaElement::loopEnd):
        (WebCore::HTMLMediaElement::setLoopEnd):
        (WebCore::HTMLMediaElement::currentLoop):
        (WebCore::HTMLMediaElement::setCurrentLoop):
        (WebCore::HTMLMediaElement::controls):
        (WebCore::HTMLMediaElement::setControls):
        (WebCore::HTMLMediaElement::volume):
        (WebCore::HTMLMediaElement::setVolume):
        (WebCore::HTMLMediaElement::muted):
        (WebCore::HTMLMediaElement::setMuted):
        (WebCore::HTMLMediaElement::pickMedia):
        (WebCore::HTMLMediaElement::checkIfSeekNeeded):
        (WebCore::HTMLMediaElement::movieVolumeChanged):
        (WebCore::HTMLMediaElement::movieDidEnd):
        (WebCore::HTMLMediaElement::movieCuePointReached):
        (WebCore::HTMLMediaElement::addCuePoint):
        (WebCore::HTMLMediaElement::removeCuePoint):
        (WebCore::HTMLMediaElement::buffered):
        (WebCore::HTMLMediaElement::played):
        (WebCore::HTMLMediaElement::seekable):
        (WebCore::HTMLMediaElement::effectiveStart):
        (WebCore::HTMLMediaElement::effectiveEnd):
        (WebCore::HTMLMediaElement::effectiveLoopStart):
        (WebCore::HTMLMediaElement::effectiveLoopEnd):
        (WebCore::HTMLMediaElement::activelyPlaying):
        (WebCore::HTMLMediaElement::endedPlayback):
        (WebCore::HTMLMediaElement::willSaveToCache):
        (WebCore::HTMLMediaElement::didRestoreFromCache):
        * html/HTMLMediaElement.h: Added.
        (WebCore::HTMLMediaElement::movie):
        (WebCore::HTMLMediaElement::isVideo):
        (WebCore::HTMLMediaElement::):
        (WebCore::HTMLMediaElement::CallbackEntry::CallbackEntry):
        * html/HTMLMediaElement.idl: Added.
        * html/HTMLSourceElement.cpp: Added.
        (WebCore::HTMLSourceElement::HTMLSourceElement):
        (WebCore::HTMLSourceElement::~HTMLSourceElement):
        (WebCore::HTMLSourceElement::insertedIntoDocument):
        (WebCore::HTMLSourceElement::src):
        (WebCore::HTMLSourceElement::setSrc):
        (WebCore::HTMLSourceElement::media):
        (WebCore::HTMLSourceElement::setMedia):
        (WebCore::HTMLSourceElement::type):
        (WebCore::HTMLSourceElement::setType):
        * html/HTMLSourceElement.h: Added.
        (WebCore::HTMLSourceElement::endTagRequirement):
        (WebCore::HTMLSourceElement::tagPriority):
        * html/HTMLSourceElement.idl: Added.
        * html/HTMLTagNames.in:
        * html/HTMLVideoElement.cpp: Added.
        (WebCore::HTMLVideoElement::HTMLVideoElement):
        (WebCore::HTMLVideoElement::videoWidth):
        (WebCore::HTMLVideoElement::videoHeight):
        * html/HTMLVideoElement.h: Added.
        (WebCore::HTMLVideoElement::tagPriority):
        (WebCore::HTMLVideoElement::isVideo):
        * html/HTMLVideoElement.idl: Added.
        * html/MediaError.h: Added.
        (WebCore::MediaError::):
        (WebCore::MediaError::MediaError):
        (WebCore::MediaError::code):
        * html/MediaError.idl: Added.
        * html/TimeRanges.cpp: Added.
        (TimeRanges::TimeRanges):
        (TimeRanges::start):
        (TimeRanges::end):
        (TimeRanges::add):
        (TimeRanges::contain):
        * html/TimeRanges.h: Added.
        (WebCore::TimeRanges::TimeRanges):
        (WebCore::TimeRanges::length):
        (WebCore::TimeRanges::Range::Range):
        * html/TimeRanges.idl: Added.
        * page/DOMWindow.idl:
        * platform/MIMETypeRegistry.cpp:
        (WebCore::initialiseSupportedMovieMIMETypes):
        (WebCore::initialiseMIMETypeRegistry):
        (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
        (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
        * platform/MIMETypeRegistry.h:
        * platform/graphics/Movie.cpp: Added.
        (WebCore::Movie::Movie):
        (WebCore::Movie::~Movie):
        (WebCore::Movie::load):
        (WebCore::Movie::cancelLoad):
        (WebCore::Movie::play):
        (WebCore::Movie::pause):
        (WebCore::Movie::duration):
        (WebCore::Movie::currentTime):
        (WebCore::Movie::seek):
        (WebCore::Movie::paused):
        (WebCore::Movie::seeking):
        (WebCore::Movie::naturalSize):
        (WebCore::Movie::hasVideo):
        (WebCore::Movie::networkState):
        (WebCore::Movie::readyState):
        (WebCore::Movie::volume):
        (WebCore::Movie::setVolume):
        (WebCore::Movie::rate):
        (WebCore::Movie::setRate):
        (WebCore::Movie::muted):
        (WebCore::Movie::setMuted):
        (WebCore::Movie::dataRate):
        (WebCore::Movie::setEndTime):
        (WebCore::Movie::addCuePoint):
        (WebCore::Movie::removeCuePoint):
        (WebCore::Movie::clearCuePoints):
        (WebCore::Movie::maxTimeBuffered):
        (WebCore::Movie::maxTimeSeekable):
        (WebCore::Movie::bytesLoaded):
        (WebCore::Movie::totalBytesKnown):
        (WebCore::Movie::totalBytes):
        (WebCore::Movie::setRect):
        (WebCore::Movie::visible):
        (WebCore::Movie::setVisible):
        (WebCore::Movie::paint):
        (WebCore::Movie::getSupportedTypes):
        (WebCore::Movie::networkStateChanged):
        (WebCore::Movie::readyStateChanged):
        (WebCore::Movie::volumeChanged):
        (WebCore::Movie::didEnd):
        (WebCore::Movie::cuePointReached):
        * platform/graphics/Movie.h: Added.
        (WebCore::MovieClient::~MovieClient):
        (WebCore::MovieClient::movieNetworkStateChanged):
        (WebCore::MovieClient::movieReadyStateChanged):
        (WebCore::MovieClient::movieVolumeChanged):
        (WebCore::MovieClient::movieDidEnd):
        (WebCore::MovieClient::movieCuePointReached):
        (WebCore::Movie::parentWidget):
        (WebCore::Movie::setParentWidget):
        (WebCore::Movie::rect):
        (WebCore::Movie::):
        * platform/graphics/mac/MoviePrivateQTKit.h: Added.
        * platform/graphics/mac/MoviePrivateQTKit.mm: Added.
        (WebCore::MoviePrivate::MoviePrivate):
        (WebCore::MoviePrivate::~MoviePrivate):
        (WebCore::MoviePrivate::createQTMovie):
        (WebCore::MoviePrivate::createQTMovieView):
        (WebCore::MoviePrivate::createQTTime):
        (WebCore::MoviePrivate::load):
        (WebCore::MoviePrivate::play):
        (WebCore::MoviePrivate::pause):
        (WebCore::MoviePrivate::duration):
        (WebCore::MoviePrivate::currentTime):
        (WebCore::MoviePrivate::seek):
        (WebCore::MoviePrivate::setEndTime):
        (WebCore::MoviePrivate::addCuePoint):
        (WebCore::MoviePrivate::removeCuePoint):
        (WebCore::MoviePrivate::clearCuePoints):
        (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
        (WebCore::MoviePrivate::cancelSeek):
        (WebCore::MoviePrivate::seekTimerFired):
        (WebCore::MoviePrivate::cuePointTimerFired):
        (WebCore::MoviePrivate::paused):
        (WebCore::MoviePrivate::seeking):
        (WebCore::MoviePrivate::naturalSize):
        (WebCore::MoviePrivate::hasVideo):
        (WebCore::MoviePrivate::setVolume):
        (WebCore::MoviePrivate::setMuted):
        (WebCore::MoviePrivate::setRate):
        (WebCore::MoviePrivate::dataRate):
        (WebCore::MoviePrivate::networkState):
        (WebCore::MoviePrivate::readyState):
        (WebCore::MoviePrivate::maxTimeBuffered):
        (WebCore::MoviePrivate::maxTimeSeekable):
        (WebCore::MoviePrivate::maxTimeLoaded):
        (WebCore::MoviePrivate::bytesLoaded):
        (WebCore::MoviePrivate::totalBytesKnown):
        (WebCore::MoviePrivate::totalBytes):
        (WebCore::MoviePrivate::cancelLoad):
        (WebCore::MoviePrivate::updateStates):
        (WebCore::MoviePrivate::loadStateChanged):
        (WebCore::MoviePrivate::rateChanged):
        (WebCore::MoviePrivate::sizeChanged):
        (WebCore::MoviePrivate::timeChanged):
        (WebCore::MoviePrivate::volumeChanged):
        (WebCore::MoviePrivate::didEnd):
        (WebCore::MoviePrivate::setRect):
        (WebCore::MoviePrivate::setVisible):
        (WebCore::MoviePrivate::paint):
        (WebCore::MoviePrivate::getSupportedTypes):
        (-[WebCoreMovieObserver loadStateChanged:]):
        (-[WebCoreMovieObserver rateChanged:]):
        (-[WebCoreMovieObserver sizeChanged:]):
        (-[WebCoreMovieObserver timeChanged:]):
        (-[WebCoreMovieObserver volumeChanged:]):
        (-[WebCoreMovieObserver didEnd:]):
        (-[WebCoreMovieObserver setCallback:WebCore::]):
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::collectLayers):
        * rendering/RenderVideo.cpp: Added.
        (WebCore::RenderVideo::RenderVideo):
        (WebCore::RenderVideo::~RenderVideo):
        (WebCore::RenderVideo::movie):
        (WebCore::RenderVideo::videoSizeChanged):
        (WebCore::RenderVideo::paint):
        (WebCore::RenderVideo::layout):
        (WebCore::RenderVideo::updateFromElement):
        (WebCore::RenderVideo::updateMovie):
        (WebCore::RenderVideo::isWidthSpecified):
        (WebCore::RenderVideo::isHeightSpecified):
        (WebCore::RenderVideo::calcReplacedWidth):
        (WebCore::RenderVideo::calcReplacedHeight):
        (WebCore::RenderVideo::calcAspectRatioWidth):
        (WebCore::RenderVideo::calcAspectRatioHeight):
        (WebCore::RenderVideo::calcPrefWidths):
        * rendering/RenderVideo.h: Added.
        (WebCore::RenderVideo::renderName):

2007-10-30  Sam Weinig  <sam@webkit.org>

        Reviewed by Adam Roben.

        Add Interface and Class UUIDs to the IDLs in preparation of adding
        autogeneration of the COM DOM bindings.

        * bindings/scripts/IDLParser.pm: Relax parsing rules to allow newlines as whitespace.
        * css/CSSCharsetRule.idl:
        * css/CSSFontFaceRule.idl:
        * css/CSSImportRule.idl:
        * css/CSSMediaRule.idl:
        * css/CSSPageRule.idl:
        * css/CSSPrimitiveValue.idl:
        * css/CSSRule.idl:
        * css/CSSRuleList.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleRule.idl:
        * css/CSSStyleSheet.idl:
        * css/CSSUnknownRule.idl:
        * css/CSSValue.idl:
        * css/CSSValueList.idl:
        * css/Counter.idl:
        * css/MediaList.idl:
        * css/RGBColor.idl:
        * css/Rect.idl:
        * css/StyleSheet.idl:
        * css/StyleSheetList.idl:
        * dom/Attr.idl:
        * dom/CDATASection.idl:
        * dom/CharacterData.idl:
        * dom/Comment.idl:
        * dom/DOMImplementation.idl:
        * dom/Document.idl:
        * dom/DocumentFragment.idl:
        * dom/DocumentType.idl:
        * dom/Element.idl:
        * dom/Entity.idl:
        * dom/EntityReference.idl:
        * dom/Event.idl:
        * dom/EventListener.idl:
        * dom/EventTarget.idl:
        * dom/NamedNodeMap.idl:
        * dom/Node.idl:
        * dom/NodeList.idl:
        * dom/Notation.idl:
        * dom/ProcessingInstruction.idl:
        * dom/Text.idl:
        * html/CanvasGradient.idl:
        * html/CanvasPattern.idl:
        * html/CanvasRenderingContext2D.idl:
        * html/HTMLAnchorElement.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLBRElement.idl:
        * html/HTMLBaseElement.idl:
        * html/HTMLBaseFontElement.idl:
        * html/HTMLBlockquoteElement.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLCanvasElement.idl:
        * html/HTMLCollection.idl:
        * html/HTMLDListElement.idl:
        * html/HTMLDirectoryElement.idl:
        * html/HTMLDivElement.idl:
        * html/HTMLDocument.idl:
        * html/HTMLElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFieldSetElement.idl:
        * html/HTMLFontElement.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLFrameSetElement.idl:
        * html/HTMLHRElement.idl:
        * html/HTMLHeadElement.idl:
        * html/HTMLHeadingElement.idl:
        * html/HTMLHtmlElement.idl:
        * html/HTMLIFrameElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLIsIndexElement.idl:
        * html/HTMLLIElement.idl:
        * html/HTMLLabelElement.idl:
        * html/HTMLLegendElement.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLMapElement.idl:
        * html/HTMLMarqueeElement.idl:
        * html/HTMLMenuElement.idl:
        * html/HTMLMetaElement.idl:
        * html/HTMLModElement.idl:
        * html/HTMLOListElement.idl:
        * html/HTMLObjectElement.idl:
        * html/HTMLOptGroupElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLOptionsCollection.idl:
        * html/HTMLParagraphElement.idl:
        * html/HTMLParamElement.idl:
        * html/HTMLPreElement.idl:
        * html/HTMLQuoteElement.idl:
        * html/HTMLScriptElement.idl:
        * html/HTMLSelectElement.idl:
        * html/HTMLStyleElement.idl:
        * html/HTMLTableCaptionElement.idl:
        * html/HTMLTableCellElement.idl:
        * html/HTMLTableColElement.idl:
        * html/HTMLTableElement.idl:
        * html/HTMLTableRowElement.idl:
        * html/HTMLTableSectionElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/HTMLTitleElement.idl:
        * html/HTMLUListElement.idl:

2007-10-30  Adele Peterson  <adele@apple.com>

        RS by Darin.

        * page/AnimationController.cpp: (WebCore::blendFunc): Use lround instead of round.

2007-10-29  Timothy Hatcher  <timothy@apple.com>

        Reviewed by John Sullivan.

        - Allow showing and closing the inspector programatically.
        - Add showConsole() and showTimeline() methods. 

        * WebCore.base.exp: Add exports for WebKit.
        * page/InspectorController.cpp:
        (WebCore::callSimpleFunction): Renamed from callClearFunction().
        (WebCore::unloading): Renamed to close().
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::inspect): Moved showing code to show().
        (WebCore::InspectorController::setWindowVisible): Show the timeline or console if needed.
        (WebCore::InspectorController::show): Code factored out of inspect().
        (WebCore::InspectorController::showConsole): Call show() and the JS showConsole().
        (WebCore::InspectorController::showTimeline): Call show() and the JS showTimeline().
        (WebCore::InspectorController::close):
        (WebCore::InspectorController::clearScriptResources): Call the new callSimpleFunction.
        (WebCore::InspectorController::clearDatabaseScriptResources): Ditto.
        (WebCore::InspectorController::clearScriptConsoleMessages): Ditto.
        (WebCore::InspectorController::clearNetworkTimeline): Ditto.
        * page/InspectorController.h: Add and rename methods.
        * page/inspector/inspector.js: Add showConsole() and showTimeline().

2007-10-30  Adele Peterson  <adele@apple.com>

        Reviewed by Sam.

        Build fix.

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

2007-10-30  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
        <rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields

        Test: manual-tests/password-caps-lock.html

        * WebCore.base.exp: Added symbol for capsLockStateMayHaveChanged.

        * page/Frame.cpp: (WebCore::Frame::setIsActive): Calls capsLockStateMayHaveChanged.
        * page/EventHandler.cpp: (WebCore::EventHandler::capsLockStateMayHaveChanged): Added. Tells the focused node's renderer that the capsLockStateMayHaveChanged.
        * page/EventHandler.h:

        * platform/PlatformKeyboardEvent.h:
        * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added.
        * platform/win/KeyEventWin.cpp: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added.

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::RenderTextControl):
        (WebCore::RenderTextControl::paint): Added.  If m_shouldDrawCapsLockIndicator is true, paints the caps lock indicator after the background.
        (WebCore::RenderTextControl::forwardEvent): When the control gets and loses focus, update the caps lock state.
        (WebCore::RenderTextControl::capsLockStateMayHaveChanged): Added. Updates m_shouldDrawCapsLockIndicator, which is true if the field is a password field, 
         and the frame is active, and the element is focused, and the caps lock is on.  Causes a repaint when m_shouldDrawCapsLockIndicator changes state.
        * rendering/RenderTextControl.h: Added m_shouldDrawCapsLockIndicator.
        * rendering/RenderObject.h: (WebCore::RenderObject::capsLockStateMayHaveChanged): Added.

        * rendering/RenderTheme.h: (WebCore::RenderTheme::paintCapsLockIndicator): Added.
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintCapsLockIndicator): Added.  Calls wkDrawCapsLockIndicator.
        * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintCapsLockIndicator): Added.  Calls paintThemePart for the CapsLockPart.
        * rendering/RenderThemeSafari.h:

2007-10-30  David Hyatt  <hyatt@apple.com>

        Land support for implicit animation in CSS.

        Reviewed by mitz, darin

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseTimingFunctionValue):
        (WebCore::CSSParser::parseTransitionTimingFunction):
        (WebCore::CSSParser::parseTransitionProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::mapTransitionDuration):
        (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
        (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
        (WebCore::CSSStyleSelector::mapTransitionProperty):
        * css/CSSTimingFunctionValue.h:
        (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
        (WebCore::CSSTimingFunctionValue::x1):
        (WebCore::CSSTimingFunctionValue::y1):
        (WebCore::CSSTimingFunctionValue::x2):
        (WebCore::CSSTimingFunctionValue::y2):
        * dom/Element.cpp:
        (WebCore::Element::styleForRenderer):
        (WebCore::Element::createRenderer):
        * dom/Node.cpp:
        (WebCore::Node::createRendererIfNeeded):
        (WebCore::Node::setRenderStyle):
        * page/AnimationController.cpp:
        (WebCore::CurveData::CurveData):
        (WebCore::CurveData::sampleCurveX):
        (WebCore::CurveData::sampleCurveY):
        (WebCore::CurveData::sampleCurveDerivativeX):
        (WebCore::CurveData::solveCurveX):
        (WebCore::solveEpsilon):
        (WebCore::solveCubicBezierFunction):
        (WebCore::ImplicitAnimation::finished):
        (WebCore::CompositeImplicitAnimation::~CompositeImplicitAnimation):
        (WebCore::CompositeImplicitAnimation::hasAnimationForProperty):
        (WebCore::ImplicitAnimation::ImplicitAnimation):
        (WebCore::ImplicitAnimation::~ImplicitAnimation):
        (WebCore::ImplicitAnimation::reset):
        (WebCore::ImplicitAnimation::progress):
        (WebCore::blendFunc):
        (WebCore::ImplicitAnimation::animate):
        (WebCore::CompositeImplicitAnimation::animate):
        (WebCore::CompositeImplicitAnimation::animating):
        (WebCore::CompositeImplicitAnimation::reset):
        (WebCore::AnimationControllerPrivate::hasImplicitAnimations):
        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
        (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate):
        (WebCore::AnimationControllerPrivate::get):
        (WebCore::AnimationControllerPrivate::clear):
        (WebCore::AnimationControllerPrivate::updateTimer):
        (WebCore::AnimationControllerPrivate::timerFired):
        (WebCore:::m_data):
        (WebCore::AnimationController::~AnimationController):
        (WebCore::AnimationController::cancelImplicitAnimations):
        (WebCore::AnimationController::updateImplicitAnimations):
        (WebCore::AnimationController::suspendAnimations):
        (WebCore::AnimationController::resumeAnimations):
        * page/AnimationController.h:
        * page/Frame.cpp:
        (WebCore::FramePrivate::FramePrivate):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::setStyle):
        (WebCore::RenderBox::destroy):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setAnimatableStyle):
        (WebCore::RenderObject::destroy):
        * rendering/RenderObject.h:
        * rendering/RenderStyle.h:
        (WebCore::TimingFunction::TimingFunction):
        (WebCore::TimingFunction::operator==):
        (WebCore::TimingFunction::x1):
        (WebCore::TimingFunction::y1):
        (WebCore::TimingFunction::x2):
        (WebCore::TimingFunction::y2):
        (WebCore::TimingFunction::type):
        (WebCore::Transition::transitionProperty):
        (WebCore::Transition::setTransitionProperty):
        (WebCore::RenderStyle::initialTransitionProperty):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::destroy):

2007-10-29  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt.

        Fix for <rdar://problem/5399614> anchor tag is not rendered without 
        text content, works in Firefox with CSS background-image (13237)

        This patch allows empty inlines that have box decorations or width 
        from border/padding/margin to have line boxes.

        * rendering/bidi.cpp:
        (WebCore::inlineFlowAllowsLineBox): Convenience function that 
        defines when we allow an inline flow to have a line box.
        (WebCore::requiresLineBox): Call inlineFlowAllowsLineBox.
        (WebCore::shouldSkipWhitespaceAfterStartObject): New function to 
        merge some shared code between list markers and empty inline flows 
        that fall at the beginning of a line.
        (WebCore::RenderBlock::findNextLineBreak): Make flows more like 
        list markers.

        One interesting side effect of this bug appeared in our xhtml/svg 
        tests that generate parser error tags. The tag we generate was 
        actually an empty inline with box decorations. This patch causes 
        those inlines to draw now, and the parser errors looked strange. So 
        I changed it so that the parsererror tag is display:block. This 
        matches Firefox, and I think was the original intent of the tag 
        since that causes its red background and border to show up.
        * dom/XMLTokenizer.cpp:
        (WebCore::createXHTMLParserErrorHeader):

2007-10-29  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix crashing tests fast/frames/inline-object-inside-frameset.html and
          fast/forms/form-hides-table.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::destroy):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::destroy):

2007-10-29  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adam Roben.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15750
          REGRESSION(r27173): Web Inspector freezes beneath Image::drawPattern()

        Test: fast/backgrounds/size/zero.html

        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::Image::drawPattern): Added an ASSERT and an early return
        to guard against singular pattern transforms.
        * rendering/RenderBox.cpp:
        (WebCore::cacluateBackgroundSize): Changed to ensure a minimum tile
        size of 1x1.

2007-10-29  Alp Toker  <alp@atoker.com>

        Reviewed by Maciej.

        Add GTK+ convenience conversions for various primitives

        * WebCore.pro:
        * platform/graphics/Color.h:
        * platform/graphics/IntPoint.h:
        * platform/graphics/IntRect.h:
        * platform/graphics/gtk/ColorGtk.cpp: Added.
        (WebCore::Color::Color):
        * platform/graphics/gtk/IntPointGtk.cpp: Added.
        (WebCore::IntPoint::IntPoint):
        (WebCore::IntPoint::operator GdkPoint):
        * platform/graphics/gtk/IntRectGtk.cpp: Added.
        (WebCore::IntRect::IntRect):
        (WebCore::IntRect::operator GdkRectangle):

2007-10-29  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Anders.

        Speculative fix for <rdar://5538489> Safari 3.0.4 seed hangs at
        http://tgmonline.futuregamer.it/ (works fine on Safari 2.0.4 and Safari
        Beta for Mac)
        
        I cannot reproduce this hang, but it is likely due to our not limiting
        WM_USER+1 messages or InvalidateRect calls for a plugin with initially-
        unknown MIME type. The embed tag on the page is missing a type
        attribute, so as fallback, we choose to load the Flash plugin based on
        the file extension of "swf." However, we do not record this determined
        MIME type, and so our quirks cannot be established.
        
        Changed findPlugin() so that, if it fails to find a plugin for the
        given MIME type, it will lookup the MIME type for the file extension -
        overwriting its passed MIME type parameter - and search for a plugin
        for that MIME type.

        * plugins/win/PluginDatabaseWin.cpp:
        (WebCore::PluginDatabaseWin::pluginForMIMEType): Added an early return
        if the MIME type is empty
        (WebCore::PluginDatabaseWin::MIMETypeForExtension): Added to replace
        pluginForExtension. Returns a String with the MIME type for the file
        extension. Also, changed to use case-insensitive compares
        (WebCore::PluginDatabaseWin::findPlugin): If we fail to find a plugin
        for the given extension, overwrite the incoming MIME type parameter
        with the MIME type for the file extension, and search for a plugin for
        that MIME type. Also, changed the way that the extension is determined
        (WebCore::PluginDatabaseWin::createPluginView): Pass a mutable String
        to findPlugin() so that it can be updated if necessary
        * plugins/win/PluginDatabaseWin.h: Changed findPlugin() to take a non-
        const String, removed definition of pluginForExtension, added
        definition for MIMETypeForExtension
        * plugins/win/PluginPackageWin.cpp: 
        (WebCore::PluginPackageWin::fetchInfo): Store the MIME type in
        lowercase for easier compares

2007-10-29  Andrew Wellington  <proton@wiretapped.net>

        Not reviewed - build fix

        Fix Mac Build.
        
        WebKit/WebCore/xml/XSLTProcessor.cpp:79: warning: 'level' may be used uninitialized
        in this function

        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::parseErrorFunc):

2007-10-29  Alp Toker  <alp@atoker.com>

        Reviewed by Adam Roben.

        http://bugs.webkit.org/show_bug.cgi?id=15725
        [GTK] WebCore.pro header dependencies are incorrect

        Fix header dependencies in the build system

        INCLUDEPATH and DEPENDPATH are now up to date.

        * WebCore.pro:

2007-10-29  Beth Dakin  <bdakin@apple.com>

        Build fix.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseTimingFunctionValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::mapTransitionTimingFunction):

2007-10-29  David Hyatt  <hyatt@apple.com>

        Land the back end for CSS animated property transitions.  I am landing this in stages, so the AnimationController
        class is deliberately left empty.

        Reviewed by darin/aroben

        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSPropertyNames.in:
        * css/CSSTimingFunctionValue.cpp: Added.
        (WebCore::CSSTimingFunctionValue::cssText):
        * css/CSSTimingFunctionValue.h: Added.
        (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
        (WebCore::CSSTimingFunctionValue::firstPoint):
        (WebCore::CSSTimingFunctionValue::secondPoint):
        * css/CSSValueKeywords.in:
        * history/CachedPage.cpp:
        (WebCore::CachedPage::restore):
        * page/AnimationController.cpp: Added.
        (WebCore::AnimationController::AnimationController):
        (WebCore::AnimationController::~AnimationController):
        (WebCore::AnimationController::cancelTransitions):
        (WebCore::AnimationController::updateTransitions):
        (WebCore::AnimationController::suspendAnimations):
        (WebCore::AnimationController::resumeAnimations):
        * page/AnimationController.h: Added.
        * page/Frame.cpp:
        (WebCore::Frame::animationController):
        (WebCore::Frame::clearTimers):
        * page/Frame.h:
        * page/FramePrivate.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::setStyle):
        (WebCore::RenderBox::destroy):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::animationController):
        * rendering/RenderObject.h:
        * rendering/RenderStyle.cpp:
        (WebCore::Transition::Transition):
        (WebCore::Transition::~Transition):
        (WebCore::Transition::operator=):
        (WebCore::Transition::operator==):
        (WebCore::Transition::fillUnsetProperties):
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        (WebCore::StyleRareNonInheritedData::transitionDataEquivalent):
        (WebCore::RenderStyle::diff):
        (WebCore::RenderStyle::adjustTransitions):
        (WebCore::RenderStyle::accessTransitions):
        * rendering/RenderStyle.h:
        (WebCore::BackgroundLayer::next):
        (WebCore::):
        (WebCore::TimingFunction::TimingFunction):
        (WebCore::TimingFunction::operator==):
        (WebCore::Transition::next):
        (WebCore::Transition::isTransitionDurationSet):
        (WebCore::Transition::isTransitionRepeatCountSet):
        (WebCore::Transition::isTransitionTimingFunctionSet):
        (WebCore::Transition::isTransitionPropertySet):
        (WebCore::Transition::isEmpty):
        (WebCore::Transition::clearTransitionDuration):
        (WebCore::Transition::clearTransitionRepeatCount):
        (WebCore::Transition::clearTransitionTimingFunction):
        (WebCore::Transition::clearTransitionProperty):
        (WebCore::Transition::transitionDuration):
        (WebCore::Transition::transitionRepeatCount):
        (WebCore::Transition::transitionTimingFunction):
        (WebCore::Transition::transitionProperty):
        (WebCore::Transition::setTransitionDuration):
        (WebCore::Transition::setTransitionRepeatCount):
        (WebCore::Transition::setTransitionTimingFunction):
        (WebCore::Transition::setTransitionProperty):
        (WebCore::Transition::setNext):
        (WebCore::Transition::operator!=):
        (WebCore::RenderStyle::transitions):
        (WebCore::RenderStyle::clearTransitions):
        (WebCore::RenderStyle::inheritTransitions):
        (WebCore::RenderStyle::initialTransitionDuration):
        (WebCore::RenderStyle::initialTransitionRepeatCount):
        (WebCore::RenderStyle::initialTransitionTimingFunction):
        (WebCore::RenderStyle::initialTransitionProperty):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::destroy):

2007-10-29  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=6040
        XSLT does not report errors to the user

        Made parseErrorFunc a static member function of XSLTProcessor to be reusable from XSLStylesheet.
        Switched to xmlSetStructuredErrorFunc to get an error structure instead of pre-formatted console
        output. Got rid of DeprecatedString in XSLTProcessor.

        * dom/Document.cpp:
        (WebCore::Document::applyXSLTransform):
        * xml/XSLStyleSheet.cpp:
        (WebCore::XSLStyleSheet::parseString):
        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::parseErrorFunc):
        (WebCore::docLoaderFunc):
        (WebCore::setXSLTLoadCallBack):
        (WebCore::writeToString):
        (WebCore::saveResultToString):
        (WebCore::transformTextStringToXHTMLDocumentString):
        (WebCore::xsltParamArrayFromParameterMap):
        (WebCore::freeXsltParamArray):
        (WebCore::XSLTProcessor::createDocumentFromSource):
        (WebCore::createFragmentFromSource):
        (WebCore::xsltStylesheetPointer):
        (WebCore::xmlDocPtrFromNode):
        (WebCore::resultMIMEType):
        (WebCore::XSLTProcessor::transformToString):
        (WebCore::XSLTProcessor::transformToDocument):
        (WebCore::XSLTProcessor::transformToFragment):
        * xml/XSLTProcessor.h:
        (WebCore::XSLTProcessor::setXSLStylesheet):
        (WebCore::XSLTProcessor::importStylesheet):
        (WebCore::XSLTProcessor::xslStylesheet):

2007-10-29  Dan Bernstein  <mitz@apple.com>

        Reviewed by John Sullivan.

        - fix <rdar://problem/5424455> REGRESSION (r21168-r21193, Tiger only): Safari scrollbar is clipped at top when loading particular RSS page

        Test: fast/repaint/layout-state-only-positioned.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutOnlyPositionedObjects): Pop layout state
        before updating scroll info, which possibly repaints us.

2007-10-29  David Kilzer  <ddkilzer@webkit.org>

        REGRESSION (r17701): Favicons should be viewable as image documents
        <http://bugs.webkit.org/show_bug.cgi?id=15640>

        Reviewed by Darin.

        On Tiger and Leopard, the image/x-icon MIME type is not returned from
        CGImageSourceCopyTypeIdentifiers(), so opening a URL to a favicon caused
        the icon to be downloaded instead being displayed in an image document.

        Test: fast/images/favicon-as-image.html

        * platform/MIMETypeRegistry.cpp:
        (WebCore::initialiseSupportedImageMIMETypes): Manually add image/x-icon to
        supportedImageMIMETypes and supportedImageResourceMIMETypes.  Also fixed
        comment about the image/bmp MIME type since it applies to both Tiger and
        Leopard.

2007-10-29  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Mark.

        - fixed assertion failures detected by the new assertions

        * bindings/objc/DOMRGBColor.mm:
        (-[DOMRGBColor dealloc]): Clear _internal before calling [super dealloc]
        because it's not a pointer and shouldn't be in the normal wrapper cache.
        * dom/Document.cpp:
        (WebCore::Document::addImageMap): Don't access hashmap if name is null.
        (WebCore::Document::removeImageMap): ditto
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::parseMappedAttribute): Don't claim we have a class
        when the class attribute is empty.
        * platform/TextCodecICU.cpp:
        (WebCore::gbkCallbackEscape): Don't look up 0 code points.

2007-10-28  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=10734
        Made HTMLOptionElement.index read-only, matching IE and DOM standard.

        Test: fast/dom/HTMLOptionElement/set-option-index-text.html

        * html/HTMLOptionElement.idl: Marked index as readonly.

        * html/HTMLOptionElement.cpp:
        * html/HTMLOptionElement.h:
        Removed setIndex().

2007-10-28  Eric Seidel  <eric@webkit.org>

        Reviewed by darin.

        Fix leaks on TOT and prevent Path code from logging to console so frequently

        * platform/graphics/svg/SVGResourceFilter.h:
        (WebCore::SVGResourceFilterPlatformData::SVGResourceFilterPlatformData):
        (WebCore::SVGResourceFilterPlatformData::~SVGResourceFilterPlatformData):
        * platform/graphics/svg/cg/CgSupport.cpp:
        (WebCore::strokeBoundingBox):
        * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
        * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:

2007-10-28  Mark Rowe  <mrowe@apple.com>

        Reviewed by Maciej.

        Replace uses of isNaN and isInf with isnan and isinf.

        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
        (WebCore::JSHTMLOptionsCollection::setLength):

2007-10-28  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Mark.

        - fixed REGRESSION(r27176): Reproducible crash while trying to order dinner makes bdash sad
        http://bugs.webkit.org/show_bug.cgi?id=15731

        * bindings/js/kjs_window.cpp:
        (KJS::Window::installTimeout): Avoid putting in or accessing empty or deleted keys.
        (KJS::Window::clearTimeout): ditto
        * manual-tests/bad-clearTimeout-crash.html: Added. Automated test not possible.

2007-10-28  Kevin Ollivier  <kevino@theolliviers.com>

        wx port defines for graphics and network layers.

        Reviewed by Darin Adler.

        * platform/graphics/AffineTransform.h:
        * platform/graphics/BitmapImage.h:
        * platform/graphics/Color.h:
        * platform/graphics/FloatRect.h:
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/ImageSource.h:
        * platform/graphics/IntPoint.h:
        * platform/graphics/IntRect.h:
        * platform/graphics/Path.h:
        * platform/graphics/Pen.h:
        * platform/network/ResourceHandle.h:


2007-10-28  Alp Toker  <alp@atoker.com>

        Reviewed by Anders Carlsson.

        http://bugs.webkit.org/show_bug.cgi?id=14124
        [CURL] Support data URLs

        Add data URL support (both Base64 and percent-encoded formats).

        Inspired by code from the Qt port.

        * platform/Base64.cpp:
        (WebCore::base64Decode):
        * platform/Base64.h:
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::startScheduledJobs):
        (WebCore::parseDataUrl):

2007-10-28  Alp Toker  <alp@atoker.com>

        Reviewed by Adam Roben.

        http://bugs.webkit.org/show_bug.cgi?id=15701
        The curl http backend does not deal properly with redirects

        Implement http redirect support.

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

2007-10-28  Kevin Ollivier  <kevino@theolliviers.com>

        Define types and accessors needed for wx implementation
        of platform classes. Also, turn off DisallowCTypes.h because
        disallowed methods appear in wx headers.

        Reviewed by Adam Roben.

        * config.h:
        * platform/ContextMenuItem.h:
        * platform/Cursor.h:
        * platform/DeprecatedString.h:
        * platform/DragData.h:
        * platform/DragImage.h:
        * platform/FontData.h:
        (WebCore::FontData::getWxFont):
        * platform/GlyphBuffer.h:
        (WebCore::GlyphBuffer::glyphAt):
        (WebCore::GlyphBuffer::advanceAt):
        (WebCore::GlyphBuffer::add):
        * platform/PlatformKeyboardEvent.h:
        (WebCore::PlatformKeyboardEvent::isWxCharEvent):
        * platform/PlatformMenuDescription.h:
        * platform/PlatformMouseEvent.h:
        * platform/PlatformString.h:
        * platform/PlatformWheelEvent.h:
        * platform/ScrollView.h:
        * platform/Widget.h:
        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        * platform/image-decoders/gif/GIFImageReader.cpp:
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        * platform/image-decoders/xbm/XBMImageDecoder.cpp:

2007-10-28  Mark Rowe  <mrowe@apple.com>

        We don't include "config.h" in headers.

        * dom/XMLTokenizer.h:
        * platform/graphics/svg/SVGResourceFilter.h:
        * platform/image-decoders/ImageDecoder.h:
        * platform/wx/FontPlatformData.h:

2007-10-28  Darin Adler  <darin@apple.com>

        * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
        We don't include "config.h" in headers. Hope this desn't break
        the non-SVG build again.

2007-10-28  Eric Seidel  <eric@webkit.org>

        Build fix for non-SVG build, no review.

        * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
        * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm:

2007-10-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Oliver.

        Push SVGResourceFilter platform specific data down into m_platformData
        in preparation for implementing a non-mac filter solution.
        
        Also update a very old email address in copyright headers

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/FloatPoint3D.cpp:
        (WebCore::FloatPoint3D::FloatPoint3D):
        * platform/graphics/FloatPoint3D.h:
        * platform/graphics/svg/SVGResourceFilter.cpp:
        (WebCore::SVGResourceFilter::SVGResourceFilter):
        * platform/graphics/svg/SVGResourceFilter.h:
        (WebCore::SVGResourceFilter::platformData):
        (WebCore::SVGResourceFilter::effects):
        * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
        (WebCore::SVGResourceFilter::createPlatformData):l
        (WebCore::SVGResourceFilter::prepareFilter):
        (WebCore::SVGResourceFilter::applyFilter):
        * platform/graphics/svg/filters/SVGDistantLightSource.h:
        * platform/graphics/svg/filters/SVGFEBlend.cpp:
        * platform/graphics/svg/filters/SVGFEBlend.h:
        * platform/graphics/svg/filters/SVGFEColorMatrix.cpp:
        * platform/graphics/svg/filters/SVGFEColorMatrix.h:
        * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp:
        * platform/graphics/svg/filters/SVGFEComponentTransfer.h:
        * platform/graphics/svg/filters/SVGFEComposite.cpp:
        * platform/graphics/svg/filters/SVGFEComposite.h:
        * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp:
        * platform/graphics/svg/filters/SVGFEConvolveMatrix.h:
        * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp:
        * platform/graphics/svg/filters/SVGFEDiffuseLighting.h:
        * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp:
        * platform/graphics/svg/filters/SVGFEDisplacementMap.h:
        * platform/graphics/svg/filters/SVGFEFlood.cpp:
        * platform/graphics/svg/filters/SVGFEFlood.h:
        * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp:
        * platform/graphics/svg/filters/SVGFEGaussianBlur.h:
        * platform/graphics/svg/filters/SVGFEImage.cpp:
        * platform/graphics/svg/filters/SVGFEImage.h:
        * platform/graphics/svg/filters/SVGFEMerge.cpp:
        * platform/graphics/svg/filters/SVGFEMerge.h:
        * platform/graphics/svg/filters/SVGFEMorphology.cpp:
        * platform/graphics/svg/filters/SVGFEMorphology.h:
        * platform/graphics/svg/filters/SVGFEOffset.cpp:
        * platform/graphics/svg/filters/SVGFEOffset.h:
        * platform/graphics/svg/filters/SVGFESpecularLighting.cpp:
        * platform/graphics/svg/filters/SVGFESpecularLighting.h:
        * platform/graphics/svg/filters/SVGFETile.h:
        * platform/graphics/svg/filters/SVGFETurbulence.cpp:
        * platform/graphics/svg/filters/SVGFETurbulence.h:
        * platform/graphics/svg/filters/SVGFilterEffect.cpp:
        * platform/graphics/svg/filters/SVGFilterEffect.h:
        * platform/graphics/svg/filters/SVGLightSource.cpp:
        * platform/graphics/svg/filters/SVGLightSource.h:
        * platform/graphics/svg/filters/SVGPointLightSource.h:
        * platform/graphics/svg/filters/SVGSpotLightSource.h:
        * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm:
        (WebCore::SVGFEBlend::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm:
        (WebCore::SVGFEColorMatrix::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm:
        (WebCore::SVGFEComponentTransfer::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm:
        (WebCore::SVGFEComposite::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm:
        (WebCore::SVGFEDiffuseLighting::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm:
        (WebCore::SVGFEDisplacementMap::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm:
        (WebCore::SVGFEFlood::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
        * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
        (WebCore::SVGFEImage::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm:
        (WebCore::SVGFEMerge::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm:
        (WebCore::SVGFESpecularLighting::getCIFilter):
        * platform/graphics/svg/mac: Added.
        * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: Added.
        * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: Added.
        (WebCore::SVGResourceFilterPlatformDataMac::SVGResourceFilterPlatformDataMac):
        (WebCore::SVGResourceFilterPlatformDataMac::~SVGResourceFilterPlatformDataMac):
        (WebCore::SVGResourceFilterPlatformDataMac::getCIFilterStack):
        (WebCore::alphaImageForImage):
        (WebCore::SVGResourceFilterPlatformDataMac::imageForName):
        (WebCore::SVGResourceFilterPlatformDataMac::setImageForName):
        (WebCore::SVGResourceFilterPlatformDataMac::setOutputImage):
        (WebCore::SVGResourceFilterPlatformDataMac::inputImage):

2007-10-28  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Adam Roben.

        http://bugs.webkit.org/show_bug.cgi?id=15217
        Plugin complains that xpcom_core.dll missing

        * plugins/win/PluginDatabaseWin.cpp:
        (WebCore::PluginDatabaseWin::isPluginBlacklisted): Blacklist npmozax.dll.

2007-10-28  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Adam.

        Pass the Document's domain to InspectorController:didOpenDatabase. This matches
        what the Inspector shows for other resources.

        * storage/Database.cpp:
        (WebCore::Database::openDatabase):

        * dom/Document.h: Remove KURL.h, no longer needed.

2007-10-28  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Adam.

        Bug 15728: Selected Resource background image gradient has banding
        http://bugs.webkit.org/show_bug.cgi?id=15728

        - Reduced images to 1px wide that are tiled horizontally in CSS.
        - Corrected the -webkit-background-size usage to specify auto for the width.

        * page/inspector/Images/attachedShadow.png:
        * page/inspector/Images/bottomShadow.png:
        * page/inspector/Images/darkShadow.png:
        * page/inspector/Images/gradient.png:
        * page/inspector/Images/gradientHighlight.png:
        * page/inspector/Images/gradientHighlightBottom.png:
        * page/inspector/Images/sidebarSelection.png:
        * page/inspector/Images/sidebarSelectionBlurred.png:
        * page/inspector/Images/sidebarSelectionBlurredTall.png:
        * page/inspector/Images/sidebarSelectionGray.png:
        * page/inspector/Images/sidebarSelectionGrayTall.png:
        * page/inspector/Images/sidebarSelectionTall.png:
        * page/inspector/inspector.css:

2007-10-27  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Adam.

        Bug 15727: Resizing the resource sidebar doesn't scale the font preview or network timeline
        http://bugs.webkit.org/show_bug.cgi?id=15727

        Add one window resize listener and call the new resize function on the currentPanel.
        Also call the currentPanel's resize function when resizing the sidebar.

        * page/inspector/DocumentPanel.js: Implement resize and call updateTreeSelection() when
          the panel is shown and when resizing the DOM sidebar.
        * page/inspector/FontPanel.js: Implement resize.
        * page/inspector/NetworkPanel.js: Ditto.
        * page/inspector/inspector.js: Add a window resize listener.

2007-10-27  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver.
        
        - update for HashTable changes

        * bindings/js/JSSVGPODTypeWrapper.h:
        * dom/Document.h:
        * dom/QualifiedName.cpp:
        * dom/StyledElement.cpp:
        * ksvg2/svg/SVGAnimatedTemplate.h:
        * platform/FontCache.cpp:
        * platform/StringHash.h:
        (WTF::):
        * platform/TextEncodingRegistry.cpp:
        * platform/graphics/IntSizeHash.h:
        (WTF::):
        * plugins/win/PluginPackageWin.h:

2007-10-28  Alp Toker  <alp@atoker.com>

        Reviewed by Adam Roben.

        http://bugs.webkit.org/show_bug.cgi?id=15646
        [GTK] caretBlinkFrequency is hard-coded in Frame.cpp

        Abstract caretBlinkFrequency to RenderTheme.

        * page/Frame.cpp:
        (WebCore::Frame::selectionLayoutChanged):
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::caretShouldBlink):
        (WebCore::RenderThemeGtk::caretBlinkFrequency):
        * platform/gtk/RenderThemeGtk.h:
        * rendering/RenderTheme.h:

2007-10-27  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Adam.

        Don't print the line number in the Inspector Console if it is Zero.

        * page/inspector/ConsolePanel.js:

2007-10-27  Sam Weinig  <sam@webkit.org>

        Reviewed by Adam Roben.

        Fix http://bugs.webkit.org/show_bug.cgi?id=14953
        Implement window.console in WebCore

        - Adds a window.console object that has 4 methods (log, info, warn, and error)
          that send messages to the Chrome.  This moves functionality that was in the
          app down into WebCore.

        * DerivedSources.make:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/CodeGeneratorJS.pm: Add extended attribute
        to mark attributes as [Replacable] which indicates they can 
        overridden when set.
        * page/Chrome.cpp:
        (WebCore::Chrome::addMessageToConsole): Allow all messages to go
        up to the ChromeClient.
        * page/Console.cpp: Added.
        (WebCore::Console::Console):
        (WebCore::Console::disconnectFrame):
        (WebCore::Console::error):
        (WebCore::Console::info):
        (WebCore::Console::log):
        (WebCore::Console::warn):
        * page/Console.h: Added.
        * page/Console.idl: Added.
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::clear):
        (WebCore::DOMWindow::console):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:

2007-10-27  Eric Seidel  <eric@webkit.org>

        Reviewed by aroben.
        
        Remove legacy createFilterEffect function (causing extra filter tests to fail on windows)

        No functional changes, thus no tests.

        * ksvg2/svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::filterEffect):
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::filterEffect):
        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::filterEffect):
        * ksvg2/svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::filterEffect):
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::filterEffect):
        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::filterEffect):
        * ksvg2/svg/SVGFEFloodElement.cpp:
        (WebCore::SVGFEFloodElement::filterEffect):
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::filterEffect):
        * ksvg2/svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::filterEffect):
        * ksvg2/svg/SVGFEMergeElement.cpp:
        (WebCore::SVGFEMergeElement::filterEffect):
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::filterEffect):
        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::filterEffect):
        * ksvg2/svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::filterEffect):
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::filterEffect):
        * platform/graphics/svg/SVGResourceFilter.h:
        * platform/graphics/svg/cg/SVGResourceFilterCg.cpp:
        * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
        * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:

2007-10-27  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix a crash when opening Zenoss server history view
          <rdar://problem/5530657>

        Test: fast/table/colgroup-relative.html

        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState): Added a hasLayer() check before
        accessing layer().

2007-10-27  Julien  <julien.chaffraix@gmail.com>

        Reviewed by Alexey.

        http://bugs.webkit.org/show_bug.cgi?id=13141
        XMLHttpRequest should set readyState to 0 after abort()
        
        Test: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState.html

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

2007-10-27  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix rotated border images by using a temporary subimage containing
          only the part we want to tile

        Test: fast/borders/border-image-rotate-transform.html

        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::Image::drawPatternCallback):
        (WebCore::Image::drawPattern):

2007-10-27  Jan Michael Alonzo  <jmalonzo@unpluggable.com>

        Reviewed by Alp.

        http://bugs.webkit.org/show_bug.cgi?id=15722
        [GTK] Refactor gtk/RenderThemeGtk and implement a few more methods

        Refactor/enhance GTK RenderTheme

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::supportsFocus): added TextArea, Menulist, Radio, and Checkbox Appearances
        (WebCore::RenderThemeGtk::supportsFocusRing): call supportsFocus() to check if focus on appearance is supported
        (WebCore::RenderThemeGtk::controlSupportsTints): copied from Qt and Safari ports
        (WebCore::RenderThemeGtk::baselinePosition): copied from Qt and Safari ports
        (WebCore::RenderThemeGtk::paintCheckbox): moved painting in paintButton
        (WebCore::RenderThemeGtk::paintRadio): moved painting in paintButton
        (WebCore::RenderThemeGtk::paintButton): paint the different buttons here, checking for the right appearance before doing so
        (WebCore::RenderThemeGtk::paintMenuList): use 0 instead of NULLs
        (WebCore::RenderThemeGtk::adjustTextFieldStyle):
        (WebCore::RenderThemeGtk::getThemeData):
        * platform/gtk/RenderThemeGtk.h:
        (WebCore::RenderThemeGtk::supportsControlTints):

2007-10-27  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=15555
        XMLHttpRequest does not support charset "x-user-defined", which can
        facilitate loading of binary data

        Test: http/tests/xmlhttprequest/binary-x-user-defined.html

        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/TextCodecUserDefined.cpp: Added.
        (WebCore::TextCodecUserDefined::registerEncodingNames):
        (WebCore::newStreamingTextDecoderUserDefined):
        (WebCore::TextCodecUserDefined::registerCodecs):
        (WebCore::TextCodecUserDefined::decode):
        (WebCore::encodeComplexUserDefined):
        (WebCore::TextCodecUserDefined::encode):
        * platform/TextCodecUserDefined.h: Added.
        * platform/TextEncodingRegistry.cpp:
        (WebCore::buildBaseTextCodecMaps):

2007-10-27  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=15467
        Setting innerHTML to blank string in application/xhtml+xml mode
        throws DOM Exception 7

        Test: fast/dom/blank-innerHTML.xhtml

        * dom/XMLTokenizer.cpp:
        (WebCore::parseXMLDocumentFragment): Bail out early if the input string is empty.

2007-10-26  Sam Weinig  <sam@webkit.org>

        Enable dragging the left sidebar using the separator.

        Reviewed by Anders (unless Mitz says otherwise).

        * page/inspector/DocumentPanel.js:
        * page/inspector/inspector.css:
        * page/inspector/inspector.html:
        * page/inspector/inspector.js:

2007-10-26  Sam Weinig  <sam@webkit.org>

        Fix an off by one error when resizing the Inspector find window.

        Reviewed by Hyatt.

        * page/inspector/inspector.js:

2007-10-26  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Adam.

        Fix fallout from r26072, which leads to all plugin streams for local
        resources being cancelled

        * loader/win/NetscapePlugInStreamLoaderWin.cpp:
        (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): Ensure this
        is an HTTP response before checking the HTTP response code

2007-10-26  David Hyatt  <hyatt@apple.com>

        Fix for http://bugs.webkit.org/show_bug.cgi?id=15719, transformed box doesn't repaint properly
        when only translation changes.

        Move the updating of the transform to in between the old repaint and the new repaint.

        Reviewed by mitz

        fast/repaint/transform-translate.html

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

2007-10-26  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Darin.

        <rdar://5557379> Crash in Silverlight when opening microsoft.com

        The crash is within Silverlight, and the latest version of the plugin
        does not exhibit this crash, so just avoid loading this version of the
        plugin.

        * plugins/win/PluginDatabaseWin.cpp: Added isPluginBlacklisted() and
        constants silverlightPluginMinRequiredVersionMSDWORD and
        silverlightPluginMinRequiredVersionLSDWORD. Their values are taken from 
        the version info of Silverlight 1.0.20926.0, which is a version known
        not to exhibit this crash
        (WebCore::PluginDatabaseWin::isPluginBlacklisted): Determine whether
        this plugin is blacklisted
        * plugins/win/PluginDatabaseWin.h:
        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackageWin::PluginPackageWin): Initialize m_fileVersion*
        (WebCore::PluginPackageWin::getFileVersion):
        (WebCore::PluginPackageWin::storeFileVersion): Read version info for
        the plugin, and store the file version
        (WebCore::PluginPackageWin::fetchInfo): After determining the name,
        description, and file version, determine whether this plug-in is
        blacklisted. If so, return false so this plug-in isn't loaded
        * plugins/win/PluginPackageWin.h:

2007-10-26  Sam Weinig  <sam@webkit.org>

        Reviewed by Adele Peterson.

        Fix for <rdar://problem/5421754>
        m_frameName member variable in HTMLPlugInElement unnecessary

        - Refactor the willRemove() method down into HTMLFrameOwnerElement now that
          we no longer need to use the m_frameName variable.

        * html/HTMLFrameElementBase.cpp:
        * html/HTMLFrameElementBase.h:
        * html/HTMLFrameOwnerElement.cpp:
        (WebCore::HTMLFrameOwnerElement::willRemove):
        * html/HTMLFrameOwnerElement.h:
        * html/HTMLPlugInElement.cpp:
        * html/HTMLPlugInElement.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::requestObject):

2007-10-26  Adele Peterson  <adele@apple.com>

        Export _wkDrawCapsLockIndicator.

        * WebCore.base.exp:

2007-10-26  Adele Peterson  <adele@apple.com>

        Reviewed by Oliver.

        Adding WebKitSystemInterface support for the caps lock indicator

        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2007-10-26  Tristan O'Tierney  <tristan@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/5555053> REGRESSION:9A581: Window disappears when opening http://research.microsoft.com/users/darkok/
        The problem was caused by checkin r24654. This change moved explicit bounds checking into adjustWindowRect
        but failed to account for bounds checking (instead replaced with bounds clipping).  This caused issues
        when NaN was used. This patch goes one step further and does NaN checking to prevent the possibility of
        setting window bounds to NaN before an update occurs.

        Test: fast/dom/Window/window-resize-nan.html
        
        * bindings/js/kjs_window.cpp:
        (KJS::adjustWindowRect):
        Added a new parameter, pendingChanges, which takes pending changes to the window
        rect, and if they are valid (not NaN) sets them on window.
        
        (KJS::WindowFunc::callAsFunction):
        Adjusted uses of adjustWindowRect to take new update parameter.

2007-10-26  Sam Weinig  <sam@webkit.org>

        Reviewed by Tim Hatcher.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=15175
        Cannot copy text of errors from Web Inspector from Console view

        * page/inspector/inspector.css: add -webkit-user-select: text for console messages.

2007-10-26  Sam Weinig  <sam@webkit.org>

        Reviewed by Tim Hatcher.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=15446
        Web Inspector find window is not resizable

        - Adds ability to resize the find window.
        - Fixes bug that messed up the find window when resizing the left sidebar. 

        * page/inspector/inspector.css:
        * page/inspector/inspector.html:
        * page/inspector/inspector.js:

2007-10-26  Ada Chan  <adachan@apple.com>

        Update m_current index after we've removed an item:
        - if item removed is before m_current, decrement m_current
        - if the current item is removed, make sure m_current is within bounds.

        Reviewed by Darin.

        * history/BackForwardList.cpp:
        (WebCore::BackForwardList::removeItem):

2007-10-26  Mark Rowe  <mrowe@apple.com>

        Debug build fix.

        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::~KJSProxy):

2007-10-26  Maciej Stachowiak  <mjs@apple.com>

        No review, build fix.

        * bindings/objc/WebScriptObject.mm:
        (+[WebScriptObject throwException:]):
        (-[WebScriptObject setException:]):

2007-10-26  Maciej Stachowiak  <mjs@apple.com>

        Rubber Stamped by Mark.

        - fix build

        * bridge/mac/WebCoreScriptDebugger.mm:
        (-[WebCoreScriptCallFrame scopeChain]):
        (-[WebCoreScriptCallFrame functionName]):
        (-[WebCoreScriptCallFrame evaluateWebScript:]):

2007-10-26  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver.

        - update for JavaScriptCore header changes

        * bindings/objc/WebScriptObject.mm:
        * bridge/mac/WebCoreScriptDebugger.mm:

2007-10-26  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        http://bugs.webkit.org/show_bug.cgi?id=15693
        [GTK] Paging does not work when widget is added to a GtkScrolledWindow

        Eliminate MagicGtkScrollConstant in favour of the same calculations as
        GtkTextView for step and page increments. This also makes paging work,
        as the page increment was previously always 0.

        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::updateScrollbars):

2007-10-25  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt and Sam Weinig.

        Build fix

        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::Image::drawPattern):

2007-10-23  Jan Michael Alonzo  <jmalonzo@unpluggable.com>

        Reviewed by Alp.

        http://bugs.webkit.org/show_bug.cgi?id=15656
        [GTK] Implement WebCore::Widget::isEnabled/setEnabled

        * platform/gtk/WidgetGtk.cpp:
        (WebCore::Widget::isEnabled):
        (WebCore::Widget::setEnabled): Implemented.

2007-10-25  David Hyatt  <hyatt@apple.com>

        Fix for bug 15672, background images don't tile properly inside transforms.  This patch fixes background
        tiling to work in the presence of transforms and fixes bugs in both SVG and CSS transforms.

        Reviewed by aroben and mitz

        * WebCore.base.exp:
        * platform/graphics/Image.cpp:
        (WebCore::Image::setData):
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::ImageInfo::ImageInfo):
        (WebCore::Image::drawPatternCallback):
        (WebCore::Image::drawPattern):
        * platform/graphics/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2007-10-25  Brady Eidson  <beidson@apple.com>

        Blind build fix attempt

        * WebCore.pro:

2007-10-25  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders and Sam

        Bulk rename of platform/sql/SQL* to platform/sql/SQLite*
        
        This is more accurate in that there is no realistic "SQL" abstraction, the classes are obviously
        tied extremely close to SQLite, and is necessitated by the introduction of "SQLTransaction" in 
        the HTML5 database API which we are adopting.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::iconDatabaseSyncThread):
        (WebCore::databaseVersionNumber):
        (WebCore::isValidDatabase):
        (WebCore::createDatabaseTables):
        (WebCore::IconDatabase::performOpenInitialization):
        (WebCore::IconDatabase::checkIntegrity):
        (WebCore::IconDatabase::performURLImport):
        (WebCore::IconDatabase::writeToDatabase):
        (WebCore::IconDatabase::pruneUnretainedIcons):
        (WebCore::IconDatabase::checkForDanglingPageURLs):
        (WebCore::IconDatabase::imported):
        (WebCore::IconDatabase::setImported):
        (WebCore::readySQLiteStatement):
        (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
        (WebCore::IconDatabase::removePageURLFromSQLDatabase):
        (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
        (WebCore::IconDatabase::addIconURLToSQLDatabase):
        (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
        (WebCore::IconDatabase::removeIconFromSQLDatabase):
        (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
        * loader/icon/IconDatabase.h:
        * loader/icon/IconRecord.cpp:
        * platform/sql/SQLAuthorizer.cpp: Removed.
        * platform/sql/SQLAuthorizer.h: Removed.
        * platform/sql/SQLDatabase.cpp: Removed.
        * platform/sql/SQLDatabase.h: Removed.
        * platform/sql/SQLStatement.cpp: Removed.
        * platform/sql/SQLStatement.h: Removed.
        * platform/sql/SQLTransaction.cpp: Removed.
        * platform/sql/SQLTransaction.h: Removed.
        * platform/sql/SQLiteAuthorizer.cpp: Copied from platform/sql/SQLAuthorizer.cpp.
        * platform/sql/SQLiteAuthorizer.h: Copied from platform/sql/SQLAuthorizer.h.
        (WebCore::SQLiteAuthorizer::~SQLiteAuthorizer):
        * platform/sql/SQLiteDatabase.cpp: Copied from platform/sql/SQLDatabase.cpp.
        (WebCore::SQLiteDatabase::SQLiteDatabase):
        (WebCore::SQLiteDatabase::~SQLiteDatabase):
        (WebCore::SQLiteDatabase::open):
        (WebCore::SQLiteDatabase::close):
        (WebCore::SQLiteDatabase::setFullsync):
        (WebCore::SQLiteDatabase::setSynchronous):
        (WebCore::SQLiteDatabase::setBusyTimeout):
        (WebCore::SQLiteDatabase::setBusyHandler):
        (WebCore::SQLiteDatabase::executeCommand):
        (WebCore::SQLiteDatabase::returnsAtLeastOneResult):
        (WebCore::SQLiteDatabase::tableExists):
        (WebCore::SQLiteDatabase::clearAllTables):
        (WebCore::SQLiteDatabase::runVacuumCommand):
        (WebCore::SQLiteDatabase::lastInsertRowID):
        (WebCore::SQLiteDatabase::lastChanges):
        (WebCore::SQLiteDatabase::lastError):
        (WebCore::SQLiteDatabase::lastErrorMsg):
        (WebCore::SQLiteDatabase::authorizerFunction):
        (WebCore::SQLiteDatabase::setAuthorizer):
        (WebCore::SQLiteDatabase::lock):
        (WebCore::SQLiteDatabase::unlock):
        * platform/sql/SQLiteDatabase.h: Copied from platform/sql/SQLDatabase.h.
        * platform/sql/SQLiteStatement.cpp: Copied from platform/sql/SQLStatement.cpp.
        (WebCore::SQLiteStatement::SQLiteStatement):
        (WebCore::SQLiteStatement::~SQLiteStatement):
        (WebCore::SQLiteStatement::prepare):
        * platform/sql/SQLiteStatement.h: Copied from platform/sql/SQLStatement.h.
        (WebCore::SQLiteStatement::database):
        * platform/sql/SQLiteTransaction.cpp: Copied from platform/sql/SQLTransaction.cpp.
        (WebCore::SQLiteTransaction::SQLiteTransaction):
        (WebCore::SQLiteTransaction::~SQLiteTransaction):
        (WebCore::SQLiteTransaction::begin):
        (WebCore::SQLiteTransaction::commit):
        (WebCore::SQLiteTransaction::rollback):
        * platform/sql/SQLiteTransaction.h: Copied from platform/sql/SQLTransaction.h.
        * storage/Database.cpp:
        (WebCore::retrieveTextResultFromDatabase):
        (WebCore::setTextValueInDatabase):
        (WebCore::Database::performExecuteSql):
        (WebCore::Database::performGetTableNames):
        (WebCore::Database::executeSql):
        * storage/Database.h:
        * storage/DatabaseAuthorizer.h:
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::fullPathForDatabase):
        (WebCore::DatabaseTracker::populateOrigins):
        (WebCore::DatabaseTracker::databaseNamesForOrigin):
        (WebCore::DatabaseTracker::addDatabase):
        * storage/DatabaseTracker.h:

2007-10-25  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=15650
        XML attribute nodes are not importable

        Tests: fast/dom/import-attribute-node.html
               fast/dom/import-document-fragment.html

        * dom/Document.cpp:
        (WebCore::Document::importNode): Implemented for Attribute and DocumentFragment nodes.

2007-10-25  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15362
          <rdar://problem/5558715> Safari Crashes when opening a JS TreeGrid widget

        Test: fast/dynamic/insert-before-table-part-in-continuation.html

        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::addChildWithContinuation): If beforeChild's
        parent is an anonymous table part, let the table figure out where to
        insert the new child.

2007-10-25  Alp Toker  <alp@atoker.com>

        Reviewed by Brady.

        http://bugs.webkit.org/show_bug.cgi?id=15686
        GtkLauncher aborts on launch due to uninitialized threading subsystem

        Re-enable database support in the GTK+ port, with a fix.

        * WebCore.pro:

2007-10-25  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Steve.

        <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a 
        java page

        Previous patch erroneously compared a path and a
        path-including-filename. This corrects that. It also caches the result
        of safariPluginsPath() and uses shell API funcs for determining filename
        and parent directory from a full path.

        * ChangeLog:
        * plugins/win/PluginDatabaseWin.cpp:
        (WebCore::safariPluginsPath): Cache return value. Use API functions to
        build the path
        (WebCore::PluginDatabaseWin::pluginForMIMEType): Compare again plugin's
        parent directory, not full path
        (WebCore::PluginDatabaseWin::pluginForExtension): Same
        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackageWin::PluginPackageWin): Store parent directory
        * plugins/win/PluginPackageWin.h:
        (WebCore::PluginPackageWin::parentDirectory):
        * plugins/win/PluginStreamWin.cpp:
        (WebCore::PluginStreamWin::didReceiveData):

2007-10-25  Alp Toker  <alp@atoker.com>

        Unreviewed fix to make the GTK+ port run.

        http://bugs.webkit.org/show_bug.cgi?id=15686
        GtkLauncher aborts on launch due to uninitialized threading subsystem

        Disable database support until #15686 is fixed.

        * WebCore.pro:

2007-10-25  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Lars.

        Fixed a crash in the Qt 4.4 based text iterators when they're called with a null string.

        * platform/qt/TextBreakIteratorQt.cpp:
        (WebCore::wordBreakIterator):
        (WebCore::characterBreakIterator):
        (WebCore::lineBreakIterator):
        (WebCore::sentenceBreakIterator):

2007-10-25  Holger Freyther  <zecke@selfish.org>

        Reviewed by Simon Hausmann <hausmann@kde.org>.

        * We need to set a != 0 status code for the fast/loader/xmlhttprequest-missing-file-exception.html
        * libxml2 has the semantic that when writing an empty string and finishing it will report an error. For QXmlStreamReader this is valid.
        * This is causing some regressions...
        

        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::XMLTokenizer):
        (WebCore::XMLTokenizer::write):
        (WebCore::XMLTokenizer::end):
        * dom/XMLTokenizer.h:

2007-10-25  Holger Freyther  <zecke@selfish.org>

        Reviewed by Simon Hausmann <hausmann@kde.org>.

        * fast/dom/onerror-img.html regressed due checking the JobStates because in case of error (e.g. not being able to connect) the job will no be started.
        * Use the error message from Qt. It might or might not be translated.
        

        WARNING: NO TEST CASES ADDED OR CHANGED

        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::WebCoreSynchronousLoader::didFail):

2007-10-25  Holger Freyther  <zecke@selfish.org>

        Reviewed by Simon Hausmann <hausmann@kde.org>.

        * Implement our own queuing of network jobs to allow special handling of synchronous jobs. This makes us pass the fast/dom/xmlhttprequest-html-response-encoding.html test without a crash. Sync jobs will get a special treatment over the normals ones and in theory more than one sync job is supported.
        * This should be thread-safe besides QWebNetworkJob::{ref,deref}
        

        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::loadResourceSynchronously):

2007-10-25  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        Add support for list box theme colors and styled menu list buttons.

        Remove obsolete FIXMEs.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::RenderThemeGtk):
        (WebCore::RenderThemeGtk::paintCheckbox):
        (WebCore::RenderThemeGtk::paintRadio):
        (WebCore::RenderThemeGtk::paintButton):
        (WebCore::RenderThemeGtk::adjustMenuListStyle):
        (WebCore::RenderThemeGtk::paintMenuList):
        (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
        (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
        (WebCore::RenderThemeGtk::gtkTreeView):
        * platform/gtk/RenderThemeGtk.h:

2007-10-25  Eric Seidel  <eric@webkit.org>

        Reviewed by Geoff.

        * bindings/js/kjs_window.h: fix bogus comment, s/DOMNode/DOMObject/

2007-10-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej.
        
        Make Window subclass from JSGlobalObject (for a .5% win in Sunspider)
        http://bugs.webkit.org/show_bug.cgi?id=15681

        No test cases necessary, no functional changes.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_binding.cpp:
        (KJS::ScriptInterpreter::ScriptInterpreter):
        * bindings/js/kjs_binding.h:
        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::initScriptIfNeeded):
        * bindings/js/kjs_window.cpp:
        (KJS::Window::Window):
        * bindings/js/kjs_window.h:
        * bindings/objc/WebScriptObject.mm:
        (_didExecute):
        * bridge/mac/WebCoreScriptDebugger.mm:

2007-10-24  Adam Roben  <aroben@apple.com>

        Add font database initialization code to WebCore

        Reviewed by Ada.

        * WebCore.vcproj/WebCore.vcproj: Added FontDatabase.{cpp,h}.
        * platform/win/FontDatabase.cpp: Added.
        (WebCore::systemFontsDirectory):
        (WebCore::fontsPlistPath):
        (WebCore::systemHasFontsNewerThanFontsPlist):
        (WebCore::readFontPlist):
        (WebCore::populateFontDatabaseFromPlist):
        (WebCore::populateFontDatabaseFromFileSystem):
        (WebCore::writeFontDatabaseToPlist):
        (WebCore::populateFontDatabase): This is the only function callable
        from outside this file. It populates the font database once, either
        from the fonts plist, or from the filesystem (and then saves a new
        fonts plist).
        * platform/win/FontDatabase.h: Added.

2007-10-24  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.

        Correcting the fix for:
        <rdar://problem/5544856> 
        REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time
        
        Made removal of the previous composition part of the current Undo step in the 
        case where the new composition is the empty string, too.

        * editing/Editor.cpp:
        (WebCore::Editor::confirmComposition): Call the new TypingCommand::deleteSelection,
        which either has the currently open typing command delete the current selection, or
        opens a new typing command (of type DeleteSelection) if one is not already open.
        (WebCore::Editor::setComposition): Ditto.
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteSelection): Added.
        (WebCore::TypingCommand::doApply): Handle DeleteSelection.
        (WebCore::TypingCommand::deleteKeyPressed): Clarified which deleteSelection
        is called.
        (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
        (WebCore::TypingCommand::preservesTypingStyle): Handle DeleteSelection.
        * editing/TypingCommand.h:

2007-10-24  Sam Weinig  <sam@webkit.org>

        Build fix.

        * WebCore.vcproj/WebCore.vcproj:

2007-10-24  Alice Liu  <alice.liu@apple.com>

        Reviewed by Oliver.

        Fix <rdar://5410959>  editing/selection/drag-to-contenteditable-iframe.html fails on Windows
        
        * page/win/EventHandlerWin.cpp:
        (WebCore::EventHandler::passMouseMoveEventToSubframe):
        Some mouse move events are actually drags, which on mac return early from this function.
        Adding the same logic to its Windows equivalent.  

2007-10-24  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders

        <rdar://5554130> DatabaseTracker.o has a global initializer

        Since DatabaseTracker is a singleton, it makes much more sense to keep the database path as a member variable.
        Now constructing the shared DatabaseTracker no longer implicitly opens it - It is only opened when the databases 
        path is set.
        
        * WebCore.vcproj/WebCore.vcproj: Copy WebCore/storage headers for WebKit build
        
        * storage/Database.cpp:
        (WebCore::Database::~Database): Remove bogus assertion
        
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::DatabaseTracker): Does nothing now!  Move this code to openTrackerDatabase
        (WebCore::DatabaseTracker::setDatabasePath): Set the member variable, also closing/opening the database if needed
        (WebCore::DatabaseTracker::databasePath):
        (WebCore::DatabaseTracker::openTrackerDatabase): To open and validate the Databases db, moved from the c'tor
        (WebCore::DatabaseTracker::fullPathForDatabase): Return the member variable
        * storage/DatabaseTracker.h:

2007-10-24  David Hyatt  <hyatt@apple.com>

        Don't try to gap fill transformed selections.  Fix the invalidation of selection to use the clip to visible content
        code path so that it works with multi-column layouts and transforms.

        Reviewed by aroben

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isSelectionRoot):
        (WebCore::RenderBlock::fillSelectionGaps):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::setSelection):

2007-10-24  Eric Seidel  <eric@webkit.org>

        No review, I want to tickle the CIA bot to test changes,
        and took this as an opportunity to clean up some old change logs.

        * ChangeLog-2005-08-23: update email address
        * ChangeLog-2006-12-31: fix spelling mistakes

2007-10-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Oliver Hunt.

        - add "(anonymous)" to the renderName of anonymous table cells, rows and sections

        * rendering/RenderTableCell.h:
        (WebCore::RenderTableCell::renderName):
        * rendering/RenderTableRow.h:
        (WebCore::RenderTableRow::renderName):
        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::renderName):

2007-10-24  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Adam.

        Bug 15476: DOM tree fully expands some elements when arrowing up
        http://bugs.webkit.org/show_bug.cgi?id=15476

        Add a new expandTreeElementsWhenArrowing option to TreeOutline. This option
        is used only for the sidebar and search results.

        * page/inspector/inspector.js: Opt-in for the sidebar and search results.
        * page/inspector/treeoutline.js: Add expandTreeElementsWhenArrowing and pass
          this option to traverseNextTreeElement and traversePreviousTreeElement.

2007-10-24  Anders Carlsson  <andersca@apple.com>

        Reviewed by Geoff and Mitz.

        <rdar://problem/5493833>
        REGRESSION: ~5MB of image data leaked @ cuteoverload.com (often seen while browsing other sites, too)

        * bindings/js/kjs_binding.cpp:
        (KJS::ScriptInterpreter::markDOMNodesForDocument):
        If an image element that is currently loading an image is not in the document,
        it should still be marked.
        
        * bindings/js/kjs_html.cpp:
        (WebCore::ImageConstructorImp::construct):
        Force the document wrapper to be created.
        
        * html/HTMLImageElement.h:
        (WebCore::HTMLImageElement::haveFiredLoadEvent):
        New method which calls down to the image loader.
        
        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::HTMLImageLoader):
        (WebCore::HTMLImageLoader::~HTMLImageLoader):
        (WebCore::HTMLImageLoader::setLoadingImage):
        (WebCore::HTMLImageLoader::dispatchLoadEvent):
        Remove code that's not needed anymore.
        
        * html/HTMLImageLoader.h:
        (WebCore::HTMLImageLoader::haveFiredLoadEvent):
        Make this public.

2007-10-23  Adam Roben  <aroben@apple.com>

        Move Windows safe file creation code into WebCore from WebPreferences

        Reviewed by Brady.

        * platform/FileSystem.h:
        * platform/win/FileSystemWin.cpp:
        (WebCore::safeCreateFile): Moved here from WebKit/win/WebPreferences.cpp.

2007-10-23  Adam Roben  <aroben@apple.com>

        Add methods to FileSystemWin to get some user profile directories

        These directories are used to hold things like preferences, caches,
        etc.

        Reviewed by Brady.

        * platform/FileSystem.h: Added new method declarations for Windows
        only.
        * platform/win/FileSystemWin.cpp:
        (WebCore::bundleName): Added.
        (WebCore::storageDirectory): Added.
        (WebCore::cachedStorageDirectory): Added.
        (WebCore::localUserSpecificStorageDirectory): Added. Returns the
        directory where WebKit should store any user-specific data that should
        stay local to the current machine (i.e., shouldn't be stored in a
        roaming profile).
        (WebCore::roamingUserSpecificStorageDirectory): Added. Returns the
        directory where WebKit should store any user-specific data that should
        move with the user from machine to machine (i.e., should be stored in
        a roaming profile).

2007-10-24  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        http://bugs.webkit.org/show_bug.cgi?id=15659
        InlineTextBox does not setStrokeStyle() as needed

        GraphicsContextCairo workaround to support a GraphicsContextCG quirk:

        Save and restore the StrokeStyle manually.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawLineForText):

2007-10-24  Julien Chaffraix  <julien.chaffraix@gmail.com>

        Reviewed by Darin.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=15356
        Bug 15356: getResponseHeader and getAllResponseHeaders do not throw exceptions

        - getAllResponseHeaders and getResponseHeader throws INVALID_STATE_ERR exception as specified in the specification

        - Add the check to field-name production in getResponseHeader (call to isValidToken) and returns an empty string if the header is not valid (Opera and IE behaviour)

        - Updated XMLHttpRequest::responseMIMEType() to keep its behaviour

        Tests: http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getAllRequestHeaders.html
               http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getRequestHeader.html
               http/tests/xmlhttprequest/xmlhttprequest-invalidHeader-getRequestHeader.html

        * bindings/js/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::getAllResponseHeaders):
        (WebCore::XMLHttpRequest::getResponseHeader):
        (WebCore::XMLHttpRequest::responseMIMEType):
        * xml/XMLHttpRequest.h:

2007-10-24  Lars Knoll  <lars@trolltech.com>

        Reviewed by Simon.

        implement most of DragData.

        WARNING: NO TEST CASES ADDED OR CHANGED

        * platform/qt/DragDataQt.cpp:
        (WebCore::DragData::containsColor):
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::asFilenames):
        (WebCore::DragData::containsPlainText):
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::asColor):
        (WebCore::DragData::containsCompatibleContent):
        (WebCore::DragData::containsURL):

2007-10-24  Lars Knoll  <lars@trolltech.com>

        Reviewed by Simon.

        remove a stupid notImplemented() warning and implement PasteBoad::clear().

        WARNING: NO TEST CASES ADDED OR CHANGED

        * platform/qt/PasteboardQt.cpp:

2007-10-24  Lars Knoll  <lars@trolltech.com>

        Reviewed by Simon.

        implement Pasteboard::documentFragment(), and fix a mem leak.

        WARNING: NO TEST CASES ADDED OR CHANGED

        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::generalPasteboard):
        (WebCore::Pasteboard::documentFragment):

2007-10-24  Lars Knoll  <lars@trolltech.com>

        Reviewed by Simon.

        Simplify the PlatformKeyEvent constructor. No need to have an extra boolean for isKeyUp in there, as the QKeyEvent has the information.

        WARNING: NO TEST CASES ADDED OR CHANGED

        * platform/PlatformKeyboardEvent.h:
        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

2007-10-24  Lars Knoll  <lars@trolltech.com>

        Reviewed by Simon.

        use the new QTextBoundaryFinder class in Qt.

        WARNING: NO TEST CASES ADDED OR CHANGED

        * platform/qt/TextBoundaries.cpp:
        (WebCore::findNextWordFromIndex):
        (WebCore::findWordBoundary):
        * platform/qt/TextBreakIteratorQt.cpp:
        (WebCore::wordBreakIterator):
        (WebCore::characterBreakIterator):
        (WebCore::lineBreakIterator):
        (WebCore::sentenceBreakIterator):
        (WebCore::textBreakFirst):
        (WebCore::textBreakNext):
        (WebCore::textBreakPreceding):
        (WebCore::textBreakFollowing):
        (WebCore::textBreakCurrent):
        (WebCore::isTextBreak):

2007-10-24  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - http://bugs.webkit.org/show_bug.cgi?id=15657
          change static hash tables to use powers of two for speed

        * bindings/scripts/CodeGeneratorJS.pm: Updated to generate new format.

2007-10-24  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Lars.

        Make the implementation of pathByAppendingComponent use QDir.

        * platform/qt/FileSystemQt.cpp:

2007-10-24  David Hyatt  <hyatt@apple.com>

        Make repainting work with transforms.

        Reviewed by John Sullivan

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeAbsoluteRepaintRect):

2007-10-23  Alp Toker  <alp@atoker.com>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=14412
        [GDK] Clipboard support

        Initial clipboard implementation for the GTK+ port.

        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::generalPasteboard):
        (WebCore::Pasteboard::Pasteboard):
        (WebCore::Pasteboard::~Pasteboard):
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::writeImage):
        (WebCore::Pasteboard::clear):
        (WebCore::Pasteboard::plainText):
        * platform/gtk/TemporaryLinkStubs.cpp:

2007-10-23  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Adam.

        Fixes the Network panel so that it refreshes as needed.

        * page/inspector/ConsolePanel.js: Call the base class show() and hide() first.
        * page/inspector/NetworkPanel.js: Add refreshNeeded and refreshIfNeeded back. Ditto.

2007-10-23  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/5544856> 
        REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time
        
        No layout test for now because I'm having trouble getting Undo during a layout
        test to only undo the last Undo step, and I want to write a test that fails
        without the code change.

        * editing/Editor.cpp:
        (WebCore::Editor::confirmComposition): When we replace the previous composition,
        delete it with a sub-command of the command used to insert the new composition,
        instead of with a separate command.  No new code was added because insertText
        already deletes the current selection.
        (WebCore::Editor::setComposition): Ditto.

2007-10-23  Adam Roben  <aroben@apple.com>

        Fix the behavior of pathByAppendingComponent when path is empty

        We now use the Windows Shell API function PathAppendW instead of
        rolling our own broken implementation.

        Reviewed by Anders.

        * platform/win/FileSystemWin.cpp:
        (WebCore::pathByAppendingComponent):

2007-10-23  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        Fix for <rdar://problem/5543228> CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::HTMLInputElement::defaultEventHandler + 872

        Test: fast/forms/textfield-onchange-deletion.html

        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
          Refetch the renderer since arbitrary JS code run during onchange can do anything, including destroying it.

2007-10-23  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Sam Weinig.

        - Made seperate files for the various classes in ResourcePanel.js.
        - Broke up ResourcePanel.js and created seperate panel classes for different resource types.
        - Moved View code down to the Panel base-class.
        - Reduced code duplication in DatabasePanel.js by sub-classing from the new ResourcePanel.

        * page/inspector/DatabasePanel.js:
        * page/inspector/DocumentPanel.js: Added.
        * page/inspector/FontPanel.js: Added.
        * page/inspector/ImagePanel.js: Added.
        * page/inspector/Panel.js: Added.
        * page/inspector/PropertiesSection.js: Added.
        * page/inspector/Resource.js:
        * page/inspector/ResourcePanel.js:
        * page/inspector/SidebarPane.js: Added.
        * page/inspector/SourcePanel.js: Added.
        * page/inspector/inspector.css:
        * page/inspector/inspector.html:
        * page/inspector/inspector.js:

2007-10-23  Anders Carlsson  <andersca@apple.com>

        Correct the version #if check.
        
        * platform/sql/SQLDatabase.cpp:
        (WebCore::SQLDatabase::authorizerFunction):

2007-10-23  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Anders.

        <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a 
        java page

        It is possible to load Mozilla's Java plugin instead of our own, which
        can lead to a crash. The fix is to prefer plugins in our own Plugins
        directory when searching for a plugin.

        * plugins/win/PluginDatabaseWin.cpp:
        (WebCore::safariPluginsPath): Return the path to our own Plugins
        directory
        (WebCore::PluginDatabaseWin::defaultPluginPaths): Use new method
        safariPluginsPath()
        (WebCore::PluginDatabaseWin::pluginForMIMEType): If the plugin's path is
        our Plugins path, return this plugin. Otherwise, continue scanning the
        list of plugins
        (WebCore::PluginDatabaseWin::pluginForExtension): Same
        * plugins/win/PluginPackageWin.h:
        (WebCore::PluginPackageWin::path): Return this plugin's path

2007-10-23  Jasper Bryant-Greene  <m@ni.ac.nz>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=15058
        Precedence fault in KeyEventGdk causes shift, control, alt etc to work incorrectly

        Corrected precendence fault which was causing Shift, Alt, Control and
        Meta to behave incorrectly on GTK.

        Coding style fix by Alp.

        * platform/gtk/KeyEventGtk.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

2007-10-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Tim Hatcher.

        Add resizing of the DOM view right sidebar.  This allows us to actually see the values now.

        * page/inspector/ResourcePanel.js:
        * page/inspector/inspector.css:
        * page/inspector/inspector.js:
        * page/inspector/utilities.js:

2007-10-23  David Hyatt  <hyatt@apple.com>

        Get basic hit testing right for transforms.

        Reviewed by ollliej

        * platform/graphics/AffineTransform.cpp:
        (WebCore::AffineTransform::mapPoint):
        * platform/graphics/AffineTransform.h:
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::nodeAtPoint):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::nodeAtPoint):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::hitTest):
        (WebCore::RenderLayer::hitTestLayer):
        * rendering/RenderLayer.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::hitTest):
        * rendering/RenderObject.h:

2007-10-23  Eric Seidel  <eric@webkit.org>

        Reviewed by Mark Rowe.

        Fix leaks seen on TOT from new font-face code.

        * ksvg2/svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::rebuildFontFace): use a stack allocated CSSProperty instead of mallocing

2007-10-23  Eric Seidel  <eric@webkit.org>

        Build fix only, no review.

        Sacrifice three virgin hours upon the altar of the heathen XCode gods
        and pray that our build troubles are finally over. :(

        * DerivedSources.make: add DOMSVGException.h
        * WebCore.xcodeproj/project.pbxproj: Remove DOMSVG*Interal.h files from "Copy Generated Headers" phase. Why?  Who knows.

2007-10-22  Steve Falkenburg  <sfalken@apple.com>

        Fix build.

        * plugins/win/PluginViewWin.cpp:

2007-10-22  Eric Seidel  <eric@webkit.org>

        Build fix only, no review.

        * WebCore.xcodeproj/project.pbxproj: re-add all DOMSVG headers to copy-files phase to make sure.

2007-10-22  Eric Seidel  <eric@webkit.org>

        Build fix only, no review.

        * WebCore.xcodeproj/project.pbxproj: make sure DOMSVGAnimateElement.h is copied into headers.

2007-10-22  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej.

        Fix build by properly exposing SVG font-face dom bindings.

        * DerivedSources.make:
        * WebCore.vcproj/WebCore.vcproj: add font-face files to build
        * WebCore.xcodeproj/project.pbxproj: add missing DOM bindings files
        * bindings/js/JSSVGElementWrapperFactory.cpp:
        * bindings/objc/DOM.mm:
        (WebCore::createElementClassMap):
        * bindings/objc/DOMSVG.h:
        * ksvg2/svg/SVGDefinitionSrcElement.idl: inherit from SVGElement

2007-10-22  Mark Rowe  <mrowe@apple.com>

        Gtk build fix.

        * WebCore.pro:

2007-10-22  Darin Adler  <darin@apple.com>

        - a first cut at fixing the Qt and GTK builds

        * WebCore.pro: Add new .idl and .cpp files.
        * DerivedSources.make: Re-sorted.

2007-10-22  Eric Seidel  <eric@webkit.org>

        Reviewed by hyatt.

        Implement <font-face> and friends for SVG.
        http://bugs.webkit.org/show_bug.cgi?id=10652

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSSVGElementWrapperFactory.cpp:
        * dom/Document.cpp:
        (WebCore::Document::mappedElementSheet):
        (WebCore::Document::recalcStyleSelector):
        * dom/Document.h:
        * ksvg2/scripts/make_names.pl:
        * ksvg2/svg/SVGDefinitionSrcElement.cpp: Added.
        (WebCore::SVGDefinitionSrcElement::SVGDefinitionSrcElement):
        (WebCore::SVGDefinitionSrcElement::~SVGDefinitionSrcElement):
        (WebCore::SVGDefinitionSrcElement::childrenChanged):
        * ksvg2/svg/SVGDefinitionSrcElement.h: Added.
        * ksvg2/svg/SVGDefinitionSrcElement.idl: Added.
        * ksvg2/svg/SVGFontFaceElement.cpp: Added.
        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
        (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
        (WebCore::cssPropertyIdForName):
        (WebCore::mapAttributeToCSSProperty):
        (WebCore::cssPropertyIdForSVGAttributeName):
        (WebCore::SVGFontFaceElement::parseMappedAttribute):
        (WebCore::SVGFontFaceElement::rebuildFontFace):
        (WebCore::SVGFontFaceElement::childrenChanged):
        * ksvg2/svg/SVGFontFaceElement.h: Added.
        * ksvg2/svg/SVGFontFaceElement.idl: Added.
        * ksvg2/svg/SVGFontFaceFormatElement.cpp: Added.
        (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
        (WebCore::SVGFontFaceFormatElement::~SVGFontFaceFormatElement):
        (WebCore::SVGFontFaceFormatElement::childrenChanged):
        * ksvg2/svg/SVGFontFaceFormatElement.h: Added.
        * ksvg2/svg/SVGFontFaceFormatElement.idl: Added.
        * ksvg2/svg/SVGFontFaceNameElement.cpp: Added.
        (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
        (WebCore::SVGFontFaceNameElement::~SVGFontFaceNameElement):
        (WebCore::SVGFontFaceNameElement::srcValue):
        * ksvg2/svg/SVGFontFaceNameElement.h: Added.
        * ksvg2/svg/SVGFontFaceNameElement.idl: Added.
        * ksvg2/svg/SVGFontFaceSrcElement.cpp: Added.
        (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
        (WebCore::SVGFontFaceSrcElement::~SVGFontFaceSrcElement):
        (WebCore::SVGFontFaceSrcElement::srcValue):
        (WebCore::SVGFontFaceSrcElement::childrenChanged):
        * ksvg2/svg/SVGFontFaceSrcElement.h: Added.
        * ksvg2/svg/SVGFontFaceSrcElement.idl: Added.
        * ksvg2/svg/SVGFontFaceUriElement.cpp: Added.
        (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
        (WebCore::SVGFontFaceUriElement::~SVGFontFaceUriElement):
        (WebCore::SVGFontFaceUriElement::srcValue):
        (WebCore::SVGFontFaceUriElement::childrenChanged):
        * ksvg2/svg/SVGFontFaceUriElement.h: Added.
        * ksvg2/svg/SVGFontFaceUriElement.idl: Added.
        * ksvg2/svg/svgtags.in:

2007-10-22  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Anders.

        <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a 
        java page

        We purposefully do not destroy our Java VM when its reference count
        reaches 0, but we were unloading our JavaPlugin.dll when its reference
        count reached 0, which lost the reference to the VM. This led to our
        process trying to create a new VM the next time a page using Java was
        loaded, and the JNI spec states that a single process is not allowed to
        create more than one VM. The fix is to avoid unloading the Java plugin
        via our PluginQuirkDontUnloadPlugin. 

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginViewWin::determineQuirks):

2007-10-22  David Hyatt  <hyatt@apple.com>

        Fix for bug 15624, make transforms work properly with opacity.

        Make sure a unitless 0 is allowed as an angle argument to rotation/skew.

        Reviewed by Mitz Pettel

        fast/transforms/transforms-with-opacity.html
        fast/transforms/skew-with-unitless-zero.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::validUnit):
        * rendering/RenderLayer.cpp:
        (WebCore::transparencyClipBox):
        (WebCore::RenderLayer::beginTransparencyLayers):
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::calculateClipRects):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::transform):

2007-10-22  Adam Roben  <aroben@apple.com>

        Windows build fix

        * WebCore.vcproj/WebCore.vcproj: Copy header files from platform/sql.
        * page/Page.cpp: Touched to force the header files to be copied.

2007-10-22  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Simon.

        Move textPath related SVGChar data in it's own structure SVGCharOnPath.
        Store a pointer to that datastructure inside SVGChar, instead of 4 floats & one bool.

        Saves space for the common case. And allows me to add more data (another float) to support
        glyph-orientation-* on textPath later on...

        * rendering/SVGCharacterLayoutInfo.cpp:
        (WebCore::SVGChar::characterTransform):
        * rendering/SVGCharacterLayoutInfo.h:
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):

2007-10-22  Alp Toker  <alp@atoker.com>

        Reviewed by Nikolas Zimmermann.

        Implement more GraphicsContextCairo stubs.

        Remove a hack "to work around no current point bug" that was breaking
        canvas tests.

        Fix warnings.

        * platform/graphics/cairo/CairoPath.h:
        (WebCore::CairoPath::CairoPath):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        (WebCore::GraphicsContext::strokeRect):
        * platform/graphics/cairo/PathCairo.cpp:
        (WebCore::Path::isEmpty):
        * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp:
        (WebCore::SVGPaintServerGradient::setup):
        * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp:
        (WebCore::SVGPaintServerSolid::setup):

2007-10-22  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Nikolas.

        Fix compilation from a clean build with the database feature disabled.
        JSCustomVersionChangeCallback.cpp doesn't actually need the SQL header file, just ScriptInterpreter.

        * bindings/js/JSCustomVersionChangeCallback.cpp:
        * page/InspectorController.cpp:

2007-10-22  Andrew Wellington  <proton@wiretapped.net>

        Reviewed by Mark Rowe.

        Fix for local database support after r26879
        Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set

        * Configurations/WebCore.xcconfig:
        * WebCore.pro:
        * WebCore.vcproj/build-generated-files.sh:

2007-10-22  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Lars.

        Disable the Database feature for the qmake build for now.

        * WebCore.pro:

2007-10-22  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Lars.

        Make disabling the database feature (ENABLE_DATABASE=0) work by
        placing various #ifdefs into the code and making the compilation of
        some files optional.

        * WebCore.pro:
        * dom/Document.cpp:
        (WebCore::Document::~Document):
        (WebCore::Document::defaultEventHandler):
        * dom/Document.h:
        * page/DOMWindow.cpp:
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        * page/InspectorController.cpp:
        (WebCore::InspectorController::windowScriptObjectAvailable):
        (WebCore::InspectorController::populateScriptResources):
        (WebCore::InspectorController::clearDatabaseScriptResources):
        (WebCore::InspectorController::didCommitLoad):
        * page/InspectorController.h:

2007-10-22  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        http://bugs.webkit.org/show_bug.cgi?id=15611
        [GTK] Text selection behaviour different in Debug and Release builds

        http://bugs.webkit.org/show_bug.cgi?id=15578
        [GTK] Text editor caret does not blink

        Never allow control to reach the end of non-void functions.

        Return more sensible values, or in some cases, nulls.

        * page/gtk/EventHandlerGtk.cpp:
        (WebCore::isKeyboardOptionTab):
        (WebCore::EventHandler::tabsToAllControls):
        (WebCore::EventHandler::eventActivatedView):

2007-10-22  Holger Freyther  <zecke@selfish.org>

        Reviewed by Simon Hausmann <hausmann@kde.org>.

        Implement ResourceHandle::loadResourceSynchronously using ResourceHandle and a special ResourceHandleClient. This approach has the possible danger of reentrancy.

        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::WebCoreSynchronousLoader::resourceResponse):
        (WebCore::WebCoreSynchronousLoader::resourceError):
        (WebCore::WebCoreSynchronousLoader::data):
        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
        (WebCore::WebCoreSynchronousLoader::didReceiveData):
        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
        (WebCore::WebCoreSynchronousLoader::didFail):
        (WebCore::WebCoreSynchronousLoader::waitForCompletion):
        (WebCore::ResourceHandle::loadResourceSynchronously):

2007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>

        Reviewed by Lars Knoll <lars@trolltech.com>.

        Style fix. It is allowed to attempt to delete 0.

        * platform/qt/ClipboardQt.cpp:

2007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>

        Reviewed by Lars Knoll <lars@trolltech.com>.

        Make it actually localizable....

        * platform/qt/Localizations.cpp:
        (WebCore::submitButtonDefaultLabel):
        (WebCore::inputElementAltText):
        (WebCore::searchableIndexIntroduction):
        (WebCore::fileButtonChooseFileLabel):
        (WebCore::fileButtonNoFileSelectedLabel):
        (WebCore::contextMenuItemTagOpenLinkInNewWindow):
        (WebCore::contextMenuItemTagDownloadLinkToDisk):
        (WebCore::contextMenuItemTagCopyLinkToClipboard):
        (WebCore::contextMenuItemTagOpenImageInNewWindow):
        (WebCore::contextMenuItemTagDownloadImageToDisk):
        (WebCore::contextMenuItemTagCopyImageToClipboard):
        (WebCore::contextMenuItemTagOpenFrameInNewWindow):
        (WebCore::contextMenuItemTagCopy):
        (WebCore::contextMenuItemTagGoBack):
        (WebCore::contextMenuItemTagGoForward):
        (WebCore::contextMenuItemTagStop):
        (WebCore::contextMenuItemTagReload):
        (WebCore::contextMenuItemTagCut):
        (WebCore::contextMenuItemTagPaste):
        (WebCore::contextMenuItemTagNoGuessesFound):
        (WebCore::contextMenuItemTagIgnoreSpelling):
        (WebCore::contextMenuItemTagLearnSpelling):
        (WebCore::contextMenuItemTagSearchWeb):
        (WebCore::contextMenuItemTagLookUpInDictionary):
        (WebCore::contextMenuItemTagOpenLink):
        (WebCore::contextMenuItemTagIgnoreGrammar):
        (WebCore::contextMenuItemTagSpellingMenu):
        (WebCore::contextMenuItemTagShowSpellingPanel):
        (WebCore::contextMenuItemTagCheckSpelling):
        (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
        (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
        (WebCore::contextMenuItemTagFontMenu):
        (WebCore::contextMenuItemTagBold):
        (WebCore::contextMenuItemTagItalic):
        (WebCore::contextMenuItemTagUnderline):
        (WebCore::contextMenuItemTagOutline):
        (WebCore::contextMenuItemTagWritingDirectionMenu):
        (WebCore::contextMenuItemTagDefaultDirection):
        (WebCore::contextMenuItemTagLeftToRight):
        (WebCore::contextMenuItemTagRightToLeft):
        (WebCore::contextMenuItemTagInspectElement):
        (WebCore::searchMenuNoRecentSearchesText):
        (WebCore::searchMenuRecentSearchesText):

2007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>

        Reviewed by Lars Knoll <lars@trolltech.com>.

        Adjust the code to obey the Coding Style.

        * platform/qt/Localizations.cpp:
        (WebCore::submitButtonDefaultLabel):
        (WebCore::inputElementAltText):
        (WebCore::resetButtonDefaultLabel):
        (WebCore::defaultLanguage):
        (WebCore::searchableIndexIntroduction):
        (WebCore::fileButtonChooseFileLabel):
        (WebCore::fileButtonNoFileSelectedLabel):
        (WebCore::contextMenuItemTagOpenLinkInNewWindow):
        (WebCore::contextMenuItemTagDownloadLinkToDisk):
        (WebCore::contextMenuItemTagCopyLinkToClipboard):
        (WebCore::contextMenuItemTagOpenImageInNewWindow):
        (WebCore::contextMenuItemTagDownloadImageToDisk):
        (WebCore::contextMenuItemTagCopyImageToClipboard):
        (WebCore::contextMenuItemTagOpenFrameInNewWindow):
        (WebCore::contextMenuItemTagCopy):
        (WebCore::contextMenuItemTagGoBack):
        (WebCore::contextMenuItemTagGoForward):
        (WebCore::contextMenuItemTagStop):
        (WebCore::contextMenuItemTagReload):
        (WebCore::contextMenuItemTagCut):
        (WebCore::contextMenuItemTagPaste):
        (WebCore::contextMenuItemTagNoGuessesFound):
        (WebCore::contextMenuItemTagIgnoreSpelling):
        (WebCore::contextMenuItemTagLearnSpelling):
        (WebCore::contextMenuItemTagSearchWeb):
        (WebCore::contextMenuItemTagLookUpInDictionary):
        (WebCore::contextMenuItemTagOpenLink):
        (WebCore::contextMenuItemTagIgnoreGrammar):
        (WebCore::contextMenuItemTagSpellingMenu):
        (WebCore::contextMenuItemTagShowSpellingPanel):
        (WebCore::contextMenuItemTagCheckSpelling):
        (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
        (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
        (WebCore::contextMenuItemTagFontMenu):
        (WebCore::contextMenuItemTagBold):
        (WebCore::contextMenuItemTagItalic):
        (WebCore::contextMenuItemTagUnderline):
        (WebCore::contextMenuItemTagOutline):
        (WebCore::contextMenuItemTagWritingDirectionMenu):
        (WebCore::contextMenuItemTagDefaultDirection):
        (WebCore::contextMenuItemTagLeftToRight):
        (WebCore::contextMenuItemTagRightToLeft):
        (WebCore::contextMenuItemTagInspectElement):
        (WebCore::searchMenuNoRecentSearchesText):
        (WebCore::searchMenuRecentSearchesText):
        (WebCore::searchMenuClearRecentSearchesText):
        (WebCore::AXWebAreaText):
        (WebCore::AXLinkText):
        (WebCore::AXListMarkerText):
        (WebCore::AXImageMapText):
        (WebCore::AXHeadingText):
        (WebCore::unknownFileSizeText):

2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>

        Reviewed by Lars Knoll <lars@trolltech.com>.

        Return a non empty string in more functions.

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

2007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>

        Reviewed by Lars Knoll <lars@trolltech.com>.

        Shrink the TemporaryLinkStubs and move the
        Frame::setNeedsReapplyStyles stub to FrameQt.cpp

        * page/qt/FrameQt.cpp:
        (WebCore::Frame::setNeedsReapplyStyles):
        * platform/qt/TemporaryLinkStubs.cpp:

2007-10-22  Holger Freyther  <zecke@selfish.org>

        Reviewed by Lars Knoll <lars@trolltech.com>.

        Implement the WebCore::fileSize function. The
        implementation assumes that QFileInfo will cache
        the result of the stat so that info.size() and
        info.exists() use the same stat result.

        * platform/qt/FileSystemQt.cpp:
        (WebCore::deleteFile):
        * platform/qt/TemporaryLinkStubs.cpp:

2007-10-21  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        Use the portable GLib time function.

        Use event timestamps rather than the current time where available.

        Rename SharedTimerLinux.cpp since it isn't Linux-specific.

        * WebCore.pro:
        * platform/gtk/MouseEventGtk.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/gtk/SystemTimeGtk.cpp: Added.
        (WebCore::currentTime):
        * platform/gtk/SharedTimerGtk.cpp: Copied from platform/gtk/SharedTimerLinux.cpp.
        * platform/gtk/SharedTimerLinux.cpp: Removed.

2007-10-22  David Hyatt  <hyatt@apple.com>

        Fix for 15596, regression from my transform changes.  Preserve null checks on the clip rects calls for parent(),
        since the method is called on orphaned layers.  This is not very well understood.

        Reviewed by eric

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

2007-10-21  Mark Rowe  <mrowe@apple.com>

        Reviewed by Alp.

        http://bugs.webkit.org/show_bug.cgi?id=15575
        Bug 15575: [GTK] Implement threading using GThread

        * WebCore.pro: Remove ThreadingPthreads.cpp from the Gtk build and link against libgthreads.
        * loader/icon/IconDatabase.cpp: Initialize threading before the mutex is created to be compatible with gthreads.
        (WebCore::iconDatabase):
        (WebCore::IconDatabase::open):
        * platform/Threading.h:
        * platform/gtk/ThreadingGtk.cpp: Threading implementation in terms of GThread, based heavily on the pthreads implementation.
        (WebCore::initializeThreading):
        (WebCore::threadMapMutex):
        (WebCore::threadMap):
        (WebCore::establishIdentifierForThread):
        (WebCore::threadForIdentifier):
        (WebCore::clearThreadForIdentifier):
        (WebCore::createThread):
        (WebCore::waitForThreadCompletion):
        (WebCore::detachThread):
        (WebCore::Mutex::Mutex):
        (WebCore::Mutex::~Mutex):
        (WebCore::Mutex::lock):
        (WebCore::Mutex::tryLock):
        (WebCore::Mutex::unlock):
        (WebCore::ThreadCondition::ThreadCondition):
        (WebCore::ThreadCondition::~ThreadCondition):
        (WebCore::ThreadCondition::wait):
        (WebCore::ThreadCondition::signal):
        (WebCore::ThreadCondition::broadcast):
        * storage/Database.cpp:
        (WebCore::Database::Database): Initialize threading when Database is used so that it will be initialized even
        if the icon database is compiled out

2007-10-21  Mark Rowe  <mrowe@apple.com>

        Build fix.

        * ksvg2/css/SVGCSSStyleSelector.cpp: Use fabsf when dealing with a float to prevent the
        implicit conversion warning.

2007-10-21  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        Implement spelling and grammar mistake underlining with Pango/Cairo.

        This change does not add any actual support for spelling or grammar
        checking to any port.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):

2007-10-21  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        Cairo canvas fixes:

        Fix a refcounting issue leading to leaks and crashes on canvas
        content.

        Delegate memory management of canvas images to Cairo.

        Mark unhandled conditions with notImplemented() instead of silently
        ignoring them.

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage):
        * html/CanvasStyle.cpp:
        (WebCore::CanvasStyle::applyStrokeColor):
        * html/CanvasStyle.h:
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
        (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
        (WebCore::HTMLCanvasElement::reset):
        (WebCore::HTMLCanvasElement::paint):
        (WebCore::HTMLCanvasElement::createDrawingContext):
        (WebCore::HTMLCanvasElement::createPlatformImage):

2007-10-21  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric.

        Handle glyph-orientation-vertical / glyph-orientation-horizontal SVG CSS properties.

        The SVG layouting code itself doesn't handle these properties yet,
        it's just about recognizing them in the SVG CSS engine.

        * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
        * ksvg2/css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * ksvg2/css/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::InheritedFlags::operator==):
        (WebCore::SVGRenderStyle::InheritedFlags::operator!=):
        (WebCore::SVGRenderStyle::setBitDefaults):
        * ksvg2/css/SVGRenderStyleDefs.h:

2007-10-21  Christian Dywan  <christian@twotoasts.de>

        Reviewed by Alp.

        http://bugs.webkit.org/show_bug.cgi?id=15589
        Use glib's path separator on gtk

        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::pathByAppendingComponent):

2007-10-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15259
          <rdar://problem/5499902> REGRESSION: Text overflows when using word spacing and centering (affects myspace.com music videos page)

        Test: fast/text/word-space.html

        * rendering/RenderBlock.cpp:
        (WebCore::stripTrailingSpace): Added word-spacing to the width of the
        space being stripped out.
        * rendering/RenderText.cpp:
        (WebCore::RenderText::trimmedPrefWidths): Changed handling of
        leading space. Since Font::width includes leading space width but not
        leading word spacing, this method needs to either remove the width of a
        space character or add word spacing,
        depending on stripFrontSpaces. 
        (WebCore::RenderText::calcPrefWidths): Corrected the check for adding
        trailing word spacing so that it would work in the case where the last
        space is ignored.
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed to
        actually add word spacing to the total width.

2007-10-20  David Hyatt  <hyatt@apple.com>

        Land support for the transform CSS property.  Basic painting now works properly. There are many open issues
        that will have to be covered by individual bugs.

        Reviewed by olliej

        * css/CSSParser.cpp:
        (WebCore::CSSParser::validUnit):
        (WebCore::CSSParser::parseTransform):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::~RenderLayer):
        (WebCore::RenderLayer::updateLayerPositions):
        (WebCore::RenderLayer::updateTransform):
        (WebCore::transparencyClipBox):
        (WebCore::RenderLayer::beginTransparencyLayers):
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::calculateClipRects):
        (WebCore::RenderLayer::calculateRects):
        (WebCore::RenderLayer::childrenClipRect):
        (WebCore::RenderLayer::selfClipRect):
        (WebCore::RenderLayer::intersectsDamageRect):
        (WebCore::RenderLayer::boundingBox):
        * rendering/RenderLayer.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::containingBlock):
        (WebCore::RenderObject::container):
        * rendering/RenderStyle.cpp:
        (WebCore::RenderStyle::applyTransform):
        * rendering/RenderStyle.h:
        (WebCore::TransformOperation::isScaleOperation):
        (WebCore::TransformOperation::isRotateOperation):
        (WebCore::TransformOperation::isSkewOperation):
        (WebCore::TransformOperation::isTranslateOperation):
        (WebCore::TransformOperation::isMatrixOperation):
        (WebCore::ScaleTransformOperation::isScaleOperation):
        (WebCore::RotateTransformOperation::isRotateOperation):
        (WebCore::SkewTransformOperation::isSkewOperation):
        (WebCore::TranslateTransformOperation::isTranslateOperation):
        (WebCore::MatrixTransformOperation::isMatrixOperation):
        * rendering/RenderTableRow.h:
        (WebCore::RenderTableRow::requiresLayer):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::writeLayers):

2007-10-20  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Adam.

        Add basic @font-face to the Web Inspector.

        * page/InspectorController.cpp:
        (WebCore::InspectorResource::type): Check for CachedResource::FontResource.
        * page/inspector/Resource.js: Add support for Font types and font preview in the icon.
        * page/inspector/ResourcePanel.js: Show a font preview for font resources.
        * page/inspector/inspector.css: Style for the font preview and font icon.
        * page/inspector/inspector.js: Add font mime types.

2007-10-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Fixes:
            - http://bugs.webkit.org/show_bug.cgi?id=14393
              Column on the left side of the Web Inspector should have a smaller minimum width for resizing
            - http://bugs.webkit.org/show_bug.cgi?id=14394
              Left pane of the Web Inspector "shakes" when resizing it to maximum width

        * page/inspector/inspector.js: Change the constraint logic to only enforce a 100px min-width
          and window.innerWidth - 100 max-width for the sidebar.  The change also makes the viewbuttons
          move with the sidebar.

2007-10-20  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15208
          display:table causes the collapsed text to show at a different position when expanded

        Test: fast/table/insert-before-anonymous-ancestors.html

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild): Rolled out r11579. I think whatever
        that change was supposed to accomplish has since been done in other
        places in the code.

2007-10-20  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dave Hyatt.

        Fix http://bugs.webkit.org/show_bug.cgi?id=15584
        Bug 15584: REGRESSION(r26696): GtkLauncher segfaults on WebCore::WidthIterator::advance

        * platform/Font.cpp:
        (WebCore::Font::glyphDataForCharacter): If the fallback page exists but does not have a
        glyph for the character, fall back to the missing glyph data rather than returning an
        invalid GlyphData.

2007-10-20  Jasper Bryant-Greene  <m@ni.ac.nz>

        Reviewed by Maciej.

        Changed the hard-coded scroll delta in WheelEventGtk from 120 to 0.25,
        as suggested by George Wright in #15108 (which this patch will
        resolve).

        This gives a more sane scrolling behaviour, rather than the
        jumping to the end or start of the document as occurred previously.

        * platform/gtk/WheelEventGtk.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):

2007-10-20  Alp Toker  <alp@atoker.com>

        Reviewed by Eric.

        Support text boundary detection.
        Move TextBoundariesWin.cpp to platform/ since it's portable and useful.
        Split out and implement some TemporaryLinkStubs.

        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * platform/TextBoundariesICU.cpp: Copied from WebCore/platform/win/TextBoundariesWin.cpp.
        * platform/gtk/Language.cpp: Added.
        (WebCore::defaultLanguage):
        * platform/gtk/TemporaryLinkStubs.cpp:
        * platform/gtk/TextBreakIteratorInternalICUGtk.cpp: Added.
        (WebCore::currentTextBreakLocaleID):
        * platform/win/TextBoundariesWin.cpp: Removed.

2007-10-20  Mark Rowe  <mrowe@apple.com>

        Reviewed by Tim Hatcher.

        Workaround for http://bugs.webkit.org/show_bug.cgi?id=15574
        Bug 15574: Web Inspector doesn't work with the new Database feature

        The executeSql callback is executed in the security domain of the web page that owns the database,
        while the inspector's window object is in the callback functions scope chain.  This is leading to a
        security violation when the callback attempts to access "document".  We can work around this by
        ensuring that "document" can be found in the scope chain before the window object.

        * page/inspector/DatabasePanel.js:

2007-10-20  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - http://bugs.webkit.org/show_bug.cgi?id=15567
          speed up hashing const char* by removing call to strlen

        This includes one other fix as well. Both were from a day where I did some
        profiling to find hot spots when running the page load test.

        * platform/StringImpl.cpp:
        (WebCore::StringImpl::computeHash): Compute the hash without calling strlen.
        Also change the argument names to not confusingly use m_ prefixes.
        (WebCore::StringImpl::createStrippingNull): Added a faster case for strings that
        don't have null.

2007-10-20  Mark Rowe  <mrowe@apple.com>

        Reviewed by Alp.

        Gtk changes needed to enable HTML 5 client-side database storage.

        * WebCore.pro: Have Gtk use ThreadingPthreads.cpp.
        * platform/pthreads/ThreadingPthreads.cpp: Include errno so that EDEADLK and EBUSY are available.

2007-10-20  Mark Rowe  <mrowe@apple.com>

        Reviewed by Alp.

        Implement callOnMainThread for Gtk+ via a one-shot zero-delay timer that will be dispatched
        from the main event loop.

        * WebCore.pro:
        * platform/gtk/TemporaryLinkStubs.cpp:
        * platform/gtk/ThreadingGtk.cpp: Added.
        (WebCore::callFunctionOnMainThread):
        (WebCore::callOnMainThread):

2007-10-20  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric.

        Fix non-functional display="inline" / display="none" for SVG text.

        Fixes: svg/W3C-SVG-1.1/animate-elem-39-t.svg (display="inline" support)
        Fixes: svg/batik/text/textProperties2.svg (display="inline/none" support)
        Fixes: svg/carto.net/tabgroup.svg (display="none" support, stray content before layouting)
        
        * css/svg.css: Remove "important" flag on text/foreignObject display: block property
        * rendering/RenderSVGBlock.cpp:
        (WebCore::RenderSVGBlock::setStyle):

2007-10-20  Mark Rowe  <mrowe@apple.com>

        Reviewed by Alp.

        Replace #ifdef'd code with the appropriate use of a forwarding header.

        * ForwardingHeaders/kjs/array_instance.h: Added.
        * bindings/js/JSDatabaseCustom.cpp:

2007-10-20  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

        Add support for 'kerning' property in SVG text layout code.
        Support all textLength/lengthAdjust modes on normal text & textPaths.

        Support letter & word spacing on textPath.
        Fix text selection when any spacing (letter/word/kerning) is involved.

        Fixes: http://bugs.webkit.org/show_bug.cgi?id=15571
        Fixes: svg/batik/text/textOnPathSpaces.svg (spacing)
               svg/batik/text/textLayout.svg (kerning support)
               svg/text/text-spacing-01-b.svg (text selection)

        * platform/Font.cpp:
        (WebCore::WidthIterator::advance):
        * platform/TextStyle.h:
        (WebCore::TextStyle::TextStyle):
        (WebCore::TextStyle::spacingDisabled):
        (WebCore::TextStyle::disableSpacing):
        * rendering/SVGCharacterLayoutInfo.cpp:
        (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo):
        (WebCore::SVGCharacterLayoutInfo::nextPathLayoutPointAndAngle):
        (WebCore::SVGCharacterLayoutInfo::setInPathLayout):
        (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
        (WebCore::SVGChar::characterTransform):
        * rendering/SVGCharacterLayoutInfo.h:
        (WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo):
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::closeTextChunk):
        (WebCore::calculateKerning):
        (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
        (WebCore::svgTextStyleForInlineTextBox):
        (WebCore::calculateTextAnchorShiftForTextChunk):
        (WebCore::applyTextAnchorToTextChunk):
        (WebCore::calculateTextLengthCorrectionForTextChunk):
        (WebCore::applyTextLengthCorrectionToTextChunk):
        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
        (WebCore::SVGRootInlineBox::buildLayoutInformation):
        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
        (WebCore::SVGRootInlineBox::buildTextChunks):
        (WebCore::SVGRootInlineBox::layoutTextChunks):
        * rendering/SVGRootInlineBox.h:

2007-10-20  Rodney Dawes  <dobey@wayofthemonkey.com>

        Reviewd by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=15563
        Fix conflict with X11 Window type in WebCore

        * WebCore/bindings/js/JSDocumentCustom.cpp:
        * WebCore/bindings/js/JSHTMLDocumentCustom.cpp:
        * WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp:
        * WebCore/bindings/js/kjs_dom.cpp:
        * WebCore/bindings/js/kjs_events.cpp:
        * WebCore/bindings/js/kjs_proxy.cpp:
        * WebCore/history/CachedPage.cpp:
        * WebCore/page/Chrome.cpp:
        * WebCore/page/Frame.cpp:

2007-10-20  Simon Hausmann  <hausmann@kde.org>

        Build fix, not reviewed.

        Fix the Qt build by adding the two missing FileSystem functions.

        * platform/qt/FileSystemQt.cpp:
        (WebCore::makeAllDirectories):
        (WebCore::pathByAppendingComponent):

2007-10-19  Alp Toker  <alp@atoker.com>

        Reviewed by Oliver.

        GTK+ build fix enabling the new local database storage feature.
        There is also a prospective Qt build fix.

        * WebCore.pro:
        * bindings/js/JSDatabaseCustom.cpp:
        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::pathByAppendingComponent):
        (WebCore::makeAllDirectories):

2007-10-19  Andrew Wellington  <proton@wiretapped.net>

        Reviewed by Brady Eidson.

        Mac build fix.

        * WebCore.xcodeproj/project.pbxproj:

2007-10-19  Alp Toker  <alp@atoker.com>

        Reviewed by Oliver.

        Use platform colors for text selection.
        Update the cache when the GTK style is changed.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
        (WebCore::RenderThemeGtk::gtkStyleSet):
        (WebCore::RenderThemeGtk::gtkEntry):
        * platform/gtk/RenderThemeGtk.h:

2007-10-19  Adele Peterson  <adele@apple.com>

        Reviewed by Beth.

        Fix for: <rdar://problem/5518461> REGRESSION (2.0.4-3): Popup arrows are missing in small popups at homedepot.com

        Test: fast/forms/menulist-no-overflow.html

        * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::setStyle): Don't allow overflow on menu lists.

2007-10-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Brady.

        Move some SQL-related classes to platform/sql.
        
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/icon/SQLDatabase.cpp: Removed.
        * loader/icon/SQLDatabase.h: Removed.
        * loader/icon/SQLStatement.cpp: Removed.
        * loader/icon/SQLStatement.h: Removed.
        * loader/icon/SQLTransaction.cpp: Removed.
        * loader/icon/SQLTransaction.h: Removed.
        * platform/sql/SQLDatabase.cpp: Copied from loader/icon/SQLDatabase.cpp.
        * platform/sql/SQLDatabase.h: Copied from loader/icon/SQLDatabase.h.
        * platform/sql/SQLStatement.cpp: Copied from loader/icon/SQLStatement.cpp.
        * platform/sql/SQLStatement.h: Copied from loader/icon/SQLStatement.h.
        * platform/sql/SQLTransaction.cpp: Copied from loader/icon/SQLTransaction.cpp.
        * platform/sql/SQLTransaction.h: Copied from loader/icon/SQLTransaction.h.

2007-10-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Update to match the latest version of the spec. Now, executeSQL takes an array
        of SQL parameters instead of them being passed as arguments.
        
        * bindings/js/JSDatabaseCustom.cpp:
        (WebCore::JSDatabase::executeSql):
        * page/inspector/DatabasePanel.js:
        * storage/Database.idl:

2007-10-19  Brady Eidson  <beidson@apple.com>

        Reviewed by Tim

        Tiger's SQLite doesn't support CREATE TABLE IF NOT EXISTS :(

        * storage/Database.cpp:
        (WebCore::Database::performOpenAndVerify):
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::DatabaseTracker):

2007-10-19  Anders Carlsson  <andersca@apple.com>

        Release build fix.
        
        * WebCore.vcproj/WebCore.vcproj:

2007-10-19  Brady Eidson  <beidson@apple.com>

        Remove stray printfs

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

2007-10-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Brady.

        Apparently the Win32 pthreads impl we use does not allow unlocking a mutex that has not
        already been locked, so lock the mutex first.
        
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::databaseThread):

2007-10-19  Brady Eidson  <beidson@apple.com>

        Better build fix

        * loader/icon/SQLDatabase.cpp:
        (WebCore::SQLDatabase::authorizerFunction):  Definite works by 3.3.13

2007-10-19  Brady Eidson  <beidson@apple.com>

        Build fix

        * loader/icon/SQLDatabase.cpp:
        (WebCore::SQLDatabase::authorizerFunction): I don't know *when* these constants were
          added to SQLite, but I know they were by 3.4.0

2007-10-19  Brady Eidson  <beidson@apple.com>
        Reviewed by Anders

        Windows specific changes, as well as renaming Queue -> Deque

        * ForwardingHeaders/wtf/Deque.h: Added.
        * ForwardingHeaders/wtf/Queue.h: Removed.
        * platform/win/FileSystemWin.cpp:
        (WebCore::fileSize):
        (WebCore::fileExists):
        (WebCore::deleteFile):
        (WebCore::pathByAppendingComponent):
        (WebCore::fileSystemRepresentation):
        (WebCore::makeAllDirectories):
        (WebCore::homeDirectoryPath):
        * storage/Database.h:
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::documentGoingAway):
        (WebCore::DatabaseThread::databaseGoingAway):
        (WebCore::DatabaseThread::dispatchNextTaskIdentifier):
        (WebCore::DatabaseThread::scheduleTask):
        (WebCore::DatabaseThread::scheduleImmediateTask):
        * storage/DatabaseThread.h:

2007-10-19  Brady Eidson <beidson@apple.com>

        Reviewed by Tim and Anders

        Preliminary support for HTML5 local database storage (http://www.whatwg.org/specs/web-apps/current-work/)

        The specification is still in flux but the fundamentals are pretty solid and we can start using and testing 
        this implementation even while filing bugs to track changes in the spec as it becomes more final

        There are some implementation details in this patch that seem unused or useless, but they remain in place 
        while the spec is in flux and might go one way or another.

        * platform/Logging.cpp: Add StorageAPI logging channel
        * platform/Logging.h:

        * storage/Database.cpp: Added.
        (WebCore::Database::databaseInfoTableName):
        (WebCore::databaseVersionKey):
        (WebCore::Database::openDatabase): C++ version of the window.openDatabase() javascript API
        (WebCore::Database::Database):
        (WebCore::Database::~Database):
        (WebCore::Database::openAndVerifyVersion):
        (WebCore::retrieveTextResultFromDatabase):
        (WebCore::Database::getVersionFromDatabase):
        (WebCore::setTextValueInDatabase):
        (WebCore::Database::setVersionInDatabase):
        (WebCore::Database::databaseThreadGoingAway): May be removed in the future
        (WebCore::Database::disableAuthorizer): For internal (WebInspector) use to get around the authorizer's restrictions
        (WebCore::Database::enableAuthorizer):
        (WebCore::Database::guidForOriginAndName): Candidate for refactoring and/or moving to the database tracker.  
          The GUID for each database identifier is currently for tracking the database version, but might be rescoped in the future
        (WebCore::Database::resetAuthorizer):
        (WebCore::Database::performPolicyChecks): Currently, the only post-executeSql policy check planned is the origin size usage 
        (WebCore::Database::scheduleDatabaseCallback):
        (WebCore::Database::performOpenAndVerify): 
        (WebCore::Database::performChangeVersion):
        (WebCore::Database::performExecuteSql):
        (WebCore::Database::performCloseTransaction):
        (WebCore::Database::performGetTableNames):
        (WebCore::Database::version): C++ version of the javascript API
        (WebCore::Database::changeVersion): Ditto
        (WebCore::Database::executeSql): Ditto
        (WebCore::Database::closeTransaction): Ditto
        (WebCore::Database::tableNames): For internal (WebInspector) use
        (WebCore::Database::deliverAllPendingCallbacks):
        (WebCore::Database::deliverPendingCallbacks):
        * storage/Database.h: Added.
        (WebCore::Database::databaseDebugName): For debug logging purposes
        * storage/Database.idl: Added.

        * storage/DatabaseAuthorizer.cpp: Added.
          The DatabaseAuthorizer is used to both prevent the script from doing "illegal" things in sql as well as
          tracking when effects certain sql statements might have (such as increasing the size of the database)
        (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
        (WebCore::DatabaseAuthorizer::reset):
        (WebCore::DatabaseAuthorizer::createTable):
        (WebCore::DatabaseAuthorizer::createTempTable):
        (WebCore::DatabaseAuthorizer::dropTable):
        (WebCore::DatabaseAuthorizer::dropTempTable):
        (WebCore::DatabaseAuthorizer::allowAlterTable):
        (WebCore::DatabaseAuthorizer::createIndex):
        (WebCore::DatabaseAuthorizer::createTempIndex):
        (WebCore::DatabaseAuthorizer::dropIndex):
        (WebCore::DatabaseAuthorizer::dropTempIndex):
        (WebCore::DatabaseAuthorizer::createTrigger):
        (WebCore::DatabaseAuthorizer::createTempTrigger):
        (WebCore::DatabaseAuthorizer::dropTrigger):
        (WebCore::DatabaseAuthorizer::dropTempTrigger):
        (WebCore::DatabaseAuthorizer::createVTable):
        (WebCore::DatabaseAuthorizer::dropVTable):
        (WebCore::DatabaseAuthorizer::allowDelete):
        (WebCore::DatabaseAuthorizer::allowInsert):
        (WebCore::DatabaseAuthorizer::allowUpdate):
        (WebCore::DatabaseAuthorizer::allowRead):
        (WebCore::DatabaseAuthorizer::allowAnalyze):
        (WebCore::DatabaseAuthorizer::allowPragma):
        (WebCore::DatabaseAuthorizer::allowAttach):
        (WebCore::DatabaseAuthorizer::allowDetach):
        (WebCore::DatabaseAuthorizer::allowFunction):
        (WebCore::DatabaseAuthorizer::disable):
        (WebCore::DatabaseAuthorizer::enable):
        (WebCore::DatabaseAuthorizer::denyBasedOnTableName): Don't allow access to the __WebKit meta info table as
          it should be invisible to scripts
        * storage/DatabaseAuthorizer.h: Added.
        (WebCore::DatabaseAuthorizer::lastActionWasInsert):
        (WebCore::DatabaseAuthorizer::lastActionIncreasedSize):

        * storage/DatabaseCallback.cpp: Added.
          Generic item to queue up for callbacks on the main thread for database activities that take place on 
          a secondary thread
        (WebCore::DatabaseChangeVersionCallback::DatabaseChangeVersionCallback):
        (WebCore::DatabaseChangeVersionCallback::performCallback):
        (WebCore::DatabaseExecuteSqlCallback::DatabaseExecuteSqlCallback):
        (WebCore::DatabaseExecuteSqlCallback::performCallback):
        * storage/DatabaseCallback.h: Added.
        (WebCore::DatabaseCallback::~DatabaseCallback):
        (WebCore::DatabaseChangeVersionCallback::~DatabaseChangeVersionCallback):
        (WebCore::DatabaseExecuteSqlCallback::~DatabaseExecuteSqlCallback):

        * storage/DatabaseTask.h: Added.
          Generic work-item to be queued up on the background database thread
        (WebCore::DatabaseTask::isComplete):
        (WebCore::DatabaseOpenTask::exceptionCode):
        (WebCore::DatabaseOpenTask::openSuccessful):
        (WebCore::DatabaseTableNamesTask::tableNames):
        * storage/DatabaseTask.cpp: Added.
        (WebCore::DatabaseTask::DatabaseTask):
        (WebCore::DatabaseTask::~DatabaseTask):
        (WebCore::DatabaseTask::performTask):
        (WebCore::DatabaseTask::lockForSynchronousScheduling): Used when the main thread needs this task accomplished 
          synchronously
        (WebCore::DatabaseTask::waitForSynchronousCompletion):

        (WebCore::DatabaseOpenTask::DatabaseOpenTask):
        (WebCore::DatabaseOpenTask::doPerformTask):

        (WebCore::DatabaseExecuteSqlTask::DatabaseExecuteSqlTask):
        (WebCore::DatabaseExecuteSqlTask::doPerformTask):

        (WebCore::DatabaseChangeVersionTask::DatabaseChangeVersionTask):
        (WebCore::DatabaseChangeVersionTask::doPerformTask):

        (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
        (WebCore::DatabaseTableNamesTask::doPerformTask):

        * storage/DatabaseThread.cpp: Added.
          The current design is that each Document will have its own DatabaseThread.  This makes scripts on each
          individual document more response at the cost of adding more threads and potentially creating concurrency
          issues when the same database is open twice from two different documents
        (WebCore::DatabaseThread::DatabaseThread):
        (WebCore::DatabaseThread::~DatabaseThread):
        (WebCore::DatabaseThread::start):
        (WebCore::DatabaseThread::documentGoingAway): Called to shut the thread down when the document is destroyed
        (WebCore::DatabaseThread::databaseGoingAway): Remove all pending tasks for this database
        (WebCore::DatabaseThread::databaseThreadStart):
        (WebCore::DatabaseThread::databaseThread):
        (WebCore::DatabaseThread::dispatchNextTaskIdentifier):
        (WebCore::DatabaseThread::scheduleTask):
        (WebCore::DatabaseThread::scheduleImmediateTask): Schedule a task that gets to "cut to the front of the line" when
          the main thread requires a task be performed synchronously
        (WebCore::DatabaseThread::wakeWorkThread):
        * storage/DatabaseThread.h: Added.

        * storage/DatabaseTracker.cpp: Added.
          The DatabaseTracker is the master management of all databases.  It will keep track of the filename for a given
          unique database, keep track of the total disk usage per-origin, and policys per database/origin
        (WebCore::DatabaseTracker::setDatabasePath):
        (WebCore::DatabaseTracker::databasePath):
        (WebCore::DatabaseTracker::tracker):
        (WebCore::DatabaseTracker::DatabaseTracker):
        (WebCore::DatabaseTracker::fullPathForDatabase):
        (WebCore::DatabaseTracker::populateOrigins):
        (WebCore::DatabaseTracker::origins):
        (WebCore::DatabaseTracker::databaseNamesForOrigin):
        (WebCore::DatabaseTracker::addDatabase):
        (WebCore::DatabaseTracker::deleteAllDatabases):
        (WebCore::DatabaseTracker::deleteAllDatabasesForOrigin):
        * storage/DatabaseTracker.h: Added.

        * storage/SQLCallback.h: Added. C++ version of the javascript executeSql() callback
        (WebCore::SQLCallback::~SQLCallback):
        * storage/SQLCallback.idl: Added.

        * storage/SQLResultSet.cpp: Added. C++ version of the javascript SQLResultSet object
        (WebCore::SQLResultSet::SQLResultSet):
        (WebCore::SQLResultSet::insertId):
        (WebCore::SQLResultSet::rowsAffected):
        (WebCore::SQLResultSet::errorCode):
        (WebCore::SQLResultSet::error):
        (WebCore::SQLResultSet::rows):
        (WebCore::SQLResultSet::setInsertId):
        (WebCore::SQLResultSet::setRowsAffected):
        (WebCore::SQLResultSet::setErrorCode):
        (WebCore::SQLResultSet::setErrorMessage):
        * storage/SQLResultSet.h: Added.
        * storage/SQLResultSet.idl: Added.

        * storage/SQLResultSetRowList.cpp: Added. C++ version of the javascript SQLResultSetRowList object
        (WebCore::SQLResultSetRowList::length):
        * storage/SQLResultSetRowList.h: Added.
        (WebCore::SQLResultSetRowList::columnNames):
        (WebCore::SQLResultSetRowList::values):
        (WebCore::SQLResultSetRowList::addColumn):
        (WebCore::SQLResultSetRowList::addResult):
        * storage/SQLResultSetRowList.idl: Added.

        * storage/VersionChangeCallback.h: Added. C++ version of the javascript changeVersion() callback
        (WebCore::VersionChangeCallback::~VersionChangeCallback):
        * storage/VersionChangeCallback.idl: Added.

2007-10-19  Brady Eidson <beidson@apple.com>

        Reviewed by Oliver + Same

        Forwarding header for the new wtf/Queue.h

        * ForwardingHeaders/wtf/Queue.h: Added.

2007-10-19  Anders Carlsson <beidson@apple.com>

        Reviewed by Sam Weinig

        Most of the Javascript binding support for the Storage API

        * bindings/js/JSCustomSQLCallback.cpp: Added.
        (WebCore::JSCustomSQLCallback::JSCustomSQLCallback):
        (WebCore::JSCustomSQLCallback::handleEvent):
        * bindings/js/JSCustomSQLCallback.h: Added.
                Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches
                handleEvent to a JS function or a JS object with a handleEvent function.

        * bindings/js/JSCustomVersionChangeCallback.cpp: Added.
        (WebCore::JSCustomVersionChangeCallback::JSCustomVersionChangeCallback):
        (WebCore::JSCustomVersionChangeCallback::handleEvent):
        * bindings/js/JSCustomVersionChangeCallback.h: Added.
                Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches
                handleEvent to a JS function or a JS object with a handleEvent function.

        * bindings/js/JSDatabaseCustom.cpp: Added.
        (WebCore::JSDatabase::executeSql):
                Custom implementation of executeSql that takes an array of parameters.
                
        (WebCore::JSDatabase::changeVersion):
                Custom implementation of changeVersion.
                
        * bindings/js/JSSQLResultSetRowListCustom.cpp: Added.
        (WebCore::JSSQLResultSetRowList::item):
                Custom method that returns a JS object that corresponds to a given row in the database.

        * bindings/scripts/CodeGeneratorJS.pm:

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::openDatabase):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
                Add openDatabase implementation.

2007-10-19  Brady Eidson <beidson@apple.com>

        Reviewed by Oliver

        Added tons of utility to the FileSystem abstractions, including moving
        some stuff over from IconDatabase

        * platform/FileSystem.h:

        * platform/cf/FileSystemCF.cpp: Added.
        (WebCore::fileSystemRepresentation):

        * platform/mac/FileSystemMac.mm:

        * platform/posix/FileSystemPOSIX.cpp: Added.
        (WebCore::fileExists):
        (WebCore::deleteFile):
        (WebCore::fileSize):
        (WebCore::pathByAppendingComponent):
        (WebCore::makeAllDirectories):

2007-10-19  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Adam Roben

        Preliminary Web Inspector support for the Storage API
        (This patch does not include the support artwork)

        * page/InspectorController.cpp:
        (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
        (WebCore::InspectorDatabaseResource::setScriptObject):
        (WebCore::databaseTableNames): Return the table names for a Database object.
        (WebCore::InspectorController::setWindowVisible):
        (WebCore::InspectorController::windowScriptObjectAvailable):
        (WebCore::InspectorController::populateScriptResources):
        (WebCore::InspectorController::addDatabaseScriptResource): Add the script object for the database.
        (WebCore::InspectorController::removeDatabaseScriptResource): Remove the script object for the database.
        (WebCore::InspectorController::clearDatabaseScriptResources): Remove all the database resources.
        (WebCore::InspectorController::didCommitLoad): Call clearDatabaseScriptResources().
        (WebCore::InspectorController::didOpenDatabase): Make a new InspectorDatabaseResource and add it to m_databaseResources.
        * page/InspectorController.h:
        * page/inspector/Database.js: Added.
        * page/inspector/DatabasePanel.js: Added.
        * page/inspector/ResourceCategory.js: Make resource categories assume less about the resource.
        * page/inspector/inspector.css: Add styles for the database panel.
        * page/inspector/inspector.html: Include DatabasePanel.js
        * page/inspector/inspector.js: Support for adding and removing Database resources.

2007-10-19  Brady Eidson <beidson@apple.com>

        Reviewed by Tim Hatcher

        Added support for Chrome prompts required by the Storage API

        * page/Chrome.cpp:
        (WebCore::Chrome::runDatabaseSizeLimitPrompt):
        * page/Chrome.h:
        * page/ChromeClient.h:
        * platform/graphics/svg/SVGImageEmptyClients.h:

2007-10-19  Brady Eidson <beidson@apple.com>

        Contributions and Review by Anders

        Various SQLite tweaks in preparation for the storage API

        * loader/icon/SQLDatabase.cpp:
        (WebCore::SQLDatabase::~SQLDatabase):
        (WebCore::SQLDatabase::authorizerFunction): Static callback from sqlite for authorizer functions
        (WebCore::SQLDatabase::setAuthorizer):
        (WebCore::SQLDatabase::lock):
        (WebCore::SQLDatabase::unlock):
        * loader/icon/SQLDatabase.h:

        * loader/icon/SQLStatement.cpp:
        (WebCore::SQLStatement::prepare): Switch to prepare16_v2
        (WebCore::SQLStatement::bindDouble): Added
        (WebCore::SQLStatement::bindValue): Bind a wrapped SQLValue object (described later)
        (WebCore::SQLStatement::bindParameterCount): Accessor to the sqlite3 API for validating statements
        * loader/icon/SQLStatement.h:
        (WebCore::SQLStatement::isPrepared):

        * platform/sql/SQLAuthorizer.cpp: Added.  Fully virtual interface to implement your own SQLite authorizer
        * platform/sql/SQLAuthorizer.h: Added.
        (WebCore::SQLAuthorizer::~SQLAuthorizer):
        (WebCore::SQLAuthorizer::createTable):
        (WebCore::SQLAuthorizer::createTempTable):
        (WebCore::SQLAuthorizer::dropTable):
        (WebCore::SQLAuthorizer::dropTempTable):
        (WebCore::SQLAuthorizer::allowAlterTable):
        (WebCore::SQLAuthorizer::createIndex):
        (WebCore::SQLAuthorizer::createTempIndex):
        (WebCore::SQLAuthorizer::dropIndex):
        (WebCore::SQLAuthorizer::dropTempIndex):
        (WebCore::SQLAuthorizer::createTrigger):
        (WebCore::SQLAuthorizer::createTempTrigger):
        (WebCore::SQLAuthorizer::dropTrigger):
        (WebCore::SQLAuthorizer::dropTempTrigger):
        (WebCore::SQLAuthorizer::createView):
        (WebCore::SQLAuthorizer::createTempView):
        (WebCore::SQLAuthorizer::dropView):
        (WebCore::SQLAuthorizer::dropTempView):
        (WebCore::SQLAuthorizer::createVTable):
        (WebCore::SQLAuthorizer::dropVTable):
        (WebCore::SQLAuthorizer::allowDelete):
        (WebCore::SQLAuthorizer::allowInsert):
        (WebCore::SQLAuthorizer::allowUpdate):
        (WebCore::SQLAuthorizer::allowTransaction):
        (WebCore::SQLAuthorizer::allowSelect):
        (WebCore::SQLAuthorizer::allowRead):
        (WebCore::SQLAuthorizer::allowAttach):
        (WebCore::SQLAuthorizer::allowDetach):
        (WebCore::SQLAuthorizer::allowReindex):
        (WebCore::SQLAuthorizer::allowAnalyze):
        (WebCore::SQLAuthorizer::allowFunction):

        * platform/sql/SQLValue.cpp: Added.  Contains a value for a SQLite database that can be one of a few types.  
          For now, just a String or a double
        (WebCore::SQLValue::SQLValue):
        (WebCore::SQLValue::string):
        (WebCore::SQLValue::number):
        * platform/sql/SQLValue.h: Added.
        (WebCore::SQLValue::):
        (WebCore::SQLValue::SQLValue):
        (WebCore::SQLValue::type):

2007-10-19  Brady Eidson <beidson@apple.com>

        Reviewed by Maciej

        Changed IconDatabase over to use new FileSystem apis

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::open):

2007-10-19  David Hyatt  <hyatt@apple.com>

        Fix for ebay parser crash.

        Reviewed by Beth

        fast/invalid/table-residual-style-crash.html added as a test

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):

2007-10-19  Sam Weinig  <sam@webkit.org>

        Fix Windows, Qt and GTK builds.

        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:

2007-10-19  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin.

        Encapsulate the same origin check into the new SecurityOrigin class.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_window.cpp:
        (KJS::Window::isSafeScript):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::defaultEventHandler):
        * dom/Document.h:
        (WebCore::Document::securityOrigin):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::begin):
        (WebCore::FrameLoader::setOpener):
        * loader/FrameLoader.h:
        * platform/SecurityOrigin.cpp: Added.
        (WebCore::SecurityOrigin::SecurityOrigin):
        (WebCore::SecurityOrigin::clear):
        (WebCore::SecurityOrigin::isEmpty):
        (WebCore::SecurityOrigin::setForFrame):
        (WebCore::SecurityOrigin::setDomainFromDOM):
        (WebCore::SecurityOrigin::allowsAccessFrom):
        (WebCore::SecurityOrigin::isSecureTransitionTo):
        * platform/SecurityOrigin.h: Added.

2007-10-19  Simon Hausmann  <hausmann@kde.org>

        Fix the Qt/Windows build: Added missing FontSelector.h include.

        * platform/qt/FontQt.cpp:

2007-10-19  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Lars.

        Qt/Windows build fix: Threading.h uses int32_t but doesn't include stdint.h.

        * platform/Threading.h:

2007-10-19  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Lars.

        Fix the Qt/Windows build, don't use cat but use the perl print trick
        instead.

        * WebCore.pro:

2007-10-18  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Kevin McCullough.

        <rdar://problem/5483526> 
        GoogleDocs: A hang occurs when applying list styling to a selection containing a table and line breaks

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::exitNode): For selection preservation, we must emit a character
        between every VisiblePosition.  We weren't emitting a space after some tables, because
        we won't try to emit a space if shouldEmitNewlineAFterNode is true, even if no newline
        was emitted.

2007-10-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adam Roben.

        - fix <rdar://problem/5313523>
        REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard

        * platform/network/mac/ResourceResponseMac.mm:
        (WebCore::ResourceResponse::doUpdateResourceResponse): Work around
        <rdar://problem/5321972> by testing for the case of a response
        with a MIME type of application/octet-stream and a Content-Type header
        starting with text/plain and setting the MIME type to text/plain in
        that case.

2007-10-18  Mark Rowe  <mrowe@apple.com>

        Fix the no-SVG build.

        * css/CSSPrimitiveValueMappings.h: Move the CSSPrimitiveValue implementations for
        LineCap, LineJoin and WindRule inside #if ENABLE(SVG).

2007-10-18  Darin Adler  <darin@apple.com>

        Reviewed by Anders.

        - some small tweaks to the threading implementation

        I had trouble building on Windows. Either the problem went away by itself
        or one of these changes fixed it.

        * platform/Threading.h: Eliminated the use of friend, and shared a single
        declaration for the initializeThreading function.

        * platform/pthreads/ThreadingPthreads.cpp: (WebCore::ThreadCondition::wait):
        Call impl() here.

        * platform/win/ThreadingWin.cpp: Got rid of two globals here with static
        constructors. Also added a typedef for the type of the function queue.
        (WebCore::functionQueueMutex): Added function.
        (WebCore::functionQueue): Ditto.
        (WebCore::callFunctionsOnMainThread): Use functions instead of using the
        globals directly.
        (WebCore::callOnMainThread): Ditto.

        * css/CSSParser.cpp: Had to touch this file to make things build.

2007-10-18  Adam Roben  <aroben@apple.com>

        Fix <rdar://5547462> Need to copy Inspector resources in Production builds

        I also added an excludes file for the xcopy command to avoid copying
        .svn folders.

        Reviewed by Geoff.

        * WebCore.vcproj/WebCore.make: Make sure we copy the Inspector
        resources.
        * WebCore.vcproj/WebCore.vcproj: Pass /exclude:xcopy.excludes to
        xcopy.
        * WebCore.vcproj/xcopy.excludes: Added.

2007-10-18  Darin Adler  <darin@apple.com>

        Reviewed by Sam.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15541
          REGRESSION (r26616): prompt with one argument uses the literal "undefined" as default reply

        * page/DOMWindow.idl: Add ConvertUndefinedOrNullToNullString back for defaultValue.

2007-10-18  Nikolas Zimmermann  <zimmermann@kde.org>

        Build fix. Not reviewed.

        Hopefully fix win build by including wtf/MathExtras.h.

        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:

2007-10-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by Nikolas Zimmermann.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15367
          Assertion failure inspecting a document including soft hyphen code (0xad)

        Test: fast/text/word-break-soft-hyphen.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::calcPrefWidths): Changed to treat soft hyphens as 
        word boundaries. This fixes the bug and is consistent with the fact that
        run rounding does occur at soft hyphens.

2007-10-18  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Anders.

        Fix last layout test failure seen on buildbot "trunk-mac-ppc-release".
        Problem: "svg/custom/mask-excessive-malloc.svg -> crashed"

        Clamp any ImageBuffer allocation within SVG to the RenderView's visibleSize
        to avoid excessive mallocs (in the testcase above 1000000x1000000)

        * ksvg2/svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::drawMaskerContent):
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::buildPattern):
        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
        (WebCore::SVGPaintServerGradient::teardown):
        (WebCore::SVGPaintServerGradient::setup):
        * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
        (WebCore::SVGResourceMasker::applyMask):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::clampImageBufferSizeToViewport):
        * rendering/SVGRenderSupport.h:

2007-10-18  Alexey Proskuryakov  <ap@webkit.org>

        Windows build fix.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Add braces around cases that have local variables now.

2007-10-18  Alexey Proskuryakov  <ap@webkit.org>

        Release build fix.

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

2007-10-18  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        Split most of CSSPrimitiveValue enum mapping out of CSSComputedStyleDeclaration::getPropertyCSSValue()
        and CSSStyleSelector::applyProperty() (and their SVG counterparts). This should make the code more readable.

        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::getPositionOffsetValue):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::init):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSPrimitiveValueMappings.h: Added.
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EBorderStyle):
        (WebCore::CSSPrimitiveValue::operator CompositeOperator):
        (WebCore::CSSPrimitiveValue::operator EAppearance):
        (WebCore::CSSPrimitiveValue::operator EBackgroundBox):
        (WebCore::CSSPrimitiveValue::operator EBackgroundRepeat):
        (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
        (WebCore::CSSPrimitiveValue::operator EBoxDirection):
        (WebCore::CSSPrimitiveValue::operator EBoxLines):
        (WebCore::CSSPrimitiveValue::operator EBoxOrient):
        (WebCore::CSSPrimitiveValue::operator ECaptionSide):
        (WebCore::CSSPrimitiveValue::operator EClear):
        (WebCore::CSSPrimitiveValue::operator ECursor):
        (WebCore::CSSPrimitiveValue::operator EDisplay):
        (WebCore::CSSPrimitiveValue::operator EEmptyCell):
        (WebCore::CSSPrimitiveValue::operator EFloat):
        (WebCore::CSSPrimitiveValue::operator EKHTMLLineBreak):
        (WebCore::CSSPrimitiveValue::operator EListStylePosition):
        (WebCore::CSSPrimitiveValue::operator EListStyleType):
        (WebCore::CSSPrimitiveValue::operator EMarginCollapse):
        (WebCore::CSSPrimitiveValue::operator EMarqueeBehavior):
        (WebCore::CSSPrimitiveValue::operator EMarqueeDirection):
        (WebCore::CSSPrimitiveValue::operator EMatchNearestMailBlockquoteColor):
        (WebCore::CSSPrimitiveValue::operator ENBSPMode):
        (WebCore::CSSPrimitiveValue::operator EOverflow):
        (WebCore::CSSPrimitiveValue::operator EPageBreak):
        (WebCore::CSSPrimitiveValue::operator EPosition):
        (WebCore::CSSPrimitiveValue::operator EResize):
        (WebCore::CSSPrimitiveValue::operator ETableLayout):
        (WebCore::CSSPrimitiveValue::operator ETextAlign):
        (WebCore::CSSPrimitiveValue::operator ETextSecurity):
        (WebCore::CSSPrimitiveValue::operator ETextTransform):
        (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
        (WebCore::CSSPrimitiveValue::operator EUserDrag):
        (WebCore::CSSPrimitiveValue::operator EUserModify):
        (WebCore::CSSPrimitiveValue::operator EUserSelect):
        (WebCore::CSSPrimitiveValue::operator EVisibility):
        (WebCore::CSSPrimitiveValue::operator EWhiteSpace):
        (WebCore::CSSPrimitiveValue::operator EWordBreak):
        (WebCore::CSSPrimitiveValue::operator EWordWrap):
        (WebCore::CSSPrimitiveValue::operator LineCap):
        (WebCore::CSSPrimitiveValue::operator LineJoin):
        (WebCore::CSSPrimitiveValue::operator TextDirection):
        (WebCore::CSSPrimitiveValue::operator WindRule):
        (WebCore::CSSPrimitiveValue::operator EAlignmentBaseline):
        (WebCore::CSSPrimitiveValue::operator EColorInterpolation):
        (WebCore::CSSPrimitiveValue::operator EColorRendering):
        (WebCore::CSSPrimitiveValue::operator EDominantBaseline):
        (WebCore::CSSPrimitiveValue::operator EImageRendering):
        (WebCore::CSSPrimitiveValue::operator EPointerEvents):
        (WebCore::CSSPrimitiveValue::operator EShapeRendering):
        (WebCore::CSSPrimitiveValue::operator ETextAnchor):
        (WebCore::CSSPrimitiveValue::operator ETextRendering):
        (WebCore::CSSPrimitiveValue::operator EWritingMode):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::checkSelector):
        (WebCore::CSSStyleSelector::checkOneSelector):
        (WebCore::CSSRuleSet::addRulesFromSheet):
        (WebCore::convertToLength):
        (WebCore::CSSStyleSelector::applyDeclarations):
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::mapBackgroundAttachment):
        (WebCore::CSSStyleSelector::mapBackgroundClip):
        (WebCore::CSSStyleSelector::mapBackgroundComposite):
        (WebCore::CSSStyleSelector::mapBackgroundOrigin):
        (WebCore::CSSStyleSelector::mapBackgroundRepeat):
        (WebCore::CSSStyleSelector::mapBackgroundXPosition):
        (WebCore::CSSStyleSelector::mapBackgroundYPosition):
        * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):

2007-10-18  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej.

        Fix crashers in SVGViewSpec::parseViewSpec
        http://bugs.webkit.org/show_bug.cgi?id=15504

        Test is blocked by bug 15503, landed as:
        * svg/dom/viewspec-parser.html-disabled

        * bindings/scripts/CodeGeneratorObjC.pm: support classes where all parents are interfaces
        * ksvg2/svg/SVGViewSpec.cpp:
        (WebCore::SVGViewSpec::parseViewSpec):
        * ksvg2/svg/SVGViewSpec.idl: Added.

2007-10-17  Rob Buis  <buis@kde.org>

        Reviewed by Darin, Adam, and Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=12988
        First element (in document order) is not returned when other duplicate ID-ed elements were created first

        Reset the element id cache when an id is added and there is a duplicate for that id.

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

2007-10-17  Mark Rowe  <mrowe@apple.com>

        Mac build fix.

        * Configurations/WebCore.xcconfig:  Make it possible to include CoreGraphics header files.

2007-10-17  Adam Roben  <aroben@apple.com>

        Fix an ASSERT on launch on Windows

        Fix dictated to me by Brady.

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::syncThreadMainLoop): Make sure we hold
        m_syncLock before going into the loop.

2007-10-17  Adam Roben  <aroben@apple.com>

        Windows build fix

        * platform/graphics/AffineTransform.h: Don't #include
        ApplicationServices.h.
        * platform/graphics/cg/GraphicsContextCG.cpp: Add an #include that's
        needed now that we're not #including ApplicationServices.h.

2007-10-17  Mark Rowe  <mrowe@apple.com>

        Gtk build fix.  Move non-pthread stubs from Threading.h to ThreadingNone.cpp to prevent
        multiple-definition link errors.

        * WebCore.pro:
        * platform/Threading.h:
        * platform/ThreadingNone.cpp: Added.
        (WebCore::createThread):
        (WebCore::waitForThreadCompletion):
        (WebCore::detachThread):
        (WebCore::Mutex::Mutex):
        (WebCore::Mutex::~Mutex):
        (WebCore::Mutex::lock):
        (WebCore::Mutex::tryLock):
        (WebCore::Mutex::unlock):
        (WebCore::ThreadCondition::ThreadCondition):

2007-10-17  Anders Carlsson  <andersca@apple.com>

        Reviewed by Oliver.

        * WebCore.xcodeproj/project.pbxproj:
        * WebCore.vcproj/WebCore.vcproj:
        
        * config.h:
        #define USE_PTHREADS on Windows.
        
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::getOrCreateIconRecord):
        (WebCore::IconDatabase::getOrCreatePageURLRecord):
        Update for mutex changes.
        
        * platform/Threading.h:
        (WebCore::):
        (WebCore::ThreadSafeShared::ThreadSafeShared):
        (WebCore::ThreadSafeShared::ref):
        (WebCore::ThreadSafeShared::deref):
        (WebCore::ThreadSafeShared::hasOneRef):
        (WebCore::ThreadSafeShared::refCount):
        (WebCore::ThreadSafeShared::isThreadSafe):
        Add a new Shared base class that uses a mutex to manage its refcount.
        
        (WebCore::createThread):
        (WebCore::waitForThreadCompletion):
        (WebCore::detachThread):
        New functions for thread creation.
        
        (WebCore::Mutex::Mutex):
        (WebCore::Mutex::~Mutex):
        (WebCore::Mutex::lock):
        (WebCore::Mutex::tryLock):
        (WebCore::Mutex::unlock):
        Move the definitions to ThreadingPthreads.cpp
        
        (WebCore::ThreadCondition::ThreadCondition):
        (WebCore::ThreadCondition::~ThreadCondition):
        (WebCore::ThreadCondition::wait):
        (WebCore::ThreadCondition::signal):
        (WebCore::ThreadCondition::broadcast):
        Move the definitions to ThreadingPthreads.cpp
        
        * platform/pthreads: Added.
        * platform/pthreads/ThreadingPthreads.cpp: Added.
        Add pthread specific implementation of the thread creation functions, Mutex and ThreadCondition.

2007-10-17  David Hyatt  <hyatt@apple.com>

        Add support for creating a layer when a transform is in effect.  Add support to RenderStyle for
        handing back a computed AffineTransform.

        Reviewed by Mitz Pettel

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::setStyle):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::RenderObject):
        (WebCore::RenderObject::requiresLayer):
        (WebCore::RenderObject::setStyle):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::hasTransform):
        (WebCore::RenderObject::setHasTransform):
        * rendering/RenderStyle.cpp:
        (WebCore::RenderStyle::applyTransform):
        * rendering/RenderStyle.h:
        (WebCore::RenderStyle::hasTransform):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::requiresLayer):
        * rendering/RenderTableRow.h:
        (WebCore::RenderTableRow::requiresLayer):

2007-10-17  David Hyatt  <hyatt@apple.com>

        Add support for mapping of the transform CSS property into RenderStyles.  Everything is now ready for the front
        end to use.

        Reviewed by Mitz Pettel

        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSTransformValue.h:
        (WebCore::CSSTransformValue::type):
        (WebCore::CSSTransformValue::values):
        * platform/graphics/AffineTransform.cpp:
        (WebCore::AffineTransform::skew):
        * platform/graphics/AffineTransform.h:
        * rendering/RenderStyle.cpp:
        (WebCore::StyleTransformData::StyleTransformData):
        (WebCore::StyleTransformData::operator==):
        (WebCore::StyleTransformData::transformDataEquivalent):
        * rendering/RenderStyle.h:
        (WebCore::TransformOperation::~TransformOperation):
        (WebCore::TransformOperation::operator!=):
        (WebCore::TransformOperation::isScaleOperation):
        (WebCore::TransformOperation::isRotateOperation):
        (WebCore::TransformOperation::isSkewOperation):
        (WebCore::TransformOperation::isTranslateOperation):
        (WebCore::TransformOperation::isMatrixOperation):
        (WebCore::ScaleTransformOperation::ScaleTransformOperation):
        (WebCore::ScaleTransformOperation::isScaleOperation):
        (WebCore::ScaleTransformOperation::operator==):
        (WebCore::ScaleTransformOperation::apply):
        (WebCore::RotateTransformOperation::RotateTransformOperation):
        (WebCore::RotateTransformOperation::isRotateOperation):
        (WebCore::RotateTransformOperation::operator==):
        (WebCore::RotateTransformOperation::apply):
        (WebCore::SkewTransformOperation::SkewTransformOperation):
        (WebCore::SkewTransformOperation::isSkewOperation):
        (WebCore::SkewTransformOperation::operator==):
        (WebCore::SkewTransformOperation::apply):
        (WebCore::TranslateTransformOperation::TranslateTransformOperation):
        (WebCore::TranslateTransformOperation::isTranslateOperation):
        (WebCore::TranslateTransformOperation::operator==):
        (WebCore::TranslateTransformOperation::apply):
        (WebCore::MatrixTransformOperation::MatrixTransformOperation):
        (WebCore::MatrixTransformOperation::isMatrixOperation):
        (WebCore::MatrixTransformOperation::operator==):
        (WebCore::MatrixTransformOperation::apply):
        (WebCore::StyleTransformData::operator!=):
        (WebCore::RenderStyle::transform):
        (WebCore::RenderStyle::setTransform):
        (WebCore::RenderStyle::initialTransform):

2007-10-17  Adam Roben  <aroben@apple.com>

        * page/Frame.cpp: I had to touch this file when fixing the Windows
        build. Checking it in in case it helps others, too.

2007-10-17  Eric Seidel  <eric@webkit.org>

        Reviewed by Mark Rowe.
        
        Remove a couple more uses of svg_dynamic_cast.

        No functional changes, no tests.

        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::buildPattern):

2007-10-17  Mark Rowe  <mrowe@apple.com>

        Reviewed by Eric and Geoff.

        <rdar://problem/5453743> Repro ASSERT in CachedResource::setEncodedSize() loading image in background tab
        http://bugs.webkit.org/show_bug.cgi?id=15191

        * loader/DocLoader.cpp:
        (WebCore::DocLoader::setAutoLoadImages): Don't start a load if the CachedImage is already loading.

2007-10-17  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Harrison.
        
        <rdar://problem/5481523> 
        GoogleDocs: Safari hangs when indenting a particular table twice
        
        Fixed by fixing problems with the selection preservation done by IndentOutdentCommand.
        It is now more difficult to create selections that cause hangs.  Those are covered by:
        <rdar://problem/5543472>

        * editing/IndentOutdentCommand.cpp:
        (WebCore::indexForVisiblePosition): Compute indices from the first VisiblePosition
        in the document, instead of the first Position.
        Use rangeCompliantEquivalents when creating the Range that we pass to rangeLength.
        Tell TextIterator::rangeLength that we're doing selection preservation, so that it
        will emit characters between all VisiblePositions.
        (WebCore::IndentOutdentCommand::indentRegion): Fixed a bug where the range and location
        passed to rangeFromLocationAndLength were reversed.
        Tell rangeFromLocationAndLength that we're doing doing selection preservation, as
        above.
        * editing/TextIterator.cpp:
        (WebCore::CharacterIterator::CharacterIterator): 
        (WebCore::TextIterator::rangeLength): Rename emitSpacesForReplacedElements
        to forSelectionPreservation, to match the name of the boolean inside TextIterator and
        to match its meaning after r25522.
        (WebCore::TextIterator::rangeFromLocationAndLength): Ditto.

2007-10-16  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15536
          need to cache missing glyph so we're not slow on pages that show missing glyphs

        - <rdar://problem/5404359> UI thread stall (>60sec) in MLANG running stress test
          (related to font data caching)

        * platform/Font.cpp: (WebCore::Font::glyphDataForCharacter): Check for a null value
        for fontData rather than for glyph to detect non-cached entries in the glyph data.

        * platform/gtk/GlyphPageTreeNodeGtk.cpp: (WebCore::GlyphPage::fill):
        * platform/mac/GlyphPageTreeNodeMac.cpp: (WebCore::GlyphPage::fill):
        * platform/win/GlyphPageTreeNodeWin.cpp: (WebCore::GlyphPage::fill):
        Set fontData to 0 for missing glyph entries. Also fixed the Windows and GTK versions
        to return the proper value for haveGlyphs.

2007-10-16  Mark Rowe  <mrowe@apple.com>

        Gtk build fix.  Replace use of assert with ASSERT_NOT_REACHED.

        * platform/gtk/FontCacheGtk.cpp:
        (WebCore::FontCache::platformInit):

2007-10-16  Darin Adler  <darin@apple.com>

        Reviewed by Adam.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15534
          WebScriptObject.h has some formatting and editorial mistakes

        * bindings/objc/WebScriptObject.h: Fix wording and formatting.

2007-10-16  Darin Adler  <darin@apple.com>

        - try to fix the Qt build

        * config.h: Don't use DisallowCType.h, since it's incompatible with some C++ headers
        that are used in some Qt-specific source files.

2007-10-16  Darin Adler  <darin@apple.com>

        Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15525
          transpose (control-T) should do the last two characters on a line if at end of line
        - remove unused CommandByName class
        - move transpose command implementation here from Mac OS X WebKit

        * editing/Editor.h:
        * editing/Editor.cpp:
        (WebCore::execTranspose): Added.
        (WebCore::Editor::transpose): Added. This has the transpose implementation from
        WebCoreFrameBridge and WebHTMLView, translated into WebCore-style C++ and with
        a special case for the end of a paragraph.

        * page/Frame.h: Removed unused command() function member.
        * page/FramePrivate.h: Removed unused m_command data member.
        * page/Frame.cpp: Ditto.

        * page/mac/WebCoreFrameBridge.h: Removed rangeOfCharactersAroundCaret method.
        * page/mac/WebCoreFrameBridge.mm: Ditto.

        * WebCore.pro: Removed CommandByName.h/cpp.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * editing/CommandByName.cpp: Removed.
        * editing/CommandByName.h: Removed.

2007-10-16  Darin Adler  <darin@apple.com>

        Reviewed by Maciej and Geoff (and looked over by Eric).

        - http://bugs.webkit.org/show_bug.cgi?id=15519
          eliminate use of <ctype.h> for processing ASCII

        * ForwardingHeaders/wtf/ASCIICType.h: Added.
        * ForwardingHeaders/wtf/DisallowCType.h: Added.

        * WebCorePrefix.h: Get rid of inclusion of <ctype.h>.
        * config.h: Include DisallowCType.h.

        * css/CSSParser.cpp:
        (WebCore::ParseString::lower):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::isCSSTokenizerIdentifier):
        * css/CSSStyleDeclaration.cpp:
        (WebCore::propertyID):
        * html/HTMLSelectElement.cpp:
        (WebCore::stripLeadingWhiteSpace):
        * html/HTMLTokenizer.cpp:
        (WebCore::tagMatch):
        * loader/FTPDirectoryParser.cpp:
        (WebCore::parseOneFTPLine):
        * loader/TextResourceDecoder.cpp:
        (WebCore::TextResourceDecoder::checkForHeadCharset):
        * platform/DeprecatedCString.cpp:
        (WebCore::DeprecatedCString::lower):
        (WebCore::DeprecatedCString::upper):
        (WebCore::DeprecatedCString::find):
        (WebCore::DeprecatedCString::contains):
        * platform/DeprecatedString.cpp:
        (WebCore::equalCaseInsensitive):
        (WebCore::isCharacterAllowedInBase):
        (WebCore::DeprecatedString::find):
        (WebCore::DeprecatedString::contains):
        (WebCore::toIntegralType):
        * platform/DeprecatedString.h:
        (WebCore::DeprecatedChar::isSpace):
        (WebCore::DeprecatedChar::lower):
        (WebCore::DeprecatedChar::upper):
        * platform/KURL.cpp:
        (WebCore::KURL::parse):
        * platform/StringImpl.cpp:
        (WebCore::isSpace):
        (WebCore::StringImpl::containsOnlyWhitespace):
        (WebCore::StringImpl::isLower):
        (WebCore::StringImpl::lower):
        (WebCore::StringImpl::find):
        (WebCore::StringImpl::reverseFind):
        (WebCore::equalIgnoringCase):
        * platform/TextEncodingRegistry.cpp:
        (WebCore::TextEncodingNameHash::equal):
        (WebCore::TextEncodingNameHash::hash):
        (WebCore::atomicCanonicalTextEncodingName):
        * platform/mac/KeyEventMac.mm:
        (WebCore::keyIdentifierForKeyEvent):
        * platform/win/KeyEventWin.cpp:
        (WebCore::keyIdentifierForWindowsKeyCode):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::isASCIIPrintable):
        (WebCore::PopupWndProc):
        * plugins/win/PluginViewWin.cpp:
        (WebCore::capitalizeRFC822HeaderFieldName):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::widthFromCache):
        Use ASCIICType.h functions instead of ctype.h ones.

2007-10-16  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15296
          REGRESSION (r19716-r19719): width not specified for <marquee> tag is causing the alignment issue.

        Test: fast/block/float/marquee-shrink-to-avoid-floats.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::shrinkToAvoidFloats): Changed to return 'true' for <marquee>s with auto width.

2007-10-16  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin.

        Fix for <rdar://problem/5517118> REGRESSION: 9A570 - Safari renders 
        Amazon seller page way too small

        The font size at Amazon was way too small because the calls to 
        getComputedStyle and getPropertyValue did not cause the div to 
        attach because there was a pending stylesheet. The fix is to call 
        updateLayoutIgnorePendingStylesheets() instead of just 
        updateLayout().

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

2007-10-16  David Hyatt  <hyatt@apple.com>

        Get transform-origin(x/y) mapped into the front end RenderStyle.  Adds a new StyleTransformData struct that
        holds transform-origin (and that will also eventually hold the parsed transform operations as well).

        Reviewed by Beth

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/RenderStyle.cpp:
        (WebCore::StyleTransformData::StyleTransformData):
        (WebCore::StyleTransformData::operator==):
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        (WebCore::RenderStyle::RenderStyle):
        (WebCore::RenderStyle::diff):
        * rendering/RenderStyle.h:
        (WebCore::StyleTransformData::operator!=):
        (WebCore::RenderStyle::transformOriginX):
        (WebCore::RenderStyle::transformOriginY):
        (WebCore::RenderStyle::setTransformOriginX):
        (WebCore::RenderStyle::setTransformOriginY):
        (WebCore::RenderStyle::initialTransformOriginX):
        (WebCore::RenderStyle::initialTransformOriginY):

2007-10-16  Adele Peterson  <adele@apple.com>

        Reviewed by Alice.

        Fix for <rdar://problem/5538793> REGRESSION: Failing layout test: fast/forms/select-change-listbox-to-popup.html (due to landing feature branch)

        * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::parseMappedAttribute):  When switching between types of select elements, call setRecalcListItems
          since recalcListItems updates the default selection in different ways for the different controls. 

2007-10-16  Alice Liu  <alice.liu@apple.com>

        rubber-stamped by Darin.

        flipping my previous fix around so that mac is special-cased instead of win.

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

2007-10-16  David Hyatt  <hyatt@apple.com>

        Clean up transform parsing.  Fix a crash, ditch the extra parse context class, and use RefPtr/PassRefPtr more
        to simplify the code.

        Reviewed by aroben

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

2007-10-16  Alice Liu  <alice.liu@apple.com>

        Reviewed by Adele.

        fixed <rdar://5085596> Accesskeys don't work
        
        * dom/Document.cpp:
        (WebCore::Document::defaultEventHandler):
        accesskey modifier is platform-depedent.

2007-10-15  Mark Rowe  <mrowe@apple.com>

        Reviewed by John.

        <rdar://problem/5494040> Reproducible assertion failure in WebCore::IconDatabase::iconForPageURL

        A race condition between icon database import and Safari asking for an icon for the empty URL
        was resulting in a PageURLRecord being created for a URL that can never be retained.  By enforcing
        that PageURLRecord's cannot be created for the empty URL we can prevent the assertion from failing.

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::iconForPageURL):
        (WebCore::IconDatabase::getOrCreatePageURLRecord): Bail out early if the URL is empty.
        (WebCore::IconDatabase::performURLImport): Don't create the PageURLRecord if the URL is empty.

2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Ollie.

        Use OwnPtr for m_deliveryData, and fix a bug where we were memmove()ing
        over m_deliveryData instead of its data buffer

        * plugins/win/PluginStreamWin.cpp:
        (WebCore::PluginStreamWin::~PluginStreamWin): Don't delete
        m_deliveryData
        (WebCore::PluginStreamWin::deliverData): Fix memmove() call
        (WebCore::PluginStreamWin::didReceiveData): Assign using OwnPtr::set()
        * plugins/win/PluginStreamWin.h: Use OwnPtr

2007-10-15  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Oliver.

        Add missing null check.

        * platform/network/cf/AuthenticationCF.cpp:
        (WebCore::core):

2007-10-15  Mark Rowe  <mrowe@apple.com>

        Fix the no-SVG build again.  Add new transform CSS properties to the switch statements.

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

2007-10-15  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - http://bugs.webkit.org/show_bug.cgi?id=15518
          Remove the unused attemptFontSubstitution feature and do some
          cleanup of glyphDataForCharacter.

        * platform/Font.h:
        * platform/Font.cpp:
        (WebCore::WidthIterator::advance): Eliminated uneeded attemptFontSubstitution
        and cluster parameters to the glyphDataForCharacter function.
        (WebCore::Font::glyphDataForCharacter): Removed the cluster parameter and
        attemptFontSubstitution parameter. Removed the isUpper check before calling
        toUpper in the small caps code path. Split up the inner loop into separate
        copies for non-small-caps and small caps. Broke out the system fallback
        page handling so it's not inside the loop. Changed system fallback so it uses
        the character and breaks it up into UTF-16 as needed, instead of using a
        passed-in "character cluster".

        * platform/TextStyle.h:
        (WebCore::TextStyle::TextStyle): Removed attemptFontSubstitution.
        (WebCore::TextStyle::applyWordRounding): Ditto.

2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Ollie.

        Remove an operator precedence warning on Windows

        * editing/markup.cpp:
        (WebCore::escapeContentText): Use (a) | (b)
        (WebCore::appendEscapedContent): Use (a) | (b)

2007-10-15  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Darin.

        - <rdar://problem/5238818> window.resizeTo doesn't restrict the resized window to the size of the screen
        - Now we take the doc into account when resizing.
        - Also I found an issue where we would resize to outside the window, because
          the resize would be smaller than the window size but the location of the
          window would make the resize go off-screen. Now we move the window back into the screen.

        * bindings/js/kjs_window.cpp:
        (KJS::adjustWindowRect):
        (KJS::WindowFunc::callAsFunction):

2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Anders.

        <rdar://5510700> Repro crash loading embedded Windows Media Player
        content

        Anders noticed that the older Windows Media Player plugin (npdsplay.dll)
        will crash if it receives its resource requests out of order, whereas we
        were immediately fulfilling untargeted, non-JavaScript requests and
        scheduling targeted or JavaScript resource requests. Implement his
        suggested fix, which is to schedule PluginRequests for all resource
        requests 

        * plugins/win/PluginViewWin.cpp:
        (WebCore::getString):
        (WebCore::PluginViewWin::performRequest): If this non-JavaScript request
        has no target, create a stream for it
        (WebCore::PluginViewWin::load): Schedule PluginRequests for all resource
        requests

2007-10-15  Mark Rowe  <mrowe@apple.com>

        Gtk and Qt build fix.  Add new .cpp file to project.

        * WebCore.pro:

2007-10-15  John Sullivan  <sullivan@apple.com>

        * platform/mac/FontDataMac.mm:
        D'oh! Added missing #import to fix build

2007-10-15  John Sullivan  <sullivan@apple.com>

        Reviewed by Geoff

        * platform/mac/FontDataMac.mm:
        (WebCore::FontData::smallCapsFontData):
        replace NS_DURING/NS_HANDLER with WebCore-style BEGIN/END_BLOCK_OBJC_EXCEPTIONS

2007-10-15  David Hyatt  <hyatt@apple.com>

        The CSS WG has been discussing the concept of rotation.  In the latest draft specification, two properties
        have been introduced: rotation and rotation-point.  I believe these properties should be generalized to
        allow for arbitrary transformations (e.g., translation, skew, rotate, scale).

        This patch adds support for the back-end parsing of two new CSS properties: transform and transform-origin.
        They are directly analogous to the properties specified by the CSS WG, except that they are designed to allow
        for arbitrary affine transforms rather than just rotation.

        Reviewed by Beth Dakin

        * WebCore.xcodeproj/project.pbxproj:
        * WebCore.vcproj/WebCore.vcproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::TransformParseContext:::m_list):
        (WebCore::TransformParseContext::list):
        (WebCore::TransformParseContext::failed):
        (WebCore::TransformParseContext::addValue):
        (WebCore::TransformOperationInfo::TransformOperationInfo):
        (WebCore::TransformOperationInfo::type):
        (WebCore::TransformOperationInfo::argCount):
        (WebCore::TransformOperationInfo::unit):
        (WebCore::TransformOperationInfo::unknown):
        (WebCore::TransformOperationInfo::hasCorrectArgCount):
        (WebCore::CSSParser::parseTransform):
        (WebCore::CSSParser::parseTransformOrigin):
        * css/CSSParser.h:
        * css/CSSPropertyNames.in:
        * css/CSSTransformValue.cpp: Added.
        (WebCore::CSSTransformValue::CSSTransformValue):
        (WebCore::CSSTransformValue::~CSSTransformValue):
        (WebCore::CSSTransformValue::addValue):
        (WebCore::CSSTransformValue::cssText):
        * css/CSSTransformValue.h: Added.
        (WebCore::CSSTransformValue::):

2007-10-15  Mark Rowe  <mrowe@apple.com>

        Reviewed by Oliver.

        Fix the no-SVG build.

        * DerivedSources.make: Use the correct file as input to generate CSSPropertyNames.h.
        * rendering/RenderObject.cpp:
        (WebCore::objectIsRelayoutBoundary):

2007-10-15  Darin Adler  <darin@apple.com>

        Reviewed by Sam.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15520
          alert(undefined) should say "undefined" in the alert

        Test: fast/dom/Window/alert-undefined.html

        * page/DOMWindow.idl: Remove ConvertUndefinedOrNullToNullString from alert, confirm, and prompt.
        It turns out that the default behavior is what the other browsers do (browsers tested: IE 7,
        Firefox 2).

2007-10-15  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=15252
        <rdar://problem/5498184> REGRESSION: <select multiple> doesn't scroll to top when old options are removed and new ones are added, leaving listbox empty-looking

        * rendering/RenderListBox.cpp: (WebCore::RenderListBox::calcHeight): If the scrollbar is disabled, make sure the scroll offset gets reset to 0.  In general,
          we don't want to unnecessarily adjust the scroll offset, but in this case, there won't be an obvious way for the user to adjust the scroller position once it's disabled.

2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Maciej.

        Return a more appropriate error from NPN_RequestRange, which is
        currently unimplemented

        * plugins/win/npapi.cpp: return NPERR_STREAM_NOT_SEEKABLE 
        (NPN_RequestRead):

2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Maciej.

        Add a missing function pointer to the m_browserFuncs structure

        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackageWin::load):

2007-10-15  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Lars.

        Fix the compilation of the Font code in the Qt port by adding the necessary stubs to support downloadable fonts through the @font-face rules.

        * WebCore.pro:
        * loader/CachedFont.cpp:
        * platform/qt/FontCacheQt.cpp: Removed.
        * platform/qt/FontCustomPlatformData.cpp: Removed.
        * platform/qt/FontCustomPlatformData.h: Removed.
        * platform/qt/FontDataQt.cpp: Removed.
        * platform/qt/FontPlatformData.h: Removed.
        * platform/qt/FontQt.cpp:
        * platform/qt/GlyphPageTreeNodeQt.cpp: Removed.

2007-10-15  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Lars.

        Adapt to the latest API changes in the SVG API/Code.

        * platform/graphics/svg/qt/RenderPathQt.cpp:
        (WebCore::RenderPath::strokeContains):
        (WebCore::getPathStroke):
        * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
        (WebCore::SVGPaintServer::setPenProperties):
        * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:

2007-10-14  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric.

        Fix bad abstraction in ImageBuffer class.
        While the class itself is platform-aware and thus it's location in platform/graphics
        is fine, it contains the "renderSubtreeToImage" method which operates on RenderObject.

        As it's SVG specific I decided to move this method into SVGRenderSupport, to avoid
        implicit platform/ <-> rendering/ dependencies.

        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * ksvg2/svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::drawMaskerContent):
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::buildPattern):
        * platform/graphics/ImageBuffer.cpp: Removed.
        * platform/graphics/ImageBuffer.h:
        (WebCore::ImageBuffer::size):
        * platform/graphics/svg/SVGImage.cpp:
        (WebCore::SVGImage::nativeImageForCurrentFrame):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::renderSubtreeToImage):
        * rendering/SVGRenderSupport.h:

2007-10-14  Peter Kasting  <zerodpx@gmail.com>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=15210
        Draw the image outline even for broken images.

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint):

2007-10-14  Kevin Ollivier  <kevino@theolliviers.com>

        Reviewed by Adam.

        Add support for MSVC7, and fix cases where PLATFORM(WIN) should
        be PLATFORM(WIN_OS) for other ports building on Windows.

        * dom/XMLTokenizer.cpp:
        * page/FrameTree.cpp:
        * platform/StaticConstructors.h:
        * platform/String.cpp:

2007-10-14  Maxime Britto  <mbritto@pleyo.com>

        Reviewed by Mitz.

        Fix an error in the goBackOrForward() function : confusion between forwardListCount and backListCount.
        http://bugs.webkit.org/show_bug.cgi?id=15212

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

2007-10-14  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15181
          text-transform: uppercase not working in input (submit, reset, button) elements
          <rdar://problem/5474647>

        Test: fast/forms/button-text-transform.html

        Text transformations require access to the original text. The button's inner
        text was an anonymous RenderText, meaning it did not have a node to retrieve
        the original text from. The patch fixes this by changing the inner text into a
        RenderTextFragment, which stores its own original text.

        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::setText):
        * rendering/RenderButton.h:

2007-10-14  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej.

        REGRESSION: Javascript bug in getElementsByName
        http://bugs.webkit.org/show_bug.cgi?id=15274

        Test: fast/dom/getelementbyname-invalidation.html

        * dom/NameNodeList.h: remove empty rootNodeChildrenChanged override

2007-10-14  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Maciej.

        - http://bugs.webkit.org/show_bug.cgi?id=15303
          Remove now-redundant code to restore dialog arguments after clear

        This patch reverts the kjs_window.* parts of r25576 because following
        r25783, window properties, including dialog arguments, are not cleared
        when the newly created modal dialog transitions to the document.

        * bindings/js/kjs_window.cpp:
        (KJS::WindowPrivate::WindowPrivate):
        (KJS::createWindow):
        (KJS::showModalDialog):
        (KJS::Window::clear):
        (KJS::WindowFunc::callAsFunction):
        (KJS::Window::setReturnValueSlot):
        * bindings/js/kjs_window.h:

2007-10-14  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15309
          <rdar://problem/5512020> Crash due to infinite recursion in RenderTable::addChild

        Test: fast/table/generated-caption.html

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild): Changed to make sure that the child is
        not added into generated after content. Also made adding a child before
        a table caption work correctly instead of adding the child after the caption.

2007-10-14  Peter Kasting  <zerodpx@gmail.com>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=15141
        Feed GIF reader data from the point in the stream it expects.  Also,
        mirror the reader's failure state up to the wrapping decoder.

        * platform/image-decoders/gif/GIFImageReader.cpp:
        (GIFImageReader::read):

2007-10-14  Peter Kasting  <zerodpx@gmail.com>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=15142
        Return correct frame count in GIFImageDecoder::frameBufferAtIndex(),
        even if more data has arrived since the last decoding pass.

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

== Rolled over to ChangeLog-2007-10-14 ==
