2010-02-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        Support frameset flattening
        https://bugs.webkit.org/show_bug.cgi?id=32717

        Add support for enabling/disabling FrameSet Flattening on the Windows port.

        * Interfaces/IWebPreferencesPrivate.idl:
        * WebPreferenceKeysPrivate.h:
        * WebPreferences.cpp:
        (WebPreferences::initializeDefaultSettings):
        (WebPreferences::isFrameSetFlatteningEnabled):
        (WebPreferences::setFrameSetFlatteningEnabled):
        * WebPreferences.h:
        * WebView.cpp:
        (WebView::notifyPreferencesChanged):

2010-02-10  Adam Roben  <aroben@apple.com>

        Remove unnecessary #include of shfolder.h

        shfolder.h has been deprecated in newer versions of the Windows SDK.

        Fixes <http://webkit.org/b/34803> WebPreferences.cpp fails to compile
        under VS2010 RC due to #include of shfolder.h.

        Reviewed by Darin Adler.

        * WebPreferences.cpp: Removed #include.

2010-02-08  Charlie Reis  <creis@chromium.org>

        Reviewed by Darin Adler.

        onbeforeunload not called at window close + frame or iframe focused
        https://bugs.webkit.org/show_bug.cgi?id=27481
        
        Chromium and WebKit on Windows will now fire beforeunload handlers
        even if an inner frame is focused.  

        Layout tests aren't able to test this bug, since it requires closing
        the actual browser window, not calling window.close().  Instead,
        test with WebCore/manual-tests/onbeforeunload-focused-iframe.html.

        * WebView.cpp:
        (WebView::shouldClose):

2010-02-08  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        Include header position in World Transform used for plugin positioning.
        https://bugs.webkit.org/show_bug.cgi?id=34709

        * WebFrame.cpp:
        (WebFrame::spoolPage): Correct WinCairo plugin print positioning to
          account for header size.  Existing code ignored this, causing
          plugins to overlay other elements.

2010-02-04  Alice Liu  <alice.liu@apple.com>

        Reviewed by Jon Honeycutt.

        https://bugs.webkit.org/show_bug.cgi?id=34612 " MSAA: accSelect returns error 
        codes for most elements that arent listbox or menupopup related"
        <rdar://problem/7436861>

        * AccessibleBase.cpp:
        (AccessibleBase::accSelect):
        - Stop sending E_INVALIDARG for elements that request TAKE_SELECTION that 
          aren't beneath listboxes or menupopups.  This was too restrictive since 
          any element can be selectable.
        - Correct the misinterpretation of MSDN's stipulation of situations involving 
          adding, removing, and extending selection on single-select elements

2010-02-04  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        Properly handle margin settings when printing Plugins in WinCairo.
        https://bugs.webkit.org/show_bug.cgi?id=34613

        * WebFrame.cpp:
        (WebFrame::spoolPage): Adjust the GraphicsContext passed to the
          paintContents method so that the World Transform is properly
          positioned to account for margin settings at the time that
          PluginViewWin.cpp processes the drawing operations.

2010-02-04  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        Properly handle margin settings in WinCairo.
        https://bugs.webkit.org/show_bug.cgi?id=34545

        * WebFrame.cpp:
        (scaleFactor): Require the margin information as an input
          parameter, and use them when computing the scaling factor.
        (WebFrame::drawHeader): Pass margin size to scaleFactor.
        (WebFrame::drawFooter): Pass margin size to scaleFactor.
        (WebFrame::spoolPage):
          1. Pass margin size to scaleFactor.
          2. Recognize that the return value of printerMarginRect is
             already in device units, and therefore scale it so that
             the Cairo drawing is correct.
          3. Remove scaling call for margins in GDI code, as it is
             already in scaled units.

2010-02-03  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Steve Falkenburg.

        Scroll does not work with IBM Thinkpad.
        <https://bugs.webkit.org/show_bug.cgi?id=14227>
        <rdar://7142545>
        
        When initializing the WebView, add two scrollbar Windows inside of
        our WebView, to allow it to receive WM_VSCROLL and WM_HSCROLL events.
        (similar to what Firefox did in: <https://bugzilla.mozilla.org/show_bug.cgi?id=507222>.
        
        Only do this if the user has installed some kind of Trackpoint driver, using an algorithm
        like <https://bugzilla.mozilla.org/show_bug.cgi?id=514927>.
        
        Also, add code to handle WM_HSCROLL and WM_VSCROLL messages to scroll
        the WebView.

        * WebView.cpp:
        (WebView::verticalScroll): Handle the WM_VSCROLL messages, and scroll up and down
            by lines or pages.
        (WebView::horizontalScroll): Handle the WM_HSCROLL messages, and scroll left or right
            by lines or pages.
        (WebView::WebViewWndProc): Add cases for WM_VSCROLL and WM_HSCROLL.
        (WebView::initWithFrame): Call shouldInitializeTrackPointHack, and if we should, create
            vertical and horizontal scrollbars to receive WM_VSCROLL and WM_HSCROLL messages.
        (WebView::shouldInitializeTrackPointHack): Check if there is a registry key for
            the some kind of IBM Trackpoint driver.
        * WebView.h:

2010-02-02  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Darin Adler.

        Copyright year updating for Windows version resources should be automatic
        https://bugs.webkit.org/show_bug.cgi?id=34503

        * WebKit.vcproj/WebKit.rc:

2010-02-02  Adam Roben  <aroben@apple.com>

        Stop copying WebCore's IDL files from SRCROOT to OBJROOT

        WebKit doesn't use these anymore (as of r52921).

        Part of Bug 34496: Clean up WebCore's IDL/script copying
        <https://bugs.webkit.org/show_bug.cgi?id=34496>

        Reviewed by Steve Falkenburg.

        * WebKit.vcproj/WebKit.make:

2010-01-29  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig + Oliver Hunt.

        Bug 34346 - With JSC bindings, make processingUserGesture work with events in Isolated Worlds

        Pass processeing user gensture flag to media play/pause methods.

        * FullscreenVideoController.cpp:
        (FullscreenVideoController::play):
        (FullscreenVideoController::pause):

2010-01-29  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adam Roben.

        Drag and Drop: Windows uses "stop" sign as cursor when dragging
        https://bugs.webkit.org/show_bug.cgi?id=34305
        <rdar://problem/7589672>
        
        Add a preference in WebKit (that defaults to false), for whether or not
        we should show the custom cursors during drag and drop. However, this is
        currently only used on Windows, and only used to hide the "drop not allowed"
        icon inside the WebView is the preference is set to true.

        This will be off by default, so no change in behavior.

        * Interfaces/IWebPreferencesPrivate.idl: Added new functions.
        * Interfaces/WebKit.idl: Touched to force Interfaces build.
        * WebDropSource.cpp:
        (WebDropSource::GiveFeedback): Implementation of conditional showing cursor
            logic.
        * WebPreferenceKeysPrivate.h: Added new preference key.
        * WebPreferences.cpp: Added new functions.
        (WebPreferences::setCustomDragCursorsEnabled):
        (WebPreferences::customDragCursorsEnabled):
        * WebPreferences.h: Added new functions.

2010-01-28  Jon Honeycutt  <jhoneycutt@apple.com>

        MSAA: Crash when posting a notification for a detached object

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

        Reviewed by Darin Adler.

        * AccessibleBase.cpp:
        (AccessibleBase::QueryService):
        If an unrecognized service ID is passed, return early. Otherwise, return
        the result of QueryInterface.
        (AccessibleBase::QueryInterface):
        Add static_casts. Check for new UUIDs.
        (AccessibleBase::isSameObject):
        Query the object for AccessibleBase. Return whether the pointers or the
        wrapped objects match.

        * AccessibleBase.h:
        Give the class a UUID so we can query for it in isSameObject(). Inherit
        from IAccessibleComparable; inherit from IServiceProvider so clients can
        use QueryService to query for a custom interface.

        * Interfaces/AccessibleComparable.idl: Added. Declares a function that
        can be called to compare to accessible objects.

        * Interfaces/WebKit.idl:
        Include the new IDL.

        * WebKit.vcproj/Interfaces.vcproj:
        Add the new IDL to the project.

2010-01-27  Aaron Boodman  <aa@chromium.org>

        Expand NotificationCenter::checkPermission() interface.
        It now passes the full URL instead of just the origin.

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

        * WebCoreSupport/WebDesktopNotificationsDelegate.cpp:
        (WebDesktopNotificationsDelegate::checkPermission):
        * WebCoreSupport/WebDesktopNotificationsDelegate.h:

2010-01-27  Adam Roben  <aroben@apple.com>

        Make it possible to instantiate WebSerializedJSValue using
        WebKitCreateInstance

        Reviewed by Dave Hyatt.

        * ForEachCoClass.h:
        * WebKitClassFactory.cpp:
        Added WebSerializedJSValue.

2010-01-26  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Oliver Hunt.

        Windows build references non-existent include paths
        https://bugs.webkit.org/show_bug.cgi?id=34175

        * WebKit.vcproj/WebKit.vcproj:

2010-01-25  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Simon Fraser.

        A WebGeolocationControllerClient is leaked for every WebView
        https://bugs.webkit.org/show_bug.cgi?id=34145

        * WebCoreSupport/WebGeolocationControllerClient.cpp:
        (WebGeolocationControllerClient::geolocationDestroyed): Added.
        * WebCoreSupport/WebGeolocationControllerClient.h:

2010-01-23  Dan Bernstein  <mitz@apple.com>

        Reviewed by Maciej Stachowiak.

        <rdar://problem/7569820> svg/custom/text-zoom.xhtml fails on Windows
        https://bugs.webkit.org/show_bug.cgi?id=34006

        * WebPreferences.cpp:
        (WebPreferences::initializeDefaultSettings): Added WebKitZoomsTextOnlyPreferenceKey
        with a default value of true.

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

        Reviewed by Sam Weinig.

        Add missing implementation for WebGeolocationPosition::initWithTimestamp.

        * WebGeolocationPosition.cpp:
        (WebGeolocationPosition::initWithTimestamp): Implemented.

2010-01-20  Jon Honeycutt  <jhoneycutt@apple.com>

        MSAA: accSelect() is not implemented

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

        Reviewed by Darin Adler.

        * AccessibleBase.cpp:
        (AccessibleBase::accSelect):
        If there is an invalid combination of state flags, return early. If the
        caller passed the "take focus" flag, focus the object. If the "take
        selection" flag was passed, check whether the parent object is an
        AccessibilityListBox; if so, call the object's setSelectedChildren()
        function. If the parent is an AccessibilityMenuListPopup, call the
        child object's setSelected() function. Otherwise, if the parent is some
        other, unsupported object, return early.
        If the selection flags include "add", "remove", or "extend" selection,
        and the parent object is not multi-selectable, return early. Otherwise,
        set or unset the child's selected flag based on the passed flag.

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

        Reviewed by Darin Adler and Adam Roben.

        Feature defines are difficult to maintain on Windows builds
        https://bugs.webkit.org/show_bug.cgi?id=33883

        FeatureDefines.vsprops are now maintained in a way similar to
        Configurations/FeatureDefines.xcconfig, with the added advantage
        of having a single FeatureDefines file across all projects.

        * WebKit.vcproj/Interfaces.vcproj: Add FeatureDefines.vsprops inherited property sheet.
        * WebKit.vcproj/WebKit.sln: Set up Cairo configuration for WebCoreGenerated.
        * WebKit.vcproj/WebKit.vcproj: Remove ENABLE_ preprocessor definitions.
        Add FeatureDefines.vsprops inherited property sheet.
        * WebKit.vcproj/WebKitGUID.vcproj: Add FeatureDefines.vsprops inherited property sheet.

2010-01-17  Jon Honeycutt  <jhoneycutt@apple.com>

        MSAA: The child <option> elements of a non-multiple <select> are not
        exposed

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

        Reviewed by Alice Liu.

        * AccessibleBase.cpp:
        (AccessibleBase::get_accState):
        If the object is invisible, set the invisible state flag. If the object
        is collapsed, set the collapsed state. If the object is a combo box,
        set the has popup flag, and if it's not collapsed, set the expanded
        flag.
        (MSAARole):
        Add new WebCore to MSAA role mappings.

        * WebCoreLocalizedStrings.cpp:
        (WebCore::AXMenuListActionVerb):
        Return the action verb that Firefox uses for <select> elements with
        popups.
        (WebCore::AXMenuListPopupActionVerb):
        Return the verb that Firefox uses for a popup list.

2010-01-19  John Sullivan  <sullivan@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=33854
        Would like a variant of WebHTMLRepresentation's searchForLabelsBeforeElement that returns 
        more info about where the result was found

        Reviewed by Darin Adler

        * Interfaces/IWebHTMLRepresentation.idl:
        Created variant of searchForLabels that includes additional in/out parameters resultDistance and resultIsInCellAbove.
        
        * Interfaces/WebKit.idl:
        Touched in order to get other idl change to propagate correctly.

        * WebHTMLRepresentation.cpp:
        (WebHTMLRepresentation::deprecatedSearchForLabels):
        Renamed since iDL doesn't support two functions with the same name but different signatures.
        (WebHTMLRepresentation::searchForLabels):
        Implemented variant of searchForLabels that includes additional in/out parameters resultDistance and resultIsInCellAbove.

        * WebHTMLRepresentation.h:
        Declared variant of searchForLabels that includes additional in/out parameters resultDistance and resultIsInCellAbove.

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

        Windows build fix

        * WebScriptWorld.cpp: Added missing #include.

2010-01-19  Dave Hyatt  <hyatt@apple.com>

        Build bustage fix. Make sure the newly added scriptWorldForGlobalContext function is [local] in the IDL.

        * Interfaces/IWebScriptWorld.idl:

2010-01-19  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        Add an API to obtain a WebScriptWorld from a JSGlobalContextRef.

        * Interfaces/IWebScriptWorld.idl:
        * WebScriptWorld.cpp:
        (WebScriptWorld::scriptWorldForGlobalContext):
        * WebScriptWorld.h:

2010-01-18  Adam Roben  <aroben@apple.com>

        Add IWebViewPrivate::setDomainRelaxationForbiddenForURLScheme

        WebKit/win part of fixing <http://webkit.org/b/33806>
        <rdar://problem/7552837> Would like API to disallow setting of
        document.domain for pages with certain URL schemes

        Reviewed by Sam Weinig.

        * Interfaces/IWebViewPrivate.idl: Added
        setDomainRelaxationForbiddenForURLScheme.

        * Interfaces/WebKit.idl: Touched to force a build.

        * WebView.cpp:
        (WebView::setDomainRelaxationForbiddenForURLScheme):
        * WebView.h:
        Added. Calls through to SecurityOrigin.

2010-01-18  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Darin Adler.

        Use new setScrollFrame API
        https://bugs.webkit.org/show_bug.cgi?id=32279

        * WebView.cpp:
        (WebView::updateRootLayerContents):

2010-01-15  Jon Honeycutt  <jhoneycutt@apple.com>

        MSAA: Screen rect for <option> elements is always the zero rect

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

        Reviewed by Oliver Hunt.

        * AccessibleBase.cpp:
        (AccessibleBase::accLocation):
        Use elementRect() rather than boundingBoxRect(), which
        AccessibilityListBoxOption overrides.

2010-01-15  Jon Honeycutt  <jhoneycutt@apple.com>

        get_accParent should try to retrieve parent AccessibilityObject, before
        calling upon window

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

        Reviewed by Darin Adler.

        * AccessibleBase.cpp:
        (AccessibleBase::get_accParent):
        If the object has a parent object, return it. If not, return the
        accessible for the WebView window.

2010-01-12  Jon Honeycutt  <jhoneycutt@apple.com>

        MSAA: selected, selectable, extended selectable, and multiple
        selectable states are not reported

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

        Reviewed by Darin Adler.

        * AccessibleBase.cpp:
        (AccessibleBase::get_accState):
        Remove the call to isMultiSelect(). Call the correctly-named
        isMultiSelectable(), and if it returns true, set both the "extended
        selectable" and "multiple selectable" states. Check whether the object
        is selected or selectable, and report those states.

2010-01-13  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam Roben.

        Add additional Geolocation interfaces in WebKit for Windows.

        * Interfaces/IWebGeolocationPolicyListener.idl: Added.
        * Interfaces/IWebUIDelegatePrivate.idl: Add decidePolicyForGeolocationRequest to IWebUIDelegatePrivate2.
        Append since this version hasn't shipped.
        * Interfaces/WebKit.idl: Add include of IWebGeolocationPolicyListener.idl.
        * WebCoreSupport/WebChromeClient.cpp:
        (WebChromeClient::requestGeolocationPermissionForFrame): Call into decidePolicyForGeolocationRequest.
        * WebCoreSupport/WebGeolocationControllerClient.cpp:
        (WebGeolocationControllerClient::WebGeolocationControllerClient): Moved *.
        * WebGeolocationPolicyListener.cpp: Added.
        * WebGeolocationPolicyListener.h: Added.
        * WebKit.vcproj/Interfaces.vcproj: Added IWebGeolocationPolicyListener.
        * WebKit.vcproj/WebKit.vcproj: Added WebGeolocationPolicyListener, WebGeolocationPolicyListener.
        * WebView.cpp:
        (WebView::setGeolocationProvider): Removed extraneous STDMETHODCALLTYPE.
        (WebView::geolocationProvider): Removed extraneous STDMETHODCALLTYPE.
        (WebView::geolocationDidChangePosition): Removed extraneous STDMETHODCALLTYPE.
        (WebView::geolocationDidFailWithError): Removed extraneous STDMETHODCALLTYPE.

2010-01-12  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam Roben, Sam Weinig.

        Add Geolocation interfaces in WebKit for Windows.

        * ForEachCoClass.h: Added WebGeolocationPosition.
        * Interfaces/IWebError.idl:
        * Interfaces/IWebGeolocationPosition.idl: Added.
        * Interfaces/IWebGeolocationProvider.idl: Added.
        * Interfaces/IWebViewPrivate.idl:
        * Interfaces/WebKit.idl:
        * WebCoreSupport/WebGeolocationControllerClient.cpp: Added.
        (WebGeolocationControllerClient::WebGeolocationControllerClient):
        (WebGeolocationControllerClient::startUpdating):
        (WebGeolocationControllerClient::stopUpdating):
        (WebGeolocationControllerClient::lastPosition):
        * WebCoreSupport/WebGeolocationControllerClient.h: Added.
        * WebGeolocationPosition.cpp: Added IWebGeolocationPosition implementation.
        * WebGeolocationPosition.h: Added IWebGeolocationPosition implementation.
        * WebKit.vcproj/Interfaces.vcproj: Added IWebGeolocationPosition.idl, IWebGeolocationProvider.idl,
        relocated JavaScriptCoreAPITypes.idl, WebScrollbarTypes.idl
        * WebKit.vcproj/WebKit.vcproj: Added WebGeolocationPosition.h/.cpp, WebGeolocationControllerClient.h/cpp,        
        * WebKitClassFactory.cpp: Add WebGeolocationPosition include.
        * WebView.cpp:
        (WebView::initWithFrame): Create WebGeolocationControllerClient if Geolocation is enabled.
        (WebView::setGeolocationProvider): Added Geolocation-specific method.
        (WebView::geolocationProvider): Added Geolocation-specific method.
        (WebView::geolocationDidChangePosition): Added Geolocation-specific method.
        (WebView::geolocationDidFailWithError): Added Geolocation-specific method.
        * WebView.h: Added setGeolocationProvider, geolocationProvider, geolocationDidChangePosition, geolocationDidFailWithError.

2010-01-11  Jon Honeycutt  <jhoneycutt@apple.com>

        MSAA: Accessibility role of <select multiple> elements is wrong

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

        Reviewed by Darin Adler.

        * AccessibleBase.cpp:
        (MSAARole):
        Map the WebCore::ListBox and WebCore::ListBoxOption roles to the MSAA
        "list" and "list item" roles.

2010-01-08  Brent Fulgham  <bfulgham@webkit.org>

        Build fix, no review.

        Protect video control logic inside ENABLE(VIDEO).

        * WebView.cpp:
        (WebView::enterFullscreenForNode):
        (WebView::exitFullscreen):
        * WebView.h:

2010-01-08  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Adam Roben.

        Implement full-screen video for Windows
        https://bugs.webkit.org/show_bug.cgi?id=31318
        
        This adds a full-screen controller, FullscreenVideoController, 
        which manages going in and out of full-screen. The actual 
        full-screen window is created and managed by logic added 
        to QTMovieWin. FullscreenVideoController also creates and
        manages a HUD. The HUD renders and manages events to
        control the playing video. Movie controller events go to 
        FullscreenVideoController which then sends them to HTMLMediaElement, 
        which is passed to the controller by WebView, which gets the call 
        to go into full-screen mode from HTMLMediaElement via 
        ChromeClient.
        
        I've also updated the icons so the related sets (Play/Pause and
        volume high/volume low/exit fullscreen) are the same size. This 
        allows me to position them using common code.

        * WebCoreSupport/WebChromeClient.cpp:
        (WebChromeClient::supportsFullscreenForNode):
        (WebChromeClient::enterFullscreenForNode):
        (WebChromeClient::exitFullscreenForNode):
        * WebCoreSupport/WebChromeClient.h:
        * WebKit.vcproj/WebKit.vcproj:
        * WebKit.vcproj/fsVideoAudioVolumeHigh.png:
        * WebKit.vcproj/fsVideoAudioVolumeLow.png:
        * WebKit.vcproj/fsVideoExitFullscreen.png:
        * WebKit.vcproj/fsVideoPause.png:
        * WebKit.vcproj/fsVideoPlay.png:
        * WebKitDLL.cpp:
        (loadResourceIntoBuffer):
        * FullscreenVideoController.cpp: Added.
        * FullscreenVideoController.h: Added.
        * WebView.cpp:
        (WebView::enterFullscreenForNode):
        (WebView::exitFullscreen):
        * WebView.h:

2010-01-08  Brent Fulgham  <bfulgham@webkit.org>

        Unreviewed correction. 

        Accidentally left unnecessary modification to hdcFromContext
        in when landing r52995.

        * WebFrame.cpp:
        (hdcFromContext): Back out unneeded modification.

2010-01-08  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        Use correct cairo surface data type for handling print operations.
        https://bugs.webkit.org/show_bug.cgi?id=33022.

        * WebFrame.cpp:
        (scaleFactor): Handle 'scale = 0' case.
        (WebFrame::spoolPage): Use scaleFactor helper function.  Account for
         margin size in region passed to header/footer routines.
        (WebFrame::spoolPages): Properly clean up Cairo surface.

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

        Reviewed by Maciej Stachowiak.

        Remove COM code generation files.
        https://bugs.webkit.org/show_bug.cgi?id=32854

        * WebKit.vcproj/DerivedSources.make: Removed.
        * WebKit.vcproj/build-generated-files.sh: Removed.

2010-01-05  Adam Roben  <aroben@apple.com>

        Make IWebView::close and destroying a WebView's HWND optional for
        WebKit clients

        WebView will now take care of these operations itself when its last
        reference is released, if they haven't already been done.

        IWebView::close now also destroys the WebView's HWND. All WebKit
        clients were already performing these operations in succession anyway,
        or were attempting to by calling IWebView::close then destroying the
        WebView's host window (which actually resulted in the WebView's HWND
        leaking, and the crash in the below bug).

        Fixes <rdar://problem/7374218> <http://webkit.org/b/32827> Crash when
        calling IWebView::close, then releasing the WebView, without calling
        DestroyWindow

        Fixes a few WebViewDestruction tests, too.

        Reviewed by Steve Falkenburg.

        * WebView.cpp:
        (WebView::~WebView): Don't try to destroy m_viewWindow here. That
        should already have happened. Assert that this is the case.
        (WebView::close): If m_viewWindow isn't already being destroyed,
        destroy it now. Moved the call to revokeDragDrop() here from our
        WM_DESTROY handler because it needs to be done before m_viewWindow is
        nulled out.
        (WebView::WebViewWndProc): Removed call to revokeDragDrop() that
        close() now performs.
        (WebView::Release): If our last reference is being released, call
        close() so that clients don't have to. (It's harmless to call close()
        multiple times.) We do this here instead of in the destructor because
        close() can cause AddRef() and Release() to be called, and calling
        those from within the destructor leads to double-destruction.
        (WebView::setHostWindow): Removed an unnecessary (and now harmful)
        null-check.
        (WebView::revokeDragDrop): Changed an assertion into a run-time check,
        since this will now sometimes be called when m_viewWindow hasn't been
        created yet. Changed the IsWindow call to a null-check because we
        never hold onto a destroyed m_viewWindow.
        (WebView::windowAncestryDidChange): If we don't have a view window,
        stop tracking changes to our parent's active state.

2010-01-05  Adam Roben  <aroben@apple.com>

        Make it safe to call IWebView::close when IWebView::initWithFrame
        hasn't been called

        Part of <rdar://problem/7374218> <http://webkit.org/b/32827> Crash
        when IWebView::close, then releasing the WebView, without calling
        DestroyWindow

        Reviewed by Steve Falkenburg.

        * WebView.cpp:
        (WebView::close): Null-check m_page and m_preferences before using
        them. They will be null if initWithFrame was never called.

2010-01-05  Adam Roben  <aroben@apple.com>

        Add assertions to catch double-destruction of WebViews earlier

        I basically copied the m_deletionHasBegun logic from WTF::RefCounted.

        Fixes <http://webkit.org/b/33219>.

        Reviewed by Darin Adler.

        * WebView.cpp:
        (WebView::WebView): Initialize m_deletionHasBegun
        (WebView::AddRef): Assert that deletion hasn't already begun.
        (WebView::Release): Assert that deletion hasn't already begun, then
        record when deletion *does* begin.

        * WebView.h: Added m_deletionHasBegun.

2010-01-05  Adam Roben  <aroben@apple.com>

        Remove dead code in WebViewWndProc

        Fixes <http://webkit.org/b/33218>.

        Reviewed by Darin Adler.

        * WebView.cpp:
        (WebView::WebViewWndProc): Removed a redundant isBeingDestroyed check.
        We bail out much earlier in this function if isBeingDestroyed is true.

2010-01-04  Jon Honeycutt  <jhoneycutt@apple.com>

        MSAA: Accessibility role of <select> elements is wrong

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

        Reviewed by Sam Weinig.

        * AccessibleBase.cpp:
        (MSAARole):
        Map WebCore::PopUpButtonRole to MSAA's ROLE_SYSTEM_COMBOBOX.

2010-01-04  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=33181
        The first letter is not removed properly from inline input hole

        * WebView.cpp: (WebView::onIMEEndComposition): If composition is ended before it was
        confirmed, cancel it.

2010-01-04  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=33161
        Assertion failure in WebView when using Chinese Simplified IME

        * WebView.cpp: (WebView::onIMERequestCharPosition): Changed the assertion into release mode
        check. We can't make assertions about arguments passed from outside WebKit.

2010-01-04  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=33157
        Implement TextInput logging channel on Windows

        * WebKitLogging.cpp: (WebKitInitializeLoggingChannelsIfNecessary):
        * WebKitLogging.h:
        Added a TextInput channel in place of unused Network one.

        * WebView.cpp:
        (WebView::WebViewWndProc): Changed onIMERequest to return result directly. We never forward
        it to DefWindowProc, so there is no need to return an unused boolean result for "handled".
        (WebView::onIMEStartComposition): Added logging.
        (imeCompositionArgumentNames): A helper function for detailed logging in onIMEComposition.
        (imeNotificationName): A helper function for detailed logging in onIMENotify.
        (imeRequestName): A helper function for detailed logging in onIMERequest.
        (WebView::onIMEComposition): Added logging.
        (WebView::onIMEEndComposition): Ditto.
        (WebView::onIMEChar): Ditto.
        (WebView::onIMENotify): Ditto.
        (WebView::onIMERequestCharPosition): Changed to return result directly.
        (WebView::onIMERequestReconvertString): Ditto.
        (WebView::onIMERequest): Changed to return result directly. Added logging.
        (WebView::onIMESelect): Added logging.
        (WebView::onIMESetContext): Added logging.

        * WebView.h: onIMERequest functions now return result directly.


2010-01-04  Adam Roben  <aroben@apple.com>

        Add WebKitAPITest

        Fixes <http://webkit.org/b/33167>.

        Reviewed by Sam Weinig.

        * WebKit.vcproj/WebKit.sln: Added WebKitAPITest.vcproj. It builds just
        after DumpRenderTree.vcproj.

2010-01-04  Dan Bernstein  <mitz@apple.com>

        Reviewed by Ada Chan and Mark Rowe.

        Updated copyright string

        * WebKit.vcproj/WebKit.rc:

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

        Another try at fixing Windows build.

        * WebKitPrefix.cpp: Touch it.

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

        Reviewed by Mark Rowe.

        Turn off datagrid by default, at least for all platforms Apple ships.
        The datagrid implementation isn't ready for general web use yet.

        * WebKit.vcproj/WebKit.vcproj: Turn off datagrid by default.

2009-12-21  Adam Roben  <aroben@apple.com>

        Fix non-ACCELERATED_COMPOSITING builds

        * WebPreferences.cpp:
        (WebPreferences::acceleratedCompositingEnabled): Guard use of
        WKCACFLayerRenderer with USE(ACCELERATED_COMPOSITING).

2009-12-18  Adam Roben  <aroben@apple.com>

        Add IWebPreferencesPrivate::[set]AcceleratedCompositingEnabled

        Fixes <http://webkit.org/b/32745>.

        Reviewed by Ada Chan.

        * Interfaces/IWebPreferencesPrivate.idl: Added
        [set]AcceleratedCompositingEnabled.

        * Interfaces/WebKit.idl: Touched to force a build.

        * WebPreferenceKeysPrivate.h: Added
        WebKitAcceleratedCompositingEnabledPreferenceKey.

        * WebPreferences.cpp:
        (WebPreferences::initializeDefaultSettings): Make accelerated
        compositing be on by default.
        (WebPreferences::setAcceleratedCompositingEnabled): Store the new
        value.
        (WebPreferences::acceleratedCompositingEnabled): If accelerated
        compositing isn't available, return false. Otherwise, return the value
        stored in preferences.

        * WebPreferences.h: Added [set]AcceleratedCompositingAvailable.

        * WebView.cpp:
        (WebView::notifyPreferencesChanged): Just pass the value from
        WebPreferences on down.

2009-12-17  Jon Honeycutt  <jhoneycutt@apple.com>

        MSAA: Accessibility role of list items is wrong

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

        Reviewed by Adam Roben.

        * AccessibleBase.cpp:
        (MSAARole):
        Make the WebCore list item role map to the MSAA list item role.

2009-12-17  Jon Honeycutt  <jhoneycutt@apple.com>

        MSAA: Accessibility role of list markers is wrong

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

        Reviewed by Adam Roben.

        * AccessibleBase.cpp:
        (MSAARole):
        Make the WebCore list marker role map to the MSAA static text role.

2009-12-18  Adam Roben  <aroben@apple.com>

        Add #includes needed after WebCore clean-up

        Rubber-stamped by Anders Carlsson.

        Fixes <http://webkit.org/b/32718>.

        * WebCoreSupport/WebContextMenuClient.cpp:
        * WebDataSource.cpp:
        * WebHTMLRepresentation.cpp:
        * WebView.cpp:
        * WebView.h:

2009-12-17  Benjamin Otte  <otte@gnome.org>

        Reviewed by Adam Roben.

        Don't include all JSC headers everywhere
        https://bugs.webkit.org/show_bug.cgi?id=32663

        * WebCoreLocalizedStrings.cpp: Added now-needed #include of
        MathExtras.h.

2009-12-17  Adam Roben  <aroben@apple.com>

        Remove WebKit.sln's Debug_All and Debug_Internal configurations

        These configurations aren't buildable by people outside of Apple, and
        Apple doesn't use this solution file.

        Fixes <http://webkit.org/b/31000> Windows WebKit Build Configuration
        should default to Debug instead of Debug_all.

        Rubber-stamped by Dan Bernstein.

        * WebKit.vcproj/WebKit.sln:

2009-12-16  Jon Honeycutt  <jhoneycutt@apple.com>

        MSAA: Accessibility role of text nodes is wrong

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

        Reviewed by Alice Liu.

        * AccessibleBase.cpp:
        (MSAARole):
        If the role is WebCore::EditableTextRole, return ROLE_SYSTEM_TEXT.
        (AccessibleBase::role):
        Call roleValueForMSAA().

2009-12-14  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        Provide working printing support for WinCairo port.

        * WebFrame.cpp:
        (WebFrame::spoolPage): Conditionalize initialization of
          PlatformGraphicsContext handling for CG vs. Cairo.
        (scaleFactor): Add helper function.
        (hdcFromContext): Add helper function.
        (WebFrame::drawHeader): Correct Cairo variation.
        (WebFrame::drawFooter): Correct Cairo variation.
        (WebFrame::spoolPages): Correct Cairo variation.

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

        Reviewed by Dan Bernstein.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=32499
        Add client based Geolocation provider

        Add first cut of a client based Geolocation provider. This is guarded by
        ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a
        GeolocationControllerClient interface that no-one currently implements,
        but will in a subsequent patch.

        * WebView.cpp:
        (WebView::initWithFrame):

2009-12-14  Adam Roben  <aroben@apple.com>

        Change IWebFramePrivate's vtable to be compatible with Safari 4.0.4

        Reviewed by Steve Falkenburg.

        Fixes <http://webkit.org/b/32433> REGRESSION (r51567): Right click on
        a link element crashes WebKit nightly

        * Interfaces/IWebFramePrivate.idl: Moved pauseSVGAnimation to the end
        of the interface so the vtable that Safari 4.0.4 sees is unchanged.

2009-12-14  Adam Roben  <aroben@apple.com>

        Build fix

        * WebKit.vcproj/WebKit.vcproj: Added $(DXSDK_DIR)\Lib\x86 to the
        libpath for all non-Cairo configurations (it was missing from most of
        them).

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

        Reviewed by Jon Honeycutt.

        Added icons for full-screen video on Windows
        https://bugs.webkit.org/show_bug.cgi?id=31318

        * WebKit.vcproj/WebKit.rc:
        * WebKit.vcproj/WebKit.vcproj:
        * WebKit.vcproj/fsVideoAudioVolumeHigh.png: Added.
        * WebKit.vcproj/fsVideoAudioVolumeLow.png: Added.
        * WebKit.vcproj/fsVideoExitFullscreen.png: Added.
        * WebKit.vcproj/fsVideoPause.png: Added.
        * WebKit.vcproj/fsVideoPlay.png: Added.
        * WebKit.vcproj/resource.h:

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

        Reviewed by Adam Roben.

        Delay load DLLs for accelerated compositing
        https://bugs.webkit.org/show_bug.cgi?id=31856
        
        If the DLLs (d3d9 and QuartzCore). are not present it
        turns off accelerated compositing and avoids calling 
        any of the functions in the DLLs.

        * WebView.cpp:
        (WebView::notifyPreferencesChanged):

2009-12-10  Jon Honeycutt  <jhoneycutt@apple.com>

        Pass more information about a plug-in to the PluginHalterDelegate

        Reviewed by Adam Roben.

        * Interfaces/IWebPluginHalterDelegate.idl:
        Add new parameters.

        * WebCoreSupport/WebPluginHalterClient.cpp:
        (WebPluginHalterClient::shouldHaltPlugin):
        Update for new parameters. Pass them when making the delegate call.

        * WebCoreSupport/WebPluginHalterClient.h:
        Update for new parameters.

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

        Revert incorrect commit-box update r51911.
        It mistakenly set the selectAll implementation in the
        deslectAll method. 

        * WebFrame.cpp:
        (WebFrame::deselectAll):

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

        Reviewed by Darin Adler.

        Provide an implementation for 'selectAll'
        https://bugs.webkit.org/show_bug.cgi?id=32296

        * WebFrame.cpp:
        (WebFrame::selectAll): Implement "SelectAll" command.

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

        Reviewed by Darin Adler.

        Provide an implementation for 'selectAll'
        https://bugs.webkit.org/show_bug.cgi?id=32296

        * WebFrame.cpp:
        (WebFrame::selectAll): Implement "SelectAll" command.

2009-12-08  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Adam Roben.

        Delay load DLLs for accelerated compositing
        https://bugs.webkit.org/show_bug.cgi?id=31856
        
        If the DLLs (d3d9 and QuartzCore). are not present it
        turns off accelerated compositing and avoids calling 
        any of the functions in the DLLs.

        * WebView.cpp:
        * WebView.h:

2009-12-08  Adam Roben  <aroben@apple.com>

        Windows build fix

        * Interfaces/WebKit.idl: Touched this to force Interfaces.vcproj to rebuild.

2009-12-08  John Sullivan  <sullivan@apple.com>

        Reviewed by Dan Bernstein

        Split two-clause assertions into two separate assertions.

        * DOMHTMLClasses.cpp:
        (DOMHTMLInputElement::isTextField):
        Split a two-clause assertion into two separate assertions.
        (DOMHTMLInputElement::rectOnScreen):
        Added the two assertions here that all other functions in this group shared.
        (DOMHTMLInputElement::selectedRange):
        Split a two-clause assertion into two separate assertions.
        (DOMHTMLInputElement::setAutofilled):
        Split a two-clause assertion into two separate assertions.
        (DOMHTMLInputElement::isAutofilled):
        Split a two-clause assertion into two separate assertions.

2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Rubber-stamped by Maciej Stachowiak.

        Turn on (SVG) Filters for Win.
        https://bugs.webkit.org/show_bug.cgi?id=32224

        * WebKit.vcproj/WebKit.vcproj:

2009-12-08  John Sullivan  <sullivan@apple.com>

        Add isAutofilled getter to match existing setter.

        Reviewed by Ada Chan.

        * DOMHTMLClasses.cpp:
        (DOMHTMLInputElement::isAutofilled):
        Implemented new cover function.
        
        * DOMHTMLClasses.h:
        Declared new cover function.
        
        * Interfaces/DOMPrivate.idl:
        Declared new interface.

2009-12-07  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY (Windows build fix part III).

        * WebView.cpp:
        (WebView::stringByEvaluatingJavaScriptFromString):

2009-12-07  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY (Windows build fix part II).

        * WebView.cpp:
        (WebView::stringByEvaluatingJavaScriptFromString):

2009-12-03  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object history API

        * Interfaces/IWebFrameLoadDelegatePrivate2.idl:
        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::dispatchDidPushStateWithinPage):
        (WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
        (WebFrameLoaderClient::dispatchDidPopStateWithinPage):
        * WebCoreSupport/WebFrameLoaderClient.h:

2009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>

        Reviewed by Timothy Hatcher.

        Web Inspector: Simplify the settings support in inspector controller.

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

        * WebCoreSupport/WebInspectorClient.cpp:
        (WebInspectorClient::attachWindow):
        (WebInspectorClient::detachWindow):
        (WebInspectorClient::showWindowWithoutNotifications):
        * WebCoreSupport/WebInspectorClient.h:

2009-12-03  Ben Murdoch  <benm@google.com>

        Reviewed by Brady Eidson.

        [Android] The FrameLoaderClient is unaware of BackForwardList changes.
        https://bugs.webkit.org/show_bug.cgi?id=31914

        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
        (WebFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
        (WebFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
        * WebCoreSupport/WebFrameLoaderClient.h:

2009-12-02  Timothy Hatcher  <timothy@apple.com>

        Move setValueForUser to the end of the DOMHTMLInputElement interface
        so it is fine for binary compatibility.

        Directed by Steve Falkenburg.

        * Interfaces/DOMHTML.idl:

2009-12-02  Timothy Hatcher  <timothy@apple.com>

        Expose setValueForUser for the COM DOMHTMLInputElement.

        <rdar://problem/6760590> Would like a way to detect a login form AutoFill from JavaScript

        Reviewed by Dan Bernstein.

        * DOMHTMLClasses.cpp:
        (DOMHTMLInputElement::setValueForUser):
        * Interfaces/DOMHTML.idl:

2009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Try to fix windows build.

        * WebFrame.cpp:

2009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Simon Fraser.

        Add SVG animation test framework with 'snapshot' functionality
        https://bugs.webkit.org/show_bug.cgi?id=31897

        Add API used by the new 'sampleSVGAnimationForElementAtTime' DRT method,
        forwarding the call to SVGDocumentExtensions, if SVG is enabled.

        Implemented just like the existing pauseAnimation* methods for CSS animations.

        * Interfaces/IWebFramePrivate.idl:
        * WebFrame.cpp:
        (WebFrame::pauseSVGAnimation):
        * WebFrame.h:

2009-11-30  Adam Roben  <aroben@apple.com>

        Fix double-free of BSTRs passed to WebNavigationData::createInstance

        WebFrameLoaderClient::updateGlobalHistory was converting
        WebCore::Strings to WebCore::BStrings, then passing them to
        WebNavigationData::createInstance. But the latter function takes BSTR
        parameters and adopts them into WebCore::BStrings. So the end result
        was that two WebCore::BStrings would end up freeing each underlying
        BSTR.

        The fix is to only convert to WebCore::BString inside
        WebNavigationData.

        Fixes <http://webkit.org/b/31998> <rdar://problem/7383452> REGRESSION
        (r49564): Crash in updateGlobalHistory when running Javascript iBench
        test

        I couldn't find a way to reproduce this in DumpRenderTree.

        Reviewed by Steve Falkenburg.

        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::updateGlobalHistory): Pass WebCore::Strings to
        WebNavigationData::createInstance.

        * WebNavigationData.cpp:
        (WebNavigationData::WebNavigationData):
        (WebNavigationData::createInstance):
        * WebNavigationData.h:
        Changed to take const WebCore::String&s instead of BSTRs and to
        convert the Strings to BStrings at this level.

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

        Reviewed by Adam Roben.

        WebKit clients that don't implement didClearWindowObjectForFrameInScriptWorld should fall back to didClearWindowObject
        https://bugs.webkit.org/show_bug.cgi?id=31986

        * WebFrame.cpp:
        (WebFrame::dispatchDidClearWindowObjectInWorld): Fall back if E_NOTIMPL returned.

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

        Another Windows build fix
        
        Got rid of d3d.lib and d3dx9.lib dependency. Not needed until
        we turn on ACCELERATED_COMPOSITING

        * WebKit.vcproj/WebKit.vcproj:

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

        Fixed Windows build
        
        Got rid of QuartzCore.lib dependency. Not needed until
        we turn on ACCELERATED_COMPOSITING

        * WebKit.vcproj/WebKit.vcproj:

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

        Reviewed by Simon Fraser.

        Implement accelerated compositing
        https://bugs.webkit.org/show_bug.cgi?id=27314
        
        This is the WebKit side of the implementation. It plumbs the root layer
        from WebCore. It also makes changes to WebView which places the 
        backing store of the page into the root compositing layer so it is 
        properly composited with all the other layers. This deals with resizing, 
        scrolling, and incremental repaint of the page.

        * WebCoreSupport/WebChromeClient.cpp:
        (WebChromeClient::attachRootGraphicsLayer):
        (WebChromeClient::scheduleCompositingLayerSync):
        * WebCoreSupport/WebChromeClient.h:
        (WebChromeClient::setNeedsOneShotDrawingSynchronization):
        * WebKit.vcproj/WebKit.vcproj:
        * WebView.cpp:
        (WebView::WebView):
        (WebView::close):
        (WebView::repaint):
        (WebView::scrollBackingStore):
        (WebView::paint):
        (WebViewWndProc):
        (WebView::setRootChildLayer):
        (WebView::setAcceleratedCompositing):
        (WebView::setRootLayerContents):
        * WebView.h:
        (WebView::isAcceleratedCompositing):
        (WebView::resizeLayerWindow):
        (WebView::layerWindowBecameVisible):
        (WebView::setRootLayerNeedsDisplay):

2009-11-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Include "config.h" to meet Coding Style Guidelines
        https://bugs.webkit.org/show_bug.cgi?id=31792

        * GEN_DOMObject.cpp:
        * WebScriptObject.cpp:

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

        Windows build fix. Unreviewed.

        * Interfaces/IWebSerializedJSValue.idl:

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

        DOMElement::tagName() is unimplemented

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

        Reviewed by Darin Adler.

        * DOMCoreClasses.cpp:
        (DOMElement::tagName):
        Create a BString from the element's tag name, and release its BSTR
        into result.

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

        DOMNode::childNodes() is unimplemented

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

        Reviewed by Darin Adler.

        * DOMCoreClasses.cpp:
        (DOMNode::childNodes):
        Create a DOMNodeList from the node's child nodes.

2009-11-20  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Jon Honeycutt.

        Change WebSerializedJSValue on Windows to have a zero-argument createInstance call.  Move the
        serialization into a separate serialize() function that can be called after the object has been
        created.

        Fix a typo in serialize() caused when fixing build bustage (put a ! back in).

        * Interfaces/IWebSerializedJSValue.idl:
        * WebSerializedJSValue.cpp:
        (WebSerializedJSValue::WebSerializedJSValue):
        (WebSerializedJSValue::createInstance):
        (WebSerializedJSValue::serialize):
        (WebSerializedJSValue::deserialize):
        * WebSerializedJSValue.h:

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

        Reviewed by Dave Hyatt.

        Another go at the Windows Build Fix - this is a couple steps of it,
        so a little more involved than most build fixes.

        * Interfaces/IWebSerializedJSValue.idl:
        * Interfaces/JavaScriptCoreAPITypes.idl:
        * WebKit.vcproj/Interfaces.vcproj:
        * WebSerializedJSValue.cpp:
        (WebSerializedJSValue::deserialize):
        * WebSerializedJSValue.h:

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

        Reviewed by Dave Hyatt.

        Build fix for Windows - only declare JSContextRef once, instead
        of in two different idl files. Create a new file to hold the
        definition of JSContextRef.

        * Interfaces/IWebFrameLoadDelegate.idl:
        * Interfaces/IWebSerializedJSValue.idl:
        * Interfaces/JavaScriptCoreAPITypes.idl: Added.
        * Interfaces/WebKit.idl:
        * WebKit.vcproj/Interfaces.vcproj:

2009-11-20  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Oliver Hunt and Jon Honeycutt.

        Add support for WebSerializedJSValue to WebKit.  This object wraps the SerializedScriptValue functionality in WebCore
        and exposes the ability to do JS value serialization/deserialization to WebKit clients.

        * Interfaces/IWebSerializedJSValue.idl: Added.
        * Interfaces/WebKit.idl:
        * WebKit.vcproj/WebKit.vcproj:
        * WebSerializedJSValue.cpp: Added.
        (WebSerializedJSValue::WebSerializedJSValue):
        (WebSerializedJSValue::~WebSerializedJSValue):
        (WebSerializedJSValue::createInstance):
        (WebSerializedJSValue::AddRef):
        (WebSerializedJSValue::Release):
        (WebSerializedJSValue::QueryInterface):
        (WebSerializedJSValue::deserialize):
        * WebSerializedJSValue.h: Added.

2009-11-19  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=31690
        Make SocketStreamHandleCFNet work on Windows

        * WebDownloadCFNet.cpp:
        (WebDownload::init):
        (WebDownload::initWithRequest):
        (WebDownload::initToResumeWithBundle):
        Update for loaderRunLoop() now being in its own header.

2009-11-19  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/7035231>
        Support closed caption in <video> element

        * WebCoreLocalizedStrings.cpp:
        (WebCore::localizedMediaControlElementString):
        (WebCore::localizedMediaControlElementHelpText):
            Add accessibility help strings for media controller closed caption button.

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

        Reviewed by Darin Adler.

        Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
        Support for validationMessage attribute, as per HTML5 specs.

        * WebCoreLocalizedStrings.cpp:
        (WebCore::validationMessageValueMissingText):
        (WebCore::validationMessageTypeMismatchText):
        (WebCore::validationMessagePatternMismatchText):
        (WebCore::validationMessageTooLongText):
        (WebCore::validationMessageRangeUnderflowText):
        (WebCore::validationMessageRangeOverflowText):
        (WebCore::validationMessageStepMismatchText):

2009-11-18  Daniel Bates  <dbates@webkit.org>

        Reviewed by Darin Adler.

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

        Changes associated with renaming RenderTextControl::isUserEdited.

        * DOMHTMLClasses.cpp:
        (DOMHTMLInputElement::isUserEdited): Formerly named isUserEdited.
        (DOMHTMLTextAreaElement::isUserEdited): Ditto.

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

        Implement DOMHTMLInputElement::replaceCharactersInRange().

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

        Reviewed by Dan Bernstein.

        * DOMHTMLClasses.cpp:
        (DOMHTMLInputElement::replaceCharactersInRange):
        Get the text of the input field. Replace the given range with the
        replacement text, and set this new string as the input element's value.
        Select from index to the end of the field. This matches the
        implementation in the Obj-C bindings.

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

        DOMHTMLOptionElement is missing some functionality.

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

        Reviewed by Dan Bernstein.

        * DOMHTMLClasses.cpp:
        (DOMHTMLOptionElement::text):
        Cast m_element to an HTMLOptionElement, and call its text() function.
        (DOMHTMLOptionElement::label):
        Ditto, for label().

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

        DOMHTMLSelectElement is missing some implementation.

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

        Reviewed by Dan Bernstein.

        * DOMHTMLClasses.cpp:
        (DOMHTMLSelectElement::options):
        Cast m_element to an HTMLSelectElement. If it has no options, return
        E_FAIL. Otherwise, create a DOMHTMLOptionsCollection to wrap the
        options, and return it.
        (DOMHTMLSelectElement::activateItemAtIndex):
        If the index is out of bounds, return E_FAIL. Otherwise, select the
        item.

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

        DOMHTMLOptionsCollection is missing some implementation.

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

        Reviewed by Dan Bernstein.

        * DOMHTMLClasses.cpp:
        (DOMHTMLOptionsCollection::DOMHTMLOptionsCollection):
        Initialize m_collection.
        (DOMHTMLOptionsCollection::createInstance):
        Create a DOMHTMLOptionsCollection. If we fail to query for
        IDOMHTMLOptionsCollection, delete it, and return 0. Otherwise, return
        the result.
        (DOMHTMLOptionsCollection::length):
        (DOMHTMLOptionsCollection::item):
        Create a DOMNode for the WebCore Node. If this is 0, return E_FAIL.
        (DOMHTMLOptionsCollection::namedItem):
        Correct the signature of this function.

        * DOMHTMLClasses.h:
        Declare DOMHTMLOptionsCollection::createInstance(). Correct the
        signature of namedItem() to match IDOMHTMLOptionsCollection. Add a
        member to DOMHTMLOptionsCollection to hold the WebCore object.

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

        DOMHTMLInputElement::rectOnScreen() returns the wrong rect

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

        Reviewed by Darin Adler.

        * DOMHTMLClasses.cpp:
        (DOMHTMLInputElement::rectOnScreen):
        Return the rect on screen, not the rect in the window.

2009-11-17  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by NOBODY - Build Fix.

        Correct build error in Debug_Cairo target after @49705.

        * WebKit.vcproj/WebKit.vcproj: Revise JavaScriptCore.lib
          dependency to have proper "_debug" suffix needed by
          the Debug_Cairo target.

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

        Reviewed by NOBODY - Build Fix.

        Touch files to try to fix the build.

        * Interfaces/IWebInspector.idl:
        * Interfaces/WebKit.idl:
        * WebKit.vcproj/Interfaces.vcproj:

2009-11-17  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
        - Updated DRT to show/close inspector for all tests under /inspector
        - Introduced LayoutTestController::setTimelineProfilingEnabled and
          WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
        - Removed reload on each inspector test
        - Renamed fast/inspector to fast/inspector-support in order not to trigger
        inspector for those.
        - Reimplemented timeline tests in order to get rid of reload there.
        - Moved tests that don't require harness into the fast group.

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

        * Interfaces/IWebInspector.idl:
        * WebInspector.cpp:
        (WebInspector::isTimelineProfilingEnabled):
        (WebInspector::setTimelineProfilingEnabled):
        * WebInspector.h:

2009-11-13  Adam Roben  <aroben@apple.com>

        Build fix

        * Interfaces/WebKit.idl: Touch this to force interfaces to rebuild.

2009-11-13  Adam Roben  <aroben@apple.com>

        Tell the WebFrameLoadDelegate when window objects in isolated worlds
        are cleared

        Fixes <http://webkit.org/b/31124>.

        Reviewed by Dave Hyatt.

        * Interfaces/IWebFrameLoadDelegatePrivate2.idl: Added
        didClearWindowObjectForFrameInScriptWorld.

        * WebFrame.cpp:
        (WebFrame::dispatchDidClearWindowObjectInWorld):
        * WebFrame.h:
        Replaced windowObjectCleared with this function. If the delegate
        implements IWebFrameLoadDelegatePrivate2, call
        didClearWindowObjectForFrameInScriptWorld. Otherwise, if the passed-in
        world is the mainThreadNormalWorld(), call
        didClearWindowObjectForFrame.

        * WebScriptWorld.cpp:
        (allWorlds): Added. Returns a HashMap of all the WebScriptWorlds in
        existence.
        (WebScriptWorld::WebScriptWorld): Add ourselves to allWorlds().
        (WebScriptWorld::~WebScriptWorld): Remove ourselves from allWorlds().
        (WebScriptWorld::standardWorld): Added this non-COM getter for the
        standard world, which the COM getter now calls through to.
        (WebScriptWorld::findOrCreateWorld): Added. Returns the existing
        WebScriptWorld for this DOMWrapperWorld, or a new one if one doesn't
        already exist.

        * WebScriptWorld.h: Added new standardWorld overload, made one
        overload of createInstance private, and added findOrCreateWorld.

2009-11-13  Adam Roben  <aroben@apple.com>

        Build fix

        * Interfaces/WebKit.idl: Un-sort the #includes again. Apparently they
        are order-dependent!

2009-11-13  Adam Roben  <aroben@apple.com>

        Touch WebKit.idl to fix the Windows build

        * Interfaces/WebKit.idl: Sorted #includes.

2009-11-13  Adam Roben  <aroben@apple.com>

        Finish replacing worldIDs with world objects

        The only remaining use of worldIDs was in a method only used by DRT
        for the isolated worlds tests.

        Fixes <http://webkit.org/b/31414> Replace worldIDs with world objects

        Reviewed by Mark Rowe.

        * Interfaces/IWebFramePrivate.idl:
        * WebFrame.cpp:
        (WebFrame::stringByEvaluatingJavaScriptInScriptWorld):
        * WebFrame.h:
        Renamed from stringByEvaluatingJavaScriptInIsolatedWorld. Now takes an
        IWebScriptWorld instead of a worldID, so we don't need to maintain a
        map of worldID -> world anymore.

2009-11-12  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler.

        externalRepresentation should take Frame as the argument
        https://bugs.webkit.org/show_bug.cgi?id=31393

        No new tests as this is just a refactoring.

        * WebFrame.cpp:
        (WebFrame::renderTreeAsExternalRepresentation):

2009-11-12  Adam Roben  <aroben@apple.com>

        Replace worldIDs with world objects

        WebScriptWorld is the new object that represents a world.  The only
        place worldID is still used is in
        IWebFramePrivate::stringByEvaluatingJavaScriptInIsolatedWorld, but
        that will change soon.

        Part of <http://webkit.org/b/31414> Implement new SPI for dealing with
        user scripts/stylesheets and isolated worlds

        Reviewed by Sam Weinig.

        * ForEachCoClass.h: Added WebScriptWorld.

        * Interfaces/IWebFramePrivate.idl: Replaced contextForWorldID with
        contextForWorld.

        * Interfaces/IWebScriptWorld.idl: Added.

        * Interfaces/IWebViewPrivate.idl: Changed the user script/stylesheet
        functions to take an IWebScriptWorld instead of a worldID.

        * Interfaces/WebKit.idl: Added WebScriptWorld.

        * WebFrame.cpp:
        (WebFrame::contextForWorld): Renamed from contextForWorldID. Now takes
        an IWebScriptWorld.
        (WebFrame::stringByEvaluatingJavaScriptInIsolatedWorld): Moved the
        bizarre world caching/creation logic that DRT depends on here from the
        findWorld function in ScriptController.cpp. Updated to use
        ScriptController::executeScriptInWorld instead of
        ScriptController::executeScriptInIsolatedWorld.

        * WebFrame.h: Replaced contextForWorldID with contextForWorld.

        * WebScriptWorld.cpp: Added.
        (WebScriptWorld::WebScriptWorld):
        (WebScriptWorld::~WebScriptWorld):
        (WebScriptWorld::createInstance):
        (WebScriptWorld::AddRef):
        (WebScriptWorld::Release):
        (WebScriptWorld::QueryInterface):
        Standard COM class implementations.

        (WebScriptWorld::standardWorld): Returns a shared instance that represents
        WebCore's mainThreadNormalWorld().

        * WebScriptWorld.h: Added.
        (WebScriptWorld::world): Simple getter.

        * WebKit.vcproj/Interfaces.vcproj: Added IWebScriptWorld.idl.

        * WebKit.vcproj/WebKit.vcproj: Added WebScriptWorld.

        * WebKitClassFactory.cpp: Added WebScriptWorld.

        * WebView.cpp:
        (WebView::addUserScriptToGroup):
        (WebView::addUserStyleSheetToGroup):
        (WebView::removeUserScriptFromGroup):
        (WebView::removeUserStyleSheetFromGroup):
        (WebView::removeUserScriptsFromGroup):
        (WebView::removeUserStyleSheetsFromGroup):
        * WebView.h:
        Changed these functions to take an IWebScriptWorld instead of a worldID.

2009-11-12  Adam Roben  <aroben@apple.com>

        Small clean-up in WebView's user content functions

        Preparation for <http://webkit.org/b/31414> Implement new SPI for
        dealing with user scripts/stylesheets and isolated worlds

        Reviewed by Dave Hyatt.

        * WebView.cpp:
        (toString):
        (toKURL):
        Added these helper functions to convert BSTRs to WebCore types.

        (toStringVector):
        (WebView::addUserScriptToGroup):
        (WebView::addUserStyleSheetToGroup):
        (WebView::removeUserScriptFromGroup):
        (WebView::removeUserStyleSheetFromGroup):
        (WebView::removeUserScriptsFromGroup):
        (WebView::removeUserStyleSheetsFromGroup):
        (WebView::removeAllUserContentFromGroup):
        Use the new helper functions.

2009-11-11  Beth Dakin  <bdakin@apple.com>

        Build fix. No review needed.

        * WebKitGraphics.cpp:
        (WebDrawText):

2009-11-10  Daniel Bates  <dbates@webkit.org>

        Reviewed by Oliver Hunt.

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

        Modified WebDropSource::QueryContinueDrag so as to not call EventHandler::dragSourceMovedTo.

        * WebDropSource.cpp:
        (WebDropSource::QueryContinueDrag): Removed call to EventHandler::dragSourceMovedTo.

2009-11-10  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=31312
        Decouple authentication panel callbacks from ResourceHandle

        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
        * WebURLAuthenticationChallenge.cpp:
        (WebURLAuthenticationChallenge::initWithAuthenticationChallenge):
        (WebURLAuthenticationChallenge::sender):
        * WebURLAuthenticationChallengeSender.cpp:
        (WebURLAuthenticationChallengeSender::WebURLAuthenticationChallengeSender):
        (WebURLAuthenticationChallengeSender::createInstance):
        (WebURLAuthenticationChallengeSender::authenticationClient):
        * WebURLAuthenticationChallengeSender.h:
        * WebURLAuthenticationChallengeSenderCFNet.cpp:
        (WebURLAuthenticationChallengeSender::cancelAuthenticationChallenge):
        (WebURLAuthenticationChallengeSender::continueWithoutCredentialForAuthenticationChallenge):
        (WebURLAuthenticationChallengeSender::useCredential):
        Adjusted for WebCore changes.

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

        Reviewed by NOBODY - Build Fix.

        Updated fillRoundedRect to take a ColorSpace argument.

        * WebCoreSupport/WebDragClient.cpp:
        (WebDragClient::createDragImageForLink):

2009-11-08  Janne Koskinen  <janne.p.koskinen@digia.com>

        Reviewed by Holger Freyther.

        ResourceRequest to be class instead of struct
        https://bugs.webkit.org/show_bug.cgi?id=30670

        Started as a compilation fix for Symbian where the compiler makes a distinction between
        class and struct in function argument signatures.
        Changed forward declaration of ResourceRequest to have class in the forward
        declaration instead of struct.

        * WebDownload.h:

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

        Make CFDictionaryPropertyBag::createInstance return a COMPtr

        I also cleaned up CFDictionaryPropertyBag's class declaration a little
        while I was at it.

        Part of <http://webkit.org/b/25294> <rdar://problem/6803127> All
        WebKit/win classes should return COMPtrs from their static constructor
        members

        Reviewed by Steve Falkenburg.

        * CFDictionaryPropertyBag.cpp:
        (CFDictionaryPropertyBag::CFDictionaryPropertyBag): Changed to
        initialize m_refCount to 0. m_refCount gets increased to 1 by
        createInstance.
        (CFDictionaryPropertyBag::createInstance): Changed to return a COMPtr.

        * CFDictionaryPropertyBag.h:
          - Updated copyright years
          - Fixed header guard to match current style
          - Replaced #include of CoreFoundation.h with forward-declaration of
            CFMutableDictionaryRef
          - Added #include of COMPtr.h
          - Fixed opening brace placement in class declaration
          - Made createInstance return a COMPtr
          - Made constructor/destructor private
          - Made QueryInterface and IPropertyBag functions private
          - Removed unnecessary parameter names and MIDL comments

        * WebCache.cpp:
        (WebCache::statistics): Updated for change to
        CFDictionaryPropertyBag::createInstance. Now uses releaseRef to place
        the IPropertyBag pointers into the s array.

        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::dispatchDidFailToStartPlugin):
        * WebDatabaseManager.cpp:
        (WebDatabaseManager::dispatchDidModifyDatabase):
        * WebFrame.cpp:
        (WebFrame::createJavaAppletWidget):
        Updated for change to CFDictionaryPropertyBag::createInstance.

        * WebHistory.cpp: Removed releaseUserInfo, which is no longer needed.
        That function was also doing an unnecessary call to setDictionary(0).
        (createUserInfoFromArray):
        (createUserInfoFromHistoryItem):
        Changed to return COMPtr.

        (WebHistory::loadFromURL): Updated for change to
        CFDictionaryPropertyBag::createInstance.

        (WebHistory::removeAllItems): Updated for change to
        CFDictionaryPropertyBag::createInstance, which fixed a leak! We had
        forgotten to call releaseUserInfo here.

        (WebHistory::removeItem):
        (WebHistory::addItem):
        (WebHistory::visitedURL):
        * WebIconDatabase.cpp:
        (postDidAddIconNotification):
        Updated for change to CFDictionaryPropertyBag::createInstance.

        * WebKitClassFactory.cpp:
        (releaseRefFromCreateInstance): Added this overloaded function
        template to abstract away the difference between createInstance
        functions that return a ref'd pointer and createInstance functions
        that return a COMPtr.
        (WebKitClassFactory::CreateInstance): Changed to use
        releaseRefFromCreateInstance.

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

        Reviewed by Steve Falkenburg.

        WebActionModifierFlagsKey should return an unsigned, because
        flags imply a bitmask, and that is what other classes expect from
        it.

        * WebActionPropertyBag.cpp:
        (WebActionPropertyBag::Read):

2009-11-02  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by John Sullivan and Mark Rowe.

        <rdar://problem/7356733> Voiceover does not read correct media controller time values

        * WebCoreLocalizedStrings.cpp:
        (WebCore::localizedMediaTimeDescription):

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

        MSAA: Accessibility of headings is not correct

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

        Reviewed by Alice Liu.

        * AccessibleBase.cpp:
        (AccessibleBase::get_accDescription):
        Call the object's descriptionForMSAA(). Moved the comment to the
        WebCore file.
        (AccessibleBase::get_accRole):
        If the object has a string role, return that. Otherwise, return the
        integer role.

        * AccessibleBase.h:
        Removed description(), as this was moved to WebCore.

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

        MSAA: Accessibility of links is wrong

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

        Reviewed by Darin Adler.

        * AccessibleBase.cpp:
        (AccessibleBase::get_accState):
        Check whether the element is linked, instead of whether the node is an
        anchor, so the child "linkable" elements of anchor elements will also
        be "linked".
        (AccessibleBase::name):
        Return the name for MSAA.
        (AccessibleBase::value):
        Return the string value for MSAA.

2009-10-30  Evan Stade  <estade@chromium.org>

        Reviewed by David Levin.

        Notify the chrome when the focused node has changed.
        https://bugs.webkit.org/show_bug.cgi?id=30832

        Added stub implementation for new ChromeClient function.

        * WebCoreSupport/WebChromeClient.cpp:
        (WebChromeClient::focusedNodeChanged):
        * WebCoreSupport/WebChromeClient.h:

2009-10-30  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Eric Seidel.

        Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak.

        Bug 28420 -  Implement HTML5 <ruby> rendering
        (https://bugs.webkit.org/show_bug.cgi?id=28420)

        No new tests (no functional change).

        * WebKit.vcproj/WebKit.vcproj:

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

        Rubber-stamped by Dan Bernstein.

        <http://webkit.org/b/30938> REGRESSION(r50233): Windows nightlies crash on launch due to changes
        to IWebFramePrivate vtable ordering

        * Interfaces/IWebFramePrivate.idl: Move the newly-added method to the end of the interface so that
        it doesn't affect the ordering of the vtable.

2009-10-28  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Sam "Horatio" Weinig.

        Should not generate/build COM DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=30880

        * Interfaces/WebKit.idl: Remove generated interfaces.
        * WebKit.vcproj/InterfacesGenerated.vcproj: Removed.
        * WebKit.vcproj/WebKit.sln: Remove InterfacesGenerated.vcproj.
        * WebKit.vcproj/WebKit.submit.sln: Remove InterfacesGenerated.vcproj.
        * WebKit.vcproj/WebKit.vcproj: Remove generated interfaces.

2009-10-27  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler.

        Provide a way to get counter values with layoutTestContoller
        https://bugs.webkit.org/show_bug.cgi?id=30555

        * Interfaces/IWebFramePrivate.idl:
        * WebFrame.cpp:
        (WebFrame::counterValueForElementById):
        * WebFrame.h:

2009-10-28  Joe Mason  <jmason@rim.com>

        Reviewed by Adam Treat.

        Call the shared FrameLoader::defaultObjectContentType instead of
        copying code into FrameLoaderClient::objectContentType.  This causes no
        behavioural change.

        * WebFrame.cpp:
        (WebFrame::objectContentType):

2009-10-28  Holger Hans Peter Freyther  <zecke@selfish.org>

        Speculative build-fix for WebElementPropertyBag.cpp

        * WebElementPropertyBag.cpp: Include RenderObject.h

2009-10-27  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Simon Fraser.

        Change HitTestResult methods to use (3d) transformation aware methods
        https://bugs.webkit.org/show_bug.cgi?id=27347

        The HitTestResult::boundingBox method was removed. The
        RenderObject must be used directly. In contrast to the
        old HitTestResult::boundingBox method this code must use
        a (3d) transformation aware method to not run into an
        assert in SVGRenderBase::mapLocalToContainer.

        * WebElementPropertyBag.cpp:
        (WebElementPropertyBag::Read): Replace HitTestResult::boundingBox()

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

        Reviewed by Darin Adler.

        Make .rc files compile on Windows without depending on MFC headers
        https://bugs.webkit.org/show_bug.cgi?id=30750

        * WebKit.vcproj/WebKit.rc: Use winresrc.h because it exists even 
        when MFC is not installed, and is all that's needed here.

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

        Rubber-stamped by Darin Adler.

        Rollout r50041-50043.  The HTML5 spec changed to make HTMLOptionsCollection
        inherit from HTMLCollection.

        * DOMCreateInstance.cpp:

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

        Reviewed by John Sullivan.

        Add contextForWorldID to the IWebFramePrivate interface.

        * Interfaces/IWebFramePrivate.idl:
        * WebFrame.h:

2009-10-25  Sam Weinig  <sam@webkit.org>

        Another try at fixing windows.

        * DOMCreateInstance.cpp:

2009-10-25  Sam Weinig  <sam@webkit.org>

        Touch WebKit.idl in an effort to try and regenerate the COM bindings.

        * Interfaces/WebKit.idl:

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

        Build fix.  Include config.h before including other files.

        * AccessibleImage.cpp:

2009-10-23  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=30729
        Provide private API to request the global context for a specific world.
        Used to initialize parameters on the global object.

        * WebFrame.cpp:
        (WebFrame::contextForWorldID):
        * WebFrame.h:

2009-10-23  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by John Sullivan.

        Pan-scrolling pointer shows up in other tabs or windows, can't "fix" it.
        <http://webkit.org/b/30732> and <rdar://7332018>.
        
        Turns off pan-scrolling on a WebView when it is about to lose focus.

        * WebView.cpp:
        (WebViewWndProc):

2009-10-23  Jon Honeycutt  <jhoneycutt@apple.com>

        MSAA: Name for image elements should use alt attribute text

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

        Reviewed by Alice Liu.

        * AccessibleBase.cpp:
        (AccessibleBase::createInstance):
        If the AccessibilityObject is an image, return an AccessibleImage.

        * AccessibleImage.cpp: Added.
        (AccessibleImage::AccessibleImage):
        Call the base constructor.
        (AccessibleImage::name):
        If the object is not an AccessibilityRenderObject, return the base's
        name(). Look first for an ARIA "labeled-by" attribute, then look for an
        alternate text attribute. Fall back to the base's name().

        * AccessibleImage.h: Added.
        (AccessibleImage::~AccessibleImage):

        * WebKit.vcproj/WebKit.vcproj:
        Add AccessibleImage to the project.

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

        Try and fix the windows build.

        * Interfaces/WebKit.idl:

2009-10-22  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig & Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=30696
        Update to incorporate support for IsolatedWorlds in JSC bindings.

        * Interfaces/IWebFramePrivate.idl:
        * WebFrame.cpp:
        (WebFrame::globalContext):
        (WebFrame::windowObjectCleared):
        (WebFrame::stringByEvaluatingJavaScriptInIsolatedWorld):
        * WebFrame.h:

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

        Reviewed by David Levin.

        Removed WebSocket runtime settings.
        https://bugs.webkit.org/show_bug.cgi?id=29896

        WebSocket runtime configuration is supported by chromium/v8 only.

        * Interfaces/IWebPreferencesPrivate.idl:
        * WebPreferenceKeysPrivate.h:
        * WebPreferences.cpp:
        (WebPreferences::initializeDefaultSettings):
        (WebPreferences::experimentalNotificationsEnabled):
        * WebPreferences.h:
        * WebView.cpp:
        (WebView::notifyPreferencesChanged):

2009-10-19  Adam Roben  <aroben@apple.com>

        Fix crashes/assertions when calling WebLocalizedString from multiple
        threads concurrently

        Fixes <http://webkit.org/b/30534> WebLocalizedString asserts if called
        from multiple threads concurrently

        Reviewed by John Sullivan.

        * WebLocalizableStrings.cpp:
        (mainBundleLocStringsMutex):
        (frameworkLocStringsMutex):
        Added these new getters.

        (findCachedString):
        (cacheString):
        Lock the relevant mutex before accessing each string map. Otherwise
        bad things could happen if two threads end up here at the same time.

2009-10-19  Adam Roben  <aroben@apple.com>

        Get rid of a few static initializers/exit-time destructors in
        WebLocalizableStrings

        Reviewed by Dan Bernstein.

        * WebLocalizableStrings.cpp:
        (mainBundleLocStrings):
        (frameworkLocStrings):
        Added these functions instead of file-scope variables.

        (findCachedString):
        (cacheString):
        Updated to use the new functions.

2009-10-19  Nate Chapin  <japhet@chromium.org>

        Unreviewed, build fix.

        Update call to FrameLoader::urlSelected().

        * WebCoreSupport/WebContextMenuClient.cpp:
        (WebContextMenuClient::searchWithGoogle):

2009-10-16  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=30456
        Fixes for new Debug_All Windows build configuration.

        * WebKitClassFactory.cpp: Use new DEBUG_ALL preprocessor define for library naming.

2009-10-16  Jon Honeycutt  <jhoneycutt@apple.com>

        Add SPI to determine whether a plug-in has ever been halted.

        Part of <rdar://problem/7312158>.

        Reviewed by Dan Bernstein.

        * Interfaces/IWebViewPrivate.idl:
        Add hasPluginForNodeBeenHalted().

        * WebView.cpp:
        (pluginViewForNode):
        Code factored out of isNodeHaltedPlugin().
        (WebView::isNodeHaltedPlugin):
        Remove STDMETHODCALLTYPE, as it has no use at the definition. Use
        pluginViewForNode().
        (WebView::restartHaltedPluginForNode):
        Ditto.
        (WebView::hasPluginForNodeBeenHalted):
        Get the PluginView for the given node. Return the result of
        PluginView::hasBeenHalted().

        * WebView.h:
        Declare hasPluginForNodeBeenHalted().

2009-10-16  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam Roben.

        Add a Debug_All configuration to build entire stack as debug.
        Change Debug_Internal to:
        - stop using _debug suffix for all WebKit/Safari binaries
        - not use _debug as a DLL naming suffix
        - use non-debug C runtime lib.

        * WebKit.vcproj/InterfacesGenerated.vcproj: Renamed single configuration from "Release" to "all".
        * WebKit.vcproj/WebKit.make: Debug build in makefile should build Debug_All.
        * WebKit.vcproj/WebKit.sln: Add Debug_All configuration.
        * WebKit.vcproj/WebKit.submit.sln: Add Debug_All configuration.
        * WebKit.vcproj/WebKit.vcproj:
        Remove extraneous OutputDirectory/IntermediateDirectory in Debug_Cairo.
        Add Debug_All configuration.
        * WebKit.vcproj/WebKitGUID.vcproj: Add Debug_All configuration.

2009-10-15  Jon Honeycutt  <jhoneycutt@apple.com>

        Add SPI to restart a halted plug-in.

        Part of <rdar://problem/7273354> Halted plug-ins should restart on
        mouseover

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

        Reviewed by Kevin Decker.

        * Interfaces/IWebViewPrivate.idl:
        Add restartHaltedPluginForNode().

        * WebView.cpp:
        (WebView::restartHaltedPluginForNode):
        From the IDOMNode, query for the DOMNode. From the DOMNode, get the
        WebCore::Node. Get the node's renderer, and check whether it is a
        RenderWidget. If so, get its Widget, and check whether it's a
        PluginView. If so, call PluginView::restart().

        * WebView.h:
        Declare restartHaltedPluginForNode().

2009-10-14  Jon Honeycutt  <jhoneycutt@apple.com>

        Add SPI to determine whether a node is a halted plug-in.

        Part of <rdar://problem/7273354> Halted plug-ins should restart on
        mouseover

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

        Reviewed by Darin Adler.

        * Interfaces/IWebViewPrivate.idl:
        Add isNodehaltedPlugin().

        * WebView.cpp:
        (WebView::isNodeHaltedPlugin):
        From the IDOMNode, query for the DOMNode. From the DOMNode, get the
        WebCore::Node. Get the node's renderer, and check whether it is a
        RenderWidget. If so, get its Widget, and check whether it's a
        PluginView. If so, return the result of PluginView::isHalted().

        * WebView.h:
        Declare isNodeHaltedPlugin().

2009-10-15  Daniel Bates  <dbates@webkit.org>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=24731
        And
        rdar://problem/5015961
        
        Implements support for DHTML drag-and-drop operations (i.e. ondragstart, ondragend)
        in the Windows build so that it conforms to the Mac OS X build. Hence, dropEffect is
        correctly set.
        
        The WebView and WebDropSource drag-and-drop functions, as called by function
        DoDragDrop in its event loop, neither used the drop effect as specified by
        event.dataTransfer.dropEffect nor respected event.dataTransfer.effectsAllowed.
        Instead, these functions defaulted to some hardcoded drop effect and set of
        allowed drop effects, respectively.

        Tests: fast/events/drag-and-drop.html

        * WebCoreSupport/WebDragClient.cpp:
        (WebDragClient::startDrag):
        * WebDropSource.cpp:
        (WebDropSource::QueryContinueDrag): Moved call to EventHandler::dragSourceEndedAt
        into method WebDragClient::startDrag.
        * WebDropSource.h:
        * WebView.cpp:
        (WebView::keyStateToDragOperation): Fixes <rdar://problem/5015961>. Determines
        appropriate drop effect from state of keyboard and allowed effects
        m_page->dragController()->sourceDragOperation().
        (WebView::DragEnter):
        (WebView::DragOver):
        (WebView::Drop):
        * WebView.h:

2009-10-14  Adam Roben  <aroben@apple.com>

        Windows build fix

        * WebKit.vcproj/Interfaces.vcproj: Exclude IWebHistoryDelegate and
        IWebNavigationData from the build (they get #imported via WebKit.idl).

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

        Reviewed by Sam Weinig.

        WebKit Win API should provide a delegate interface for global history.
        https://bugs.webkit.org/show_bug.cgi?id=29905

        -Add IWebHistoryDelegate for clients to implement.
        -Add (I)WebNavigationData for the history delegate's use.
        -When it exists, call the history delegate instead of using WebHistory.
        
        * Interfaces/IWebHistoryDelegate.idl: Added.
        * Interfaces/IWebHistoryPrivate.idl:
        * Interfaces/IWebNavigationData.idl: Added.
        * Interfaces/IWebViewPrivate.idl:
        * Interfaces/WebKit.idl:
        
        * WebKit.vcproj/Interfaces.vcproj:
        * WebKit.vcproj/WebKit.vcproj:

        * WebCoreSupport/WebChromeClient.cpp:
        (WebChromeClient::populateVisitedLinks):
        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::updateGlobalHistory):
        (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
        (WebFrameLoaderClient::setTitle):
 
         * WebView.cpp:
        (WebView::close):
        (WebView::mainFrameURL):
        (WebView::setHistoryDelegate):
        (WebView::historyDelegate):
        (WebView::addVisitedLinks):
        * WebView.h:
        
        * WebHistory.cpp:
        (WebHistory::setVisitedLinkTrackingEnabled):
        (WebHistory::removeAllVisitedLinks):
        * WebHistory.h:

        * WebNavigationData.cpp: Added.
        (WebNavigationData::QueryInterface):
        (WebNavigationData::AddRef):
        (WebNavigationData::Release):
        (WebNavigationData::WebNavigationData):
        (WebNavigationData::~WebNavigationData):
        (WebNavigationData::createInstance):
        (WebNavigationData::url):
        (WebNavigationData::title):
        (WebNavigationData::originalRequest):
        (WebNavigationData::response):
        (WebNavigationData::hasSubstituteData):
        (WebNavigationData::clientRedirectSource):
        * WebNavigationData.h: Added.

2009-10-13  Dave Hyatt  <hyatt@apple.com>

        Fix more WebView bustage.

        * WebView.cpp:
        (WebView::addUserScriptToGroup):
        (WebView::addUserStyleSheetToGroup):
        (WebView::removeUserScriptsFromGroup):
        (WebView::removeUserStyleSheetsFromGroup):

2009-10-13  Dave Hyatt  <hyatt@apple.com>

        Fix build bustage on Windows.

        * WebView.cpp:
        (WebView::addUserScriptToGroup):
        (WebView::addUserStyleSheetToGroup):
        (WebView::removeUserScriptsFromGroup):
        (WebView::removeUserStyleSheetsFromGroup):

2009-10-13  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben..

        Split removal functions for user scripts and stylehseets based on type.

        * Interfaces/IWebViewPrivate.idl:
        * WebView.cpp:
        (WebView::removeUserScriptFromGroup):
        (WebView::removeUserStyleSheetFromGroup):
        * WebView.h:

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

        Reviewed by Darin Adler.

        Factor HistoryController out of FrameLoader
        https://bugs.webkit.org/show_bug.cgi?id=30246

        Update API call.

        * WebView.cpp:
        (WebView::loadBackForwardListFromOtherView):

2009-10-08  Jon Honeycutt  <jhoneycutt@apple.com>

        Remove the WebKitPluginHalterEnabledPreferenceKey in favor of checking
        for the existence of a PluginHalterDelegate.

        Reviewed by Dan Bernstein.

        * Interfaces/IWebPreferencesPrivate.idl:
        Remove the getter and setter.

        * WebCoreSupport/WebPluginHalterClient.cpp:
        (WebPluginHalterClient::enabled):
        Return true if the delegate exists.

        * WebCoreSupport/WebPluginHalterClient.h:
        Declare implementation of enabled().

        * WebPreferenceKeysPrivate.h:
        Removed the pref key.

        * WebPreferences.cpp:
        (WebPreferences::initializeDefaultSettings):
        Removed initialization of the pref.

        * WebPreferences.h:
        Removed declaration of the getter/setter.

        * WebView.cpp:
        (WebView::notifyPreferencesChanged):
        Don't propagate the pref.

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

        Reviewed by Eric Seidel.

        Move executeScript from FrameLoader to ScriptController
        https://bugs.webkit.org/show_bug.cgi?id=30200

        Update API call.

        * WebView.cpp:
        (WebView::stringByEvaluatingJavaScriptFromString):

2009-10-08  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Remove the shouldLoadMediaElementURL implementation.

        * Interfaces/IWebPolicyDelegatePrivate.idl:
        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::shouldUsePluginDocument):
        * WebCoreSupport/WebFrameLoaderClient.h:

2009-10-08  Adam Roben  <aroben@apple.com>

        Make IWebInspectorPrivate be accessed in a more standard way

        IWebViewPrivate::inspectorPrivate has been removed. Callers should
        instead use IWebViewPrivate::inspector and then use QueryInterface to
        get the IWebInspectorPrivate interface. This matches how our other COM
        classes work.

        Fixes <http://webkit.org/b/30215> Make IWebInspectorPrivate be
        accessed in a more standard way

        Reviewed by John Sullivan and Tim Hatcher.

        * Interfaces/IWebViewPrivate.idl: Removed inspectorPrivate.

        * WebInspector.cpp:
        (WebInspector::QueryInterface): Support querying to
        IWebInspectorPrivate.

        * WebView.cpp:
        * WebView.h:
        Removed inspectorPrivate.

2009-10-08  Adam Roben  <aroben@apple.com>

        Move the new IWebViewPrivate::inspectorPrivate function after all
        functions that existed when Safari 4.0.3 was released

        Fixes <http://webkit.org/b/30085> REGRESSION (r49091): run-safari
        crashes in Safari.dll

        Reviewed by John Sullivan.

        * Interfaces/IWebViewPrivate.idl: Moved inspectorPrivate to the end of
        the interface, so it won't modify the vtable that Safari 4.0.3 sees.

2009-10-07  Adam Roben  <aroben@apple.com>

        Expose origin whitelisting in the WebKit API on Windows

        Fixes <http://webkit.org/b/30185>.

        Reviewed by Eric Seidel.

        * Interfaces/IWebViewPrivate.idl: Added whiteListAccessFromOrigin and
        resetOriginAccessWhiteLists, to match the Mac SPI.

        * WebView.cpp:
        (WebView::whiteListAccessFromOrigin):
        (WebView::resetOriginAccessWhiteLists):
        * WebView.h:
        Added. These just call through to SecurityOrigin.

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

        Reviewed by Darin Adler.

        Factor PolicyChecker out of FrameLoader
        https://bugs.webkit.org/show_bug.cgi?id=30155

        Move the policy callback to the policy object.

        * WebFrame.cpp:
        (WebFrame::dispatchWillSubmitForm):
        (WebFrame::receivedPolicyDecision):
        (WebFrame::dispatchDecidePolicyForMIMEType):
        (WebFrame::dispatchDecidePolicyForNewWindowAction):
        (WebFrame::dispatchDecidePolicyForNavigationAction):

2009-10-07  Daniel Bates  <dbates@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=30102
        And
        <rdar://problem/5015957>
        
        Fixes an issue (in the Windows build) where the cursor does not change to the
        not-allowed cursor when the drag-and-drop operation is not allowed.
        
        The allowed effects in WebDragClient::startDrag are hard-coded to be 
        DROPEFFECT_COPY | DROPEFFECT_LINK | DROPEFFECT_MOVE. Instead, the list of 
        allowed drop effects should be determined by the allowed operations of the
        drag source.
        
        We cannot test this using DRT because DRT looks at the programmatic drop 
        cursor and until bug #24731 is fixed this value is hard-coded to DragOperationCopy.
        That is, there is a discrepancy in the Windows build between the Windows API-based 
        drop effect and the WebKit drop effect. Because DRT cannot read the screen buffer 
        to determine the cursor, a manual test is needed.

        * WebCoreSupport/WebDragClient.cpp:
        (draggingSourceOperationMaskToDragCursors): Added method.
        (WebDragClient::startDrag):

2009-10-07  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=30176
        <rdar://problem/7281553> Extra information in UA causes problems with gmail
        
        * WebKit.vcproj/WebKit.rc: Restore PRODUCTVERSION to build number only. Remove extra space.

2009-10-06  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: default to an attached inspector window on Windows (as on Mac).

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

        * WebCoreSupport/WebInspectorClient.cpp:
        (WebInspectorClient::showWindowWithoutNotifications):

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

        Reviewed by Eric Seidel.

        Move FrameLoader::canLoad to SecurityOrigin
        https://bugs.webkit.org/show_bug.cgi?id=30111

        * WebFrame.cpp:
        (WebFrame::allowsFollowingLink):

2009-10-06  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: close inspector client view on
        InspectorController::close API call.

        In order to run batch web inspector layout tests (and not affect 
        subsequent tests) we should close inspector client's view upon
        InspectorController::close API call.

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

        * WebCoreSupport/WebInspectorClient.cpp:
        (WebInspectorClient::createPage):

2009-10-06  David Levin  <levin@chromium.org>

        Reviewed by NOBODY (windows build fix).

        Speculative build fix for windows (due to r49160).

        * WebDownloadCFNet.cpp:
        (WebDownload::initToResumeWithBundle):
        * WebIconDatabase.cpp:
        (WebIconDatabase::dispatchDidAddIconForPageURL):

2009-10-05  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: add testing harness for Web Inspector.

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

        * Interfaces/IWebInspectorPrivate.idl: Added.
        * Interfaces/IWebViewPrivate.idl:
        * Interfaces/WebKit.idl:
        * WebInspector.cpp:
        (WebInspector::evaluateInFrontend):
        * WebInspector.h:
        * WebView.cpp:
        (WebView::inspectorPrivate):
        * WebView.h:

2009-10-02  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        Add support for blacklist patterns to user stylesheets and scripts in addition to whitelist patterns.

        * Interfaces/IWebViewPrivate.idl:
        * WebView.cpp:
        (toStringVector):
        (WebView::addUserScriptToGroup):
        (WebView::addUserStyleSheetToGroup):
        * WebView.h:

2009-10-02  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Mark Rowe.

        <https://bugs.webkit.org/show_bug.cgi?id=29989>
        Safari version number shouldn't be exposed in WebKit code
        
        For a WebKit version of 532.3.4:
        Product version is: 5.32.3.4 (was 4.0.3.0)
        File version is: 5.32.3.4 (was 4.532.3.4)

        * WebKit.vcproj/WebKit.rc:

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

        Reviewed by Dan Bernstein.

        Fix for <rdar://problem/7259706>
        Need WebKit API or SPI on Mac and Windows to test whether it's safe to load a page in a new tab/window

        * Interfaces/IWebFramePrivate.idl:
        * WebFrame.cpp:
        (WebFrame::allowsFollowingLink):
        * WebFrame.h:

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

        Reviewed by Adam Roben.

        Add the ability to remove user stylesheets and scripts by URL.

        * Interfaces/IWebViewPrivate.idl:
        * WebView.cpp:
        (WebView::removeUserContentWithURLFromGroup):
        * WebView.h:

2009-09-29  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Add support for run-time flag for 3D canvas
        https://bugs.webkit.org/show_bug.cgi?id=29826

        * WebView.cpp:
        (WebView::notifyPreferencesChanged): Enable experimental WebGL
        flag when 3D_CANVAS is enabled in the build.

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

        Reviewed by Darin Adler and Sam Weinig.

        Onclick not fired for an element copied with cloneContents() or cloneNode()
        https://bugs.webkit.org/show_bug.cgi?id=25130

        * DOMCreateInstance.cpp: GEN_DOMEventListener is a pure interface now.

        * WebKit.vcproj/WebKit.vcproj: Removed GEN_DOMEventListener.cpp.

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

        Reviewed by Eric Seidel.

        Add experimentalWebSocketsEnabled in WebPreferences.
        https://bugs.webkit.org/show_bug.cgi?id=28941

        * Interfaces/IWebPreferencesPrivate.idl:
        * WebPreferenceKeysPrivate.h:
        * WebPreferences.cpp:
        (WebPreferences::initializeDefaultSettings):
        (WebPreferences::setExperimentalWebSocketsEnabled):
        (WebPreferences::experimentalWebSocketsEnabled):
        * WebPreferences.h:
        * WebView.cpp:
        (WebView::notifyPreferencesChanged):
        (core):

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

        Reviewed by Steve Falkenburg.

        Speed up access to history items by caching date computation.

        * History/WebHistory.mm:
        (getDayBoundaries): Refactored from timeIntervalForBeginningOfDay.
        Returns the beginning of the day that the passed time is within and
        the beginning of the next day.
        (beginningOfDay): Added. Uses getDayBoundaries so it can be fast for
        multiple dates within the same day, which is the common case.
        (dateKey): Added. Calls beginningOfDay and converts to an integer.
        (WebHistory::findKey): Changed to call dateKey instead of
        timeIntervalForBeginningOfDay.

2009-09-25  Adam Roben  <aroben@apple.com>

        Add SPI to invalidate a WebView's backing store

        This is useful in conjunction with
        IWebUIDelegatePrivate2::drawBackground. This provides a way for the UI
        delegate to force WebView to get its background redrawn.

        Fixes <http://webkit.org/b/29737> Need SPI to invalidate a WebView's
        backing store

        Reviewed by Anders Carlsson.

        * Interfaces/IWebViewPrivate.idl: Added invalidateBackingStore.
        * WebView.cpp:
        (WebView::invalidateBackingStore): If rect is 0, invalidate our whole
        client rect. Otherwise invalidate the intersection of rect with our
        client rect.
        * WebView.h:

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

        Add a mechanism for automatically halting plug-ins.

        Reviewed by Oliver Hunt.

        * Interfaces/IWebPluginHalterDelegate.idl: Added. Defines an interface
        for a delegate that determines whether plug-ins should be halted.

        * Interfaces/IWebPreferencesPrivate.idl:
        Declare functions to get and set the enabled state of the plug-in
        halter and the plug-in allowed run time.

        * Interfaces/IWebViewPrivate.idl:
        Declare functions to get and set the IWebPluginHalterDelegate.

        * Interfaces/WebKit.idl:

        * WebCoreSupport/WebPluginHalterClient.cpp: Added.
        (WebPluginHalterClient::WebPluginHalterClient):
        (WebPluginHalterClient::shouldHaltPlugin):
        Get the IWebPluginHalterDelegate for the WebView. Create a WebKit
        DOMNode for the WebCore Node. Call the delegate's shouldHaltPlugin().
        If the call fails, return false. Otherwise, return the result of the
        call.

        * WebCoreSupport/WebPluginHalterClient.h: Added.

        * WebKit.vcproj/Interfaces.vcproj:
        Add IWebPluginHalterDelegate.idl.

        * WebKit.vcproj/WebKit.vcproj:
        Add WebPluginHalterClient.{h,cpp}.

        * WebPreferenceKeysPrivate.h:
        Define WebKitPluginHalterEnabledPreferenceKey and
        WebKitPluginAllowedRunTimePreferenceKey.

        * WebPreferences.cpp:
        (WebPreferences::initializeDefaultSettings):
        Leave plug-in halting disabled by default. Set the default value for
        the plug-in allowed run time to the max value of an unsigned int.
        (WebPreferences::setPluginHalterEnabled):
        (WebPreferences::pluginHalterEnabled):
        (WebPreferences::setPluginAllowedRunTime):
        (WebPreferences::pluginAllowedRunTime):

        * WebPreferences.h:

        * WebView.cpp:
        (WebView::close):
        Clear the IWebPluginHalterDelegate.
        (WebView::initWithFrame):
        Pass a WebPluginHalterClient when creating the Page.
        (WebView::notifyPreferencesChanged):
        Set the new settings when the preferences changed notification is
        received.
        (WebView::setPluginHalterDelegate):
        (WebView::pluginHalterDelegate):

        * WebView.h:
        Declare overrides of setPluginHalterDelegate() and
        pluginHalterDelegate(). Added a member to track the
        IWebPluginHalterDelegate.

2009-09-14  John Gregg  <johnnyg@google.com>

        Reviewed by Eric Seidel.

        Enable switch for notifications (experimental) in Page Settings
        https://bugs.webkit.org/show_bug.cgi?id=28930

        Adds support for the experimentalNotificationsEnabled flag in Settings through
        WebPreferencesPrivate interface.  Also cleans up some issues accessing the
        notification delegate through DumpRenderTree.

        * Interfaces/IWebPreferencesPrivate.idl:
        * WebCoreSupport/WebDesktopNotificationsDelegate.cpp:
        (WebDesktopNotificationsDelegate::hasNotificationDelegate):
        (WebDesktopNotificationsDelegate::notificationDelegate):
        * WebPreferenceKeysPrivate.h:
        * WebPreferences.cpp:
        (WebPreferences::initializeDefaultSettings):
        (WebPreferences::setExperimentalNotificationsEnabled):
        (WebPreferences::experimentalNotificationsEnabled):
        * WebPreferences.h:
        * WebView.cpp:
        (WebView::notifyPreferencesChanged):

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

        Reviewed by Adam Roben.

        <rdar://problem/7243354> 
        REGRESSION(48580-48636): Crash clicking embedded QT preview button on apple.com/trailers
        
        Check for a null IWebPolicyDelegatePrivate.
        
        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::shouldLoadMediaElementURL):

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

        Rubber-stamped by Adam Roben.

        Remove accidentally left in declaration of reloadFromOrigin in IWebFramePrivate.idl

        * Interfaces/IWebFramePrivate.idl:

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

        Reviewed by Steve Falkenburg.

        Fix for <rdar://problem/6451745>
        Windows WebKit needs to implement reloadFromOrigin()

        * Interfaces/IWebFrame.idl:
        * Interfaces/IWebFramePrivate.idl:
        * Interfaces/IWebView.idl:
        * WebFrame.cpp:
        (WebFrame::reloadFromOrigin):
        * WebFrame.h:
        * WebView.cpp:
        (WebView::reloadFromOrigin):
        * WebView.h:

2009-09-22  Adam Roben  <aroben@apple.com>

        Manage refcounts correctly in DefaultDownloadDelegate::willSendRequest

        Fixes <http://webkit.org/b/29650> Crash in
        WebDownload::willSendRequest when using DefaultDownloadDelegate

        Reviewed by Brady Eidson.

        * DefaultDownloadDelegate.cpp:
        (DefaultDownloadDelegate::willSendRequest): Call AddRef() on the
        object we're returning via the finalRequest out-parameter.

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

        Reviewed by Adam Roben.

        <rdar://problem/7135588> HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource

        Implement WebFrameLoaderClient::shouldLoadMediaElementURL and have it call the new private policy
        delegate method.
        
        * Interfaces/IWebPolicyDelegatePrivate.idl: Added.
        * Interfaces/WebKit.idl:
        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::shouldLoadMediaElementURL):
        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebKit.vcproj/Interfaces.vcproj:

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

        Reviewed by Simon Hausmann.

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

        Reflect the rename of platformWindow and it's return type.

        * AccessibleBase.cpp:
        (AccessibleBase::get_accParent):
        * WebCoreSupport/WebChromeClient.cpp:
        (WebChromeClient::platformPageClient):
        * WebCoreSupport/WebChromeClient.h:

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

        Reviewed by Adam Roben.

        Remove assertions that were being hit by calls to
        m_verticalScrollbar->invalidate(). These assertions were valid,
        but they were causing tests to fail, so replacing with a FIXME 
        until we can find out the real cause/solution that is being tracked 
        by http://webkit.org/b/29350.

        * WebView.cpp:
        (WebView::addToDirtyRegion):
        (WebView::paintIntoBackingStore):

2009-09-17  Ada Chan  <adachan@apple.com>

        Post WebViewDidChangeSelectionNotification when the text selection changes.

        Fixes <http://webkit.org/b/29321>

        Reviewed by Adam Roben.

        * Interfaces/IWebView.idl:
        * WebCoreSupport/WebEditorClient.cpp:
        (WebEditorClient::respondToChangedSelection):

2009-09-17  Adam Roben  <aroben@apple.com>

        Fix a crash when a WebView's HWND is destroyed before IWebView::close
        is called

        WebView's HWND was being sent a WM_TIMER message after the WebView was
        destroyed. This normally isn't possible (we call DestroyWindow inside
        WebView's destructor to ensure the HWND doesn't outlive the WebView),
        but r48060 changed WebView to call SetParent(m_viewWindow,
        HWND_MESSAGE) while handling WM_DESTROY, and apparently this puts the
        HWND into some weird half-destroyed state where it can still receive
        WM_TIMER messages.

        Fixes <http://webkit.org/b/29337> <rdar://problem/7209897> REGRESSION
        (r48060): unrepro but frequent crash in WebViewWndProc

        Reviewed by Steve Falkenburg.

        * WebView.cpp:
        (WebViewWndProc): When handling WM_DESTROY, call setIsBeingDestroyed()
        before calling close(). This allows setHostWindow to detect that we're
        handling WM_DESTROY. No other code in close() cared whether
        isBeingDestroyed() was true or not.
        (WebView::setHostWindow): If our host window is being set to 0 and
        we're being destroyed, don't become a message-only window. Doing this
        while handling WM_DESTROY seems to lead to crashes.

2009-09-16  Adam Roben  <aroben@apple.com>

        Add a UI delegate callback to let the delegate draw a WebView's
        background

        Fixes <http://webkit.org/b/29315>.

        Reviewed by Dave Hyatt.

        * Interfaces/IWebUIDelegatePrivate.idl: Added
        IWebUIDelegatePrivate2::drawBackground.

        * WebView.cpp:
        (WebView::paintIntoBackingStore): After clearing or filling with
        white, let the delegate draw whatever background it wants. Also added
        an assertion that the dirty rect is within our bounds.

2009-09-16  Adam Roben  <aroben@apple.com>

        Prevent WebView from painting over sibling windows

        Fixes <http://webkit.org/b/29300> <rdar://problem/7227960> WebView can
        paint over sibling windows

        Reviewed by Darin Adler.

        * WebView.cpp:
        (WebView::initWithFrame): Create the WebView's HWND with the
        WS_CLIPSIBLINGS style.

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

        Reviewed by Alexey Proskuryakov.

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

        Adopt the new WebCore::CredentialStorage in WebKit/Win.

        * WebDownloadCFNet.cpp:
        (WebDownload::didReceiveAuthenticationChallenge):

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

        Reviewed by Dan Bernstein.

        Properly propagate preference from WebPreferences to WebCore::Settings.
        https://bugs.webkit.org/show_bug.cgi?id=29192

        * WebView.cpp:
        (WebView::initWithFrame): Apply setting when creating a new WebView.
        (WebView::notifyPreferencesChanged): Apply setting when preferences change.

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

        Reviewed by Darin Adler.

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

        * Interfaces/IWebPreferencesPrivate.idl: Added getter/setter.
        Put this just after last 4.0.3 method for future merging.
        * Interfaces/WebKit.idl: Touched to force a rebuild.
        * WebPreferenceKeysPrivate.h: Added prefs key for high res timers.
        * WebPreferences.cpp:
        (WebPreferences::initializeDefaultSettings): Initialize high res timers to enabled.
        (WebPreferences::setShouldUseHighResolutionTimers): Added.
        (WebPreferences::shouldUseHighResolutionTimers): Added.
        * WebPreferences.h: Added getter/setter.

2009-09-11  Adam Roben  <aroben@apple.com>

        Get user script/stylesheet tests running on Windows

        Fixes <http://webkit.org/b/29181> User script/stylesheet tests are
        skipped on Windows

        Reviewed by John Sullivan.

        * Interfaces/IWebViewPrivate.idl: Added addUserScriptToGroup,
        addUserStyleSheetToGroup, removeUserContentFromGroup,
        removeAllUserContentFromGropu to match the Mac SPI.

        * WebView.cpp:
        (WebView::addUserScriptToGroup):
        (WebView::addUserStyleSheetToGroup):
        (WebView::removeUserContentFromGroup):
        (WebView::removeAllUserContentFromGroup):
        * WebView.h:
        Added. Implementation was based on similar methods in WebView.mm.

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

        Fix crash on launch on Windows.

        Rubber-stamped by Mark Rowe.

        * WebKit.vcproj/WebKit.vcproj:
        Define ENABLE_WEB_SOCKETS for all configurations.

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

        Reviewed by David Levin.

        Enable SHARED_WORKERS by default.
        https://bugs.webkit.org/show_bug.cgi?id=28959

        * WebKit.vcproj/WebKit.vcproj:

2009-09-04  Adam Roben  <aroben@apple.com>

        Make WebView function without a parent window

        When WebView has no parent window, it becomes a message-only window,
        which hides it from the screen and prevents it from appearing on the
        taskbar.

        Fixes <http://webkit.org/b/28971> <rdar://problem/4976998>
        WebView::initWithFrame fails if there's no host window

        Reviewed by Dave Hyatt.

        * WebView.cpp:
        (WebView::initWithFrame): m_hostWindow is null, use HWND_MESSAGE as
        our parent window, which will make us a message-only window.
        (WebView::setHostWindow): If he new host window is null, use
        HWND_MESSAGE as our parent window, which will make us a message-only
        window.

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

        Unreviewed attempt at a build fix.

        Added missing include.

        * WebCoreSupport/WebFrameLoaderClient.cpp:

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

        Unreviewed attempt at a build fix.

        Fix typo of IWebFrameLoadDelegatePrivate2 and make
        IWebFrameLoadDelegatePrivate inherit from IWebFrameLoadDelegatePrivate
        as requestd by Adam Roben.

        * Interfaces/IWebFrameLoadDelegatePrivate2.idl:
        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::didDisplayInsecureContent):
        (WebFrameLoaderClient::didRunInsecureContent):

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

        Reviewed by Eric Seidel.

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

        Plumb mixed content notifications to IWebFrameLoadDelegatePrivate.

        * Interfaces/IWebFrameLoadDelegatePrivate2.idl: Added.
        * Interfaces/WebKit.idl:
        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::didDisplayInsecureContent):
        (WebFrameLoaderClient::didRunInsecureContent):
        * WebKit.vcproj/Interfaces.vcproj:

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

        Reviewed by eric@webkit.org.

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

        Stub implementations of mixed content methods of FrameLoaderClient. 

        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::didDisplayInsecureContent):
        (WebFrameLoaderClient::didRunInsecureContent):
        * WebCoreSupport/WebFrameLoaderClient.h:

2009-09-01  Adam Roben  <aroben@apple.com>

        Post a notification when a WebView is closing

        This is useful for situations where some code wants to react to the
        WebView closing but isn't in charge of the WebView and can't otherwise
        be notified. This notification could replace
        IWebUIDelegatePrivate::webViewClosing if we decide that the
        notification system isn't too burdensome.

        <http://webkit.org/b/28875>

        Reviewed by John Sullivan.

        * Interfaces/IWebViewPrivate.idl: Added the
        WebViewWillCloseNotification string constant.
        * WebKit.vcproj/WebKit.vcproj: Link against comsuppw.lib in all
        configurations so that we can use _bstr_t.
        * WebView.cpp:
        (WebView::close): Post the WebViewWillCloseNotification.

2009-08-31  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=28852
        Rename KURL single argument constructor to avoid confusion

        * WebURLResponse.cpp: (WebURLResponse::createInstance): Adapt to the change.

2009-08-20  Adam Roben  <aroben@apple.com>

        Give WebKit clients access to the window features specified in
        window.open

        Reviewed by Steve Falkenburg.

        * COMVariantSetter.h: Added COMVariantSetters for bool and float.

        * Interfaces/IWebUIDelegatePrivate.idl: Added IWebUIDelegatePrivate2,
        which contains a new version of createWebViewWithRequest that also
        passes the window features as an IPropertyBag. This is analagous to
        the -createWebViewWithRequest:windowFeatures: method added to
        WebUIDelegate on Mac in r27452. Also added key strings for use with
        the window features property bag.

        * WebCoreSupport/WebChromeClient.cpp:
        (createWindowFeaturesPropertyBag): Added this helper function to turn
        a WebCore::WindowFeatures into an IPropertyBag for passing to WebKit
        clients.
        (WebChromeClient::createWindow): If the UI delegate implements
        IWebUIDelegatePrivate2, call the new createWebViewWithRequest function
        that takes a window features property bag. If the delegate doesn't
        implement the new function, fall back to the old functions.

2009-08-20  Adam Roben  <aroben@apple.com>

        A little clean-up in WebChromeClient::createWindow

        Reviewed by Steve Falkenburg.

        * WebCoreSupport/WebChromeClient.cpp:
        (WebChromeClient::createWindow): Refactored to share more code between
        the dialog and non-dialog cases.

2009-08-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=25889
        [GTK] scrollbar policy for main frame is not implementable

        Add empty implementation for new ChromeClient method.

        * WebCoreSupport/WebChromeClient.h:
        (WebChromeClient::scrollbarsModeDidChange):

2009-08-27  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        Modify Release_Cairo target to build testapi using the
        Release_CFLite target so that the correct CoreFoundation
        (in this case, CFLite.dll) is linked.

        * WebKit.vcproj/WebKit.sln:

2009-08-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Oliver Hunt.

        Don't let local files access web URLs
        https://bugs.webkit.org/show_bug.cgi?id=28480

        * WebPreferences.cpp:
        (WebPreferences::initializeDefaultSettings):

2009-08-26  David Levin  <levin@chromium.org>

        Reviewed by Darin Fisher.

        ResourceRequestBase::*[Aa]llowHTTPCookies shouldn't mention http.
        https://bugs.webkit.org/show_bug.cgi?id=28735

        * WebMutableURLRequest.cpp:
        (WebMutableURLRequest::setHTTPShouldHandleCookies):

2009-08-25  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        <video> and <audio> controller should be accessible
        https://bugs.webkit.org/show_bug.cgi?id=28081

        * WebCoreLocalizedStrings.cpp:
        (WebCore::localizedMediaControlElementString):
        (WebCore::localizedMediaControlElementHelpText):
        (WebCore::localizedMediaTimeDescription):
            New.

2009-08-25  Brent Fulgham  <bfulgham@webkit.org>

        Build fix for Windows.

        Revise Debug_Cairo build target to build testapi, jsc, WinLauncher,
        DumpRenderTree, and TestNetscapeAPI using WinCairo debug build
        settings so they link against the proper libraries.

        * WebKit.vcproj/WebKit.sln:

2009-08-25  David Levin  <levin@chromium.org>

        Reviewed by Adam Roben.

        PLATFORM(CFNETWORK) should be USE(CFNETWORK).
        https://bugs.webkit.org/show_bug.cgi?id=28713

        Also, moved the #if header section after the other #includes.

        * WebError.cpp:
        (WebError::localizedDescription):

2009-08-24  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Steve Falkenburg.

        Revise CFLite Debug build to emit DLL's with _debug label.
        https://bugs.webkit.org/show_bug.cgi?id=28695.

        * WebKit.vcproj/WebKit.vcproj: Modify Debug_Cairo target to
          inherit from new debug_wincairo property sheet, instead of
          the current debug sheet. 

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

        Revert 47684.  We're going to do this later once clients have had a
        chance to opt into the setting they like.

        * WebPreferences.cpp:
        (WebPreferences::initializeDefaultSettings):

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

        Reviewed by Eric Seidel.

        Don't let local files access web URLs
        https://bugs.webkit.org/show_bug.cgi?id=28480

        * WebPreferences.cpp:
        (WebPreferences::initializeDefaultSettings):

2009-08-20  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adam Roben.

        Fix of <http://webkit.org/b/27850>. Panning by emulating Mouse Wheel Events breaks Google Maps.
        
        Switched to using RenderLayer::scrollByRecursively instead of emulating a mouse wheel,
        and switched to handling the hit testing in WebView from doing it as part of the mouse wheel event.
        One downside of this fix is that panning will not jump out of frames anymore (same behavior as pan-scrolling), but
        this is tracked in <http://webkit.org/b/28237>.

        * WebView.cpp:
        (WebView::gestureNotify): Added hit testing here to figure out the node the user started the gesture on.
        (WebView::gesture): Switched from emulating mouse wheel events for panning to calling RenderLayer::scrollByRecursively.
        * WebView.h:

2009-08-18  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Oliver Hunt.

        Fix of <https://bugs.webkit.org/show_bug.cgi?id=28326> DRT on Windows doesn't support 
        LayoutTestController::setQuota or print a callback on UIDelegate::exceededDatabaseQuota.
        
        Added a setQuota interface method to IWebDatabaseManager and implemented it.

        * Interfaces/IWebDatabaseManager.idl:
        * WebDatabaseManager.cpp:
        (WebDatabaseManager::setQuota):
        * WebDatabaseManager.h:

2009-08-18  Drew Wilson  <atwilson@google.com>

        Unreviewed (build break).

        Added missing include for WebWorkersPrivate.h.

        * WebKitClassFactory.cpp:

2009-08-18  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=28415
        Set svn:eol-style CRLF on all .sln and .vcproj files that don't already
        have it.

        * WebKit.vcproj/InterfacesGenerated.vcproj:

2009-08-18  Drew Wilson  <atwilson@google.com>

        Reviewed by Eric Seidel.

        Need to extend DumpRenderTree to expose number of worker threads
        https://bugs.webkit.org/show_bug.cgi?id=28292

        Defined/implemented COM interfaces to expose WorkerThread::workerThreadCount() for DumpRenderTree.

        * ForEachCoClass.h:
        Added WebWorkersPrivate.
        * Interfaces/IWebWorkersPrivate.idl: Added.
        * Interfaces/WebKit.idl:
        Added WebWorkersPrivate.
        * WebKit.vcproj/Interfaces.vcproj:
        * WebKit.vcproj/WebKit.vcproj:
        * WebWorkersPrivate.cpp: Added.
        Implementation of the IWebWorkersPrivate COM interface, to expose workerThreadCount() for DumpRenderTree.
        (WebWorkersPrivate::QueryInterface):
        (WebWorkersPrivate::AddRef):
        (WebWorkersPrivate::Release):
        (WebWorkersPrivate::workerThreadCount):
        (WebWorkersPrivate::createInstance):
        (WebWorkersPrivate::WebWorkersPrivate):
        (WebWorkersPrivate::~WebWorkersPrivate):
        * WebWorkersPrivate.h: Added.

2009-08-17  Peter Kasting  <pkasting@google.com>

        Reviewed by Steve Falkenburg.

        https://bugs.webkit.org/show_bug.cgi?id=27323
        Only add Cygwin to the path when it isn't already there.  This avoids
        causing problems for people who purposefully have non-Cygwin versions of
        executables like svn in front of the Cygwin ones in their paths.

        * WebKit.vcproj/Interfaces.vcproj:
        * WebKit.vcproj/InterfacesGenerated.vcproj:
        * WebKit.vcproj/WebKit.vcproj:
        * WebKit.vcproj/WebKitGUID.vcproj:

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

        Speculative fix for Windows build bustage.

        * DOMHTMLClasses.cpp:
        (DOMHTMLElement::idName):

2009-08-13  Jon Honeycutt  <jhoneycutt@apple.com>

        Part of <rdar://problem/6218721> No MSAA focus events fired for Webkit
        nightly (20866)

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

        Reviewed by Oliver Hunt.

        * AccessibleBase.cpp:
        (AccessibleBase::getAccessibilityObjectForChild):
        If the child ID is negative, negate it and treat it as an AXID.

2009-08-12  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adam Roben.

        Fix of <rdar://6728361> Mouse wheel scrolling on a page with expanded drop down 
        list detaches drop down.
        
        Added a check in mouseWheel to see if our focus is currently in a popup, if so, close
        the popup (matches other browser behavior).

        * WebView.cpp:
        (WebView::mouseWheel):

2009-08-12  Adam Roben  <aroben@apple.com>

        Make WebPreferenceKeysPrivate.h available for client use

        Reviewed by Dave Hyatt.

        Fixes <http://webkit.org/b/28227>.

        * WebKit.vcproj/WebKit.vcproj: Copy WebPreferenceKeysPrivate.h to
        $WebKitOutputDir, just like we do for a few other headers. Also let VS
        reorder some XML attributes.

        * WebPreferenceKeysPrivate.h: Touched this file to force a build.

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

        Remove support for a window resizer within the WebView

        Starting with Safari 4, there is never a window resizer inside the
        WebView, so we no longer need to support that functionality.

        Fixes <http://webkit.org/b/28190> Remove support for a window resizer
        within the WebView

        Reviewed by Dave Hyatt.

        * Interfaces/IWebUIDelegatePrivate.idl: Replaced the delegate
        functions related to the window resizer with unused*() functions. We
        can't remove them entirely because we need to keep the vtable
        unchanged so new versions of WebKit will work with old versions of
        Safari (e.g., for nightlies and WebKit development).

        * WebCoreSupport/WebChromeClient.cpp:
        (WebChromeClient::windowResizerRect): Now always returns an empty
        rect.

        * WebView.cpp:
        (WebView::paint):
        (WebView::handleMouseEvent):
        * WebView.h:
        Removed window-resizer-related code.

2009-08-11  John Gregg  <johnnyg@google.com>

        Reviewed by Maciej Stachowiak.

        Move the accessor for notifications presenter from WebUIDelegate
        to WebUIDelegate2 which extends it.  When making this call from
        WebCoreSupport, check using QueryInterface before calling.

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

        * Interfaces/IWebUIDelegate.idl:
        * Interfaces/IWebUIDelegate2.idl: Added.
        * Interfaces/WebKit.idl:
        * WebCoreSupport/WebDesktopNotificationsDelegate.cpp:
        (WebDesktopNotificationsDelegate::show):
        (WebDesktopNotificationsDelegate::cancel):
        (WebDesktopNotificationsDelegate::notificationObjectDestroyed):
        (WebDesktopNotificationsDelegate::requestPermission):
        (WebDesktopNotificationsDelegate::checkPermission):
        (WebDesktopNotificationsDelegate::hasNotificationDelegate):
        (WebDesktopNotificationsDelegate::notificationDelegate):
        * WebCoreSupport/WebDesktopNotificationsDelegate.h:

2009-08-11  Drew Wilson  <atwilson@google.com>

        Reviewed by NOBODY (build break).

        Speculative Windows build fix - undo previous unnecessary change.

        * WebCoreSupport/WebDesktopNotificationsDelegate.h:

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

        Reviewed by Steve Falkenburg.

        Refactored MIMETypeforExtension to be a member of IWebViewPrivate
        instead of IWebView.

        * Interfaces/IWebView.idl:
        * Interfaces/IWebViewPrivate.idl:
        * WebView.cpp:
        (WebView::MIMETypeForExtension):
        * WebView.h:

2009-08-11  Drew Wilson <atwilson@google.com>

        Reviewed by NOBODY (build break)

        Speculative fix for windows build break.

        * WebKitSupport/WebDesktopNotificationsDelegate.h:
        WebCore/Notification*.h => WebCore/notifications/Notification*.h

2009-08-11  John Gregg  <johnnyg@google.com>

        Reviewed by Maciej Stachowiak.

        Desktop Notifications API
        https://bugs.webkit.org/show_bug.cgi?id=25643

        Adds test hooks for notification features to WebCoreSupport for
        use in DumpRenderTree.

        * Interfaces/IWebDesktopNotificationsDelegate.idl: Added.
        * Interfaces/IWebUIDelegate.idl:
        * Interfaces/WebKit.idl:
        * WebCoreSupport/WebChromeClient.cpp:
        (WebChromeClient::WebChromeClient):
        * WebCoreSupport/WebChromeClient.h:
        (WebChromeClient::notificationPresenter):
        * WebCoreSupport/WebDesktopNotificationsDelegate.cpp: Added.
        (NotificationCOMWrapper::create):
        (NotificationCOMWrapper::NotificationCOMWrapper):
        (NotificationCOMWrapper::QueryInterface):
        (NotificationCOMWrapper::AddRef):
        (NotificationCOMWrapper::Release):
        (NotificationCOMWrapper::isHTML):
        (NotificationCOMWrapper::contentsURL):
        (NotificationCOMWrapper::iconURL):
        (NotificationCOMWrapper::title):
        (NotificationCOMWrapper::text):
        (NotificationCOMWrapper::notifyDisplay):
        (NotificationCOMWrapper::notifyError):
        (NotificationCOMWrapper::notifyClose):
        (WebDesktopNotificationsDelegate::WebDesktopNotificationsDelegate):
        (WebDesktopNotificationsDelegate::show):
        (WebDesktopNotificationsDelegate::cancel):
        (WebDesktopNotificationsDelegate::notificationObjectDestroyed):
        (WebDesktopNotificationsDelegate::requestPermission):
        (WebDesktopNotificationsDelegate::checkPermission):
        (WebDesktopNotificationsDelegate::notificationDelegate):
        * WebCoreSupport/WebDesktopNotificationsDelegate.h: Added.
        * WebCoreSupport/WebInspectorDelegate.h:
        (WebInspectorDelegate::desktopNotificationsDelegate):
        * WebKit.vcproj/Interfaces.vcproj:
        * WebKit.vcproj/WebKit.vcproj:

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

        Reviewed by Adam Roben.

        Fix of <rdar://5016504> SVG file cannot be dragged to webview,
        but can be opened via Open File.
        
        Added a new function to IWebView that gets the MIME type for a given 
        extension from the MIMETypeRegistry.

        * Interfaces/IWebView.idl:
        * WebView.cpp:
        (WebView::MIMETypeForExtension):
        * WebView.h:

2009-08-11  Dmitry Titov <dimich@chromium.org>

        Reviewed by Adam Roben.

        Originally implemented by Glenn Wilson  <gwilson@chromium.org>.

        Added support for overriding default preferences per-test.
        See https://bugs.webkit.org/show_bug.cgi?id=20534

        * Interfaces/IWebPreferencesPrivate.idl: added new method setPreferenceForTest
        * WebPreferences.cpp: same.
        * WebPreferences.h: same.

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

        Reviewed by Darin Adler.

        Link drag images specify Lucida Grande on Windows and end up using Times
        New Roman
        <rdar://problem/7117835>

        * WebCoreSupport/WebDragClient.cpp:
        (dragLabelFont): Added a RenderingMode parameter and changed to use the
            same typeface as the Windows small caption font.
        (WebDragClient::createDragImageForLink): Changed to respect the
            page’s rendering mode.

2009-08-10  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=28048.
        Move various WinCairo build settings into *.vsprops file.

        * WebKit.vcproj/WebKit.vcproj: Add new cURL.vsprops property sheet
          (which contains link settings for cURL and its dependencies), and
          remove the corresponding entries from the vcproj file.  Remove
          png, jpeg, cairo library linking flags from vcproj, now that they
          are in the WinCairo.vsprops file.

2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        [WML] Deck access control is completly broken
        https://bugs.webkit.org/show_bug.cgi?id=27721

        Synchronize WebFrameLoadType with FrameLoadType enum. Append 'WebFrameLoadTypeBackWMLDeckNotAccessible'.

        * Interfaces/IWebFramePrivate.idl:

2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Maciej Stachowiak.

        FrameLoadType / WebFrameLoadType enums are out of sync
        https://bugs.webkit.org/show_bug.cgi?id=28132

        Synchronize FrameLoadType <-> WebFrameLoadType enums (append missing 'WebFrameLoadTypeReloadFromOrigin' value)

        * Interfaces/IWebFramePrivate.idl:

2009-08-06  Adam Barth  <abarth@webkit.org>

        Unreviewed revert.

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

        Revert 46877 because it broke GTK.

        * COMPropertyBag.h:

2009-08-06  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>

        Reviewed by Adam Barth.

        Change Noncopyable inheriting to public
        http://bugs.webkit.org/show_bug.cgi?id=27879

        Since Noncopyable is inherited from FastAllocBase,
        Noncopyable's inheriting has been changed to public.

        * COMPropertyBag.h:

2009-08-04  Alice Liu  <alice.liu@apple.com>

        "Shift + Enter" should behave like "Enter" in editable fields.
        Affects backward search in find-in-page in Safari for Windows

        Reviewed by Jon Honeycutt.

        * WebView.cpp:
        Register shift+enter as InsertNewline command, similar to other 
        modifier+Enter combinations.

2009-07-29  Jon Honeycutt  <jhoneycutt@apple.com>

        Part of <rdar://problem/5698113> Safari shouldn't auto-activate
        plug-ins in background tabs (make Win consistent with Mac)

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

        Reviewed by Adam Roben and Anders Carlsson.

        * Interfaces/IWebViewPrivate.idl:
        Add setCanStartPlugins().

        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::dispatchDidFailToStartPlugin):
        Added; code moved from createPlugin(). Modified to obtain the plug-in's
        page URL, the plug-ins "plug-ins page" parameter value, and the
        plug-in's MIME type by calling getter functions on the passed
        PluginView.
        (WebFrameLoaderClient::createPlugin):
        If the plug-in status is not "success," call
        dispatchDidFailToStartPlugin().

        * WebCoreSupport/WebFrameLoaderClient.h:
        Declare an override of dispatchDidFailToStartPlugin().

        * WebView.cpp:
        (WebViewWndProc):
        Add a missing ) to a comment.
        (WebView::setCanStartPlugins):
        Call the Page's setCanStartPlugins() function.

        * WebView.h:

2009-07-30  Darin Adler  <darin@apple.com>

        Reviewed by David Levin.

        Use checked casts for render tree
        https://bugs.webkit.org/show_bug.cgi?id=23522

        * DOMHTMLClasses.cpp:
        (DOMHTMLInputElement::isUserEdited):
        (DOMHTMLTextAreaElement::isUserEdited):
        Use checked casts.

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

        Reviewed by Dan Bernstein.

        -Fix <rdar://problem/7104097>

        Make EmbeddedWidget::create return a PassRefPtr so it will have the correct ref count.
        
        * WebCoreSupport/EmbeddedWidget.cpp:
        (EmbeddedWidget::create):
        * WebCoreSupport/EmbeddedWidget.h:

2009-07-29  Brian Weinstein  <bweinstein@apple.com>

        Was doing the build fix wrong, NotImplemented.h is in WebCore.

        * WebCoreSupport/WebInspectorClient.cpp:

2009-07-29  Brian Weinstein  <bweinstein@apple.com>

        Windows build fix.

        * WebCoreSupport/WebInspectorClient.cpp:

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

        Reviewed by Darin Adler.

        Added foundation work to allow a testing infrastructure for the Web
        Inspector.

        * WebCoreSupport/WebInspectorClient.cpp:
        (WebInspectorClient::inspectorWindowObjectCleared): Empty definition
        to let Windows compile but we should implement this at some point so
        that the tests can be run on Windows too.
        * WebCoreSupport/WebInspectorClient.h:

2009-07-28  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Steve Falkenburg.

        Add output directory for VS pre-build steps to enable out-of-tree builds

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

        The tmp.obj file is now placed in the intermediate build directory.

        * WebKit.vcproj/WebKit.vcproj:

2009-07-27  Brian Weinstein  <bweinstein@apple.com>

        Build fix for Windows.

        * WebView.cpp:
        (WebView::stringByEvaluatingJavaScriptFromString):

2009-07-27  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=27735
        Give a helpful name to JSLock constructor argument

        * WebCoreStatistics.cpp:
        (WebCoreStatistics::javaScriptObjectsCount):
        (WebCoreStatistics::javaScriptGlobalObjectsCount):
        (WebCoreStatistics::javaScriptProtectedObjectsCount):
        (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
        (WebCoreStatistics::javaScriptProtectedObjectTypeCounts):
        * WebJavaScriptCollector.cpp:
        (WebJavaScriptCollector::objectCount):
        * WebView.cpp:
        (WebView::stringByEvaluatingJavaScriptFromString):

2009-07-25  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Darin Adler.

        Windows build break due to warning C4819
        https://bugs.webkit.org/show_bug.cgi?id=27416

        Disable C4819 warning to fix build.

        * WebKit.vcproj/WebKit.vcproj:

2009-07-24  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Dave Hyatt.

        Clean up dependencies on Apple support libraries for non-Apple build.
        http://bugs.webkit.org/show_bug.cgi?id=27532.

        * DefaultDownloadDelegate.h: Conditionalize include of CFNetwork.h
        * WebDownload.h: Conditionalize include of CFNetwork.h
        * WebMutableURLRequest.cpp: Conditionalize include of CFNetwork.h

2009-07-24  Andrei Popescu  <andreip@google.com>

        Reviewed by Anders Carlsson.

        ApplicationCache should have size limit
        https://bugs.webkit.org/show_bug.cgi?id=22700

        * WebCoreSupport/WebChromeClient.cpp:
        (WebChromeClient::reachedMaxAppCacheSize):
        Adds empty implementation of the reachedMaxAppCacheSize callback.
        * WebCoreSupport/WebChromeClient.h:

2009-07-23  Brady Eidson  <beidson@apple.com>

        Reviewed by Geoff Garen.

        WebFrameLoaderClient on Windows doesn't gracefully handle a null request returned from willSendRequest.
        https://bugs.webkit.org/show_bug.cgi?id=27595

        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::dispatchWillSendRequest):

2009-07-22  Takeshi Yoshino  <tyoshino@google.com>

        Reviewed by Darin Adler.

        VC++ 2005 Express failed to build WebKit due to raw UTF-8 string in WebKit/win/WebCoreLocalizedStrings.cpp
        https://bugs.webkit.org/show_bug.cgi?id=26375

        Replace a multiplication sign (U+00D7) encoded in UTF-8 (0xC3 0x97) in WebCoreLocalizedStrings.cpp
        with hex escape sequences.

        VC2005 failed to build due to this raw UTF-8 data in source code. Here's the warning message (
        treated as an error and stopped build).

        WebCoreLocalizedStrings.cpp : warning C4819: The file contains a character that cannot be
        represented in the current code page (932). Save the file in Unicode format to prevent data loss

        A change on WebKitTools/Scripts/extract-localizable-strings is attached to this change not to break
        localized string generation process.

        * WebCoreLocalizedStrings.cpp:
        (WebCore::imageTitle):

2009-07-21  Roland Steiner  <rolandsteiner@google.com>

        Reviewed by David Levin.

        Add ENABLE_RUBY to list of build options
        https://bugs.webkit.org/show_bug.cgi?id=27324

        * WebKit.vcproj/WebKit.vcproj: Added flag ENABLE_RUBY.

2009-07-20  Peter Kasting  <pkasting@google.com>

        Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=27468
        Back out r46060, which caused problems for some Apple developers.

        * WebKit.vcproj/Interfaces.vcproj:
        * WebKit.vcproj/InterfacesGenerated.vcproj:
        * WebKit.vcproj/WebKit.vcproj:
        * WebKit.vcproj/WebKitGUID.vcproj:

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

        Reviewed by Adam Roben.

        Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272)
        https://bugs.webkit.org/show_bug.cgi?id=14272
        
        Implemented resizing of inspector window when it is in attached mode. Implemented setAttachedWindowHeight
        to set window sizes and redraw the inspector and the inspected web view, and used stored preferences
        in InspectorController.cpp to remember user's preferred height.

        * WebCoreSupport/WebInspectorClient.cpp:

2009-07-17  Peter Kasting  <pkasting@google.com>

        Reviewed by Steve Falkenburg.

        https://bugs.webkit.org/show_bug.cgi?id=27323
        Only add Cygwin to the path when it isn't already there.  This avoids
        causing problems for people who purposefully have non-Cygwin versions of
        executables like svn in front of the Cygwin ones in their paths.

        * WebKit.vcproj/Interfaces.vcproj:
        * WebKit.vcproj/InterfacesGenerated.vcproj:
        * WebKit.vcproj/WebKit.vcproj:
        * WebKit.vcproj/WebKitGUID.vcproj:

2009-07-16  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by David Levin.

        Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
        https://bugs.webkit.org/show_bug.cgi?id=27206
        
        Add ENABLE_WEB_SOCKETS

        * WebKit.vcproj/WebKit.vcproj: add ENABLE_WEB_SOCKETS

2009-07-16  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Darin Adler.

        Fix tooltip does not get its directionality from its element's directionality.
        https://bugs.webkit.org/show_bug.cgi?id=24187

        Per mitz's suggestion in comment #6, while getting the plain-text 
        title, we also get the directionality of the title. How to handle 
        the directionality is up to clients. Clients could ignore it, 
        or use attribute or unicode control characters to display the title
        as what they want.

        * WebCoreSupport/WebChromeClient.cpp:
        (WebChromeClient::setToolTip): Add directionality as 2nd parameter to setToopTip() (without handling it yet).
        * WebCoreSupport/WebChromeClient.h: Add directionality as 2nd parameter to setToolTip().
        * WebElementPropertyBag.cpp:
        (WebElementPropertyBag::Read): Change call of spellingToolTip() and title() due to signature change.

2009-07-15  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Renamed parseURL to deprecatedParseURL.

        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::createPlugin): Renamed.

2009-07-14  Steve Falkenburg  <sfalken@apple.com>

        Reorganize JavaScriptCore headers into:
        API: include/JavaScriptCore/
        Private: include/private/JavaScriptCore/

        Reviewed by Darin Adler.

        * WebKit.vcproj/WebKit.vcproj:

2009-07-14  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>

        Reviewed by Darin Adler.

        Change all Noncopyable inheriting visibility to public.
        https://bugs.webkit.org/show_bug.cgi?id=27225

        Change all Noncopyable inheriting visibility to public because
        it is needed to the custom allocation framework (bug #20422).

        * COMEnumVariant.h:
        * WebDatabaseManager.cpp:
        * WebInspector.h:
        * WebLocalizableStrings.cpp:

2009-07-13  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        Refactor WebFrame::spoolPages for easier sharing with Windows Cairo.
        https://bugs.webkit.org/show_bug.cgi?id=27240.

        * WebFrame.cpp:
        (WebFrame::printHeader): New shared method to print the header.
        (WebFrame::printFooter): New shared method to print the footer.
        (WebFrame::spoolPage): New conditionally-compiled method to print
         a page.
        (WebFrame::spoolPages): Revised to call the platform-specific spoolPage
         for each page.
        * WebFrame.h: Add new method prototypes.

2009-07-13  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        Add new configuration flag for redistributable Windows build.
        https://bugs.webkit.org/show_bug.cgi=27087

        * WebKit.vcproj/WebKit.vcproj: Add new WinCairo.vsprops to
          Debug_Cairo and Release_Cairo targets.

2009-07-12  Brent Fulgham  <bfulgham@gmail.com>

        Speculative Windows build fix after http://trac.webkit.org/changeset/45786.

        * WebCoreSupport/WebChromeClient.cpp:
        (WebChromeClient::addMessageToConsole):

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

        Reviewed by Sam Weinig with the power of Grayskull.

        Enable XSSAuditor by default.

        * WebPreferences.cpp:
        (WebPreferences::initializeDefaultSettings):

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

        Reviewed by Alexey Proskuryakov.

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

        Turned on CHANNEL_MESSAGING by default because the MessageChannel API
        can now be implemented for Web Workers and is reasonably stable.

       * WebKit.vcproj/WebKit.vcproj:

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

        Reviewed by Alice Liu.

        Fix of <rdar://5712929> Add preferences key to remember if the Inspector was docked (14271)
        https://bugs.webkit.org/show_bug.cgi?id=27140

        Added a preference key to remember whether the user prefers the inspector detached or attached.

        * WebCoreSupport/WebInspectorClient.cpp:
        (WebInspectorClient::showWindow): Pass both parameters into setWindowVisible
        (WebInspectorClient::closeWindow): Ditto
        (WebInspectorClient::attachWindow): Set preference to attached windows here
        (WebInspectorClient::detachWindow): Set preference to detached windows here
        (WebInspectorClient::showWindowWithoutNotifications): Read preference for attached vs. detached
        (WebInspectorClient::onClose): Pass both parameters into setWindowVisible

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

        Reviewed by Oliver Hunt.

        <rdar://problem/6921671> Visit count shouldn't be incremented by redirects.

        * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::updateGlobalHistory):
        Do not increase visit count if there is a redirect source. As a result, only pages that were
        explicitly visited by the user (by typing a URL, choosing one from bookmarks, or clicking
        a link) will be counted.

        * Interfaces/IWebHistoryItemPrivate.idl:
        * WebHistory.cpp:
        (WebHistory::visitedURL):
        * WebHistory.h:
        * WebHistoryItem.cpp:
        (WebHistoryItem::visitedWithTitle):
        * WebHistoryItem.h:
        Marshal this new argument all the way down to WebCore.

2009-07-09  Beth Dakin and Jon Honeycutt <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        Make Widget RefCounted to fix:

        <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs 
        at WebCore::Widget::afterMouseDown() after clicking To Do's close 
        box
        <rdar://problem/6978804> WER #16: Repro Access Violation in 
        WebCore::PluginView::bindingInstance (1310178023)
        -and-
        <rdar://problem/6991251> WER #13: Crash in WebKit!
        WebCore::PluginView::performRequest+203 (1311461169) 

        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::createPlugin):
        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebFrame.cpp:
        (WebFrame::createJavaAppletWidget):
        * WebFrame.h:

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

        Reviewed by Steve Falkenburg.

        Roll out r43848. The quirk is no longer necessary.

        * WebView.cpp:
        (WebView::userAgentForKURL):

2009-07-07  Ada Chan  <adachan@apple.com>

        Reviewed by Dave Hyatt.

        Missed a call to FocusController::setFocused(true) when handling WM_SETFOCUS in WebView.
        https://bugs.webkit.org/show_bug.cgi?id=27057

        * WebView.cpp:
        (WebViewWndProc):

2009-07-02  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Adam Roben.

        [Win] HTML5 Drag and drop, dragend is not fired when pressing Esc
        https://bugs.webkit.org/show_bug.cgi?id=26699

        * WebDropSource.cpp:
        (WebDropSource::QueryContinueDrag):

2009-07-02  Oliver Hunt  <oliver@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/6939593> REGRESSION (r37793): Hitting back button on Google often gives non-interactive Google page (26670)
        <https://bugs.webkit.org/show_bug.cgi?id=26670>

        Make windows loader client match mac behaviour more closely.

        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::forceLayout):

2009-06-30  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Adam Roben.

        Build DumpRenderTree under Cairo.
        https://bugs.webkit.org/show_bug.cgi?id=26457

        * WebKit.vcproj/WebKit.sln: Add Cairo targets to the
          DumpRenderTree build, and use the in the Debug_Cairo
          and Release_Cairo targets.

2009-07-02  Eric Carlson  <eric.carlson@apple.com>

        Fix Windows build by including missing localized string methods.

        * WebCoreLocalizedStrings.cpp:
        (WebCore::mediaElementLoadingStateText):
        (WebCore::mediaElementLiveBroadcastStateText):

2009-07-01  David Hyatt  <hyatt@apple.com>

        Reviewed by Tim Hatcher.

        <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
        even though the field is not actually focused for keyboard input
        
        Add the concept of whether or not the Page is focused by adding a boolean to the focusController.  This allows the
        focused frame and focused node to both be cached and changed programmatically without causing errors when the Page doesn't
        have focus.

        * WebView.cpp:
        (WebViewWndProc):

2009-06-29  David Hyatt  <hyatt@apple.com>

        Fix Windows bustage.  Missed two configurations for enabling DATAGRID.

        * WebKit.vcproj/WebKit.vcproj:

2009-06-29  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Adam Roben.
        
        Fix the windows build.

        * WebCoreSupport/WebContextMenuClient.cpp:
        (WebContextMenuClient::isSpeaking):
        * WebCoreSupport/WebContextMenuClient.h:

2009-06-29  David Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        Make sure to patch all configurations to have datagrid enabled.

        * WebKit.vcproj/WebKit.vcproj:

2009-06-29  David Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        Put <datagrid> behind an ifdef.

        * WebKit.vcproj/WebKit.vcproj:

2009-06-26  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Simon Fraser.

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

        Added hit testing on scrollbars, so if you start a gesture over a scrollbar,
        it isn't counted, and lets the user drag the scrollbar itself instead of a
        panning gesture. Also cleaned up code in gesture.

        * WebView.cpp:
        (WebView::gestureNotify):
        (WebView::gesture):

2009-06-26  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Adam Barth.

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

        Fix a build break due to LocalStorage.h being included in WebKitDLL.cpp
        despite it being deleted from the repo by the following patch/commit:
        https://bugs.webkit.org/show_bug.cgi?id=26732
        http://trac.webkit.org/changeset/45290

        * WebKitDLL.cpp:

2009-06-26  Yongjun Zhang  <yongjun.zhang@nokia.com>

        Reviewed by Eric Seidel.

        Bug 20303: [Qt] Key events are not working in frames.

        Move the scroll handling code to EventHandler so that other
        ports can share the functionality.

        * WebView.cpp:
        (WebView::keyDown):
        (EnumTextMatches::QueryInterface):

2009-06-23  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        WebKit side of <rdar://problem/6946094>.

        * Interfaces/IWebUIDelegate.idl:
        Add a newPasteboard out parameter to willPerformDragSourceAction.
        
        * WebCoreSupport/WebDragClient.cpp:
        (WebDragClient::willPerformDragSourceAction):
        Implement this. If the client returns a new pasteboard, use it for the drag.
        
        * WebCoreSupport/WebInspectorDelegate.h:
        (WebInspectorDelegate::willPerformDragSourceAction):
        Add the new parameter.

2009-06-20  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/6964221> Need more processing of pluginspage.

        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::createPlugin): Check protocolInHTTPFamily.

2009-06-19  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Reviewed by Steve Falkenburg.

        https://bugs.webkit.org/show_bug.cgi?id=26494
        Bug 26494: RenderTheme::themeForPage reads from Settings before it has
        been initialized by WebKit

        Get the shouldPaintNativeControls preference and update the settings
        before initializing the page, as the page depends on it after the
        themeForPage change.

        * WebView.cpp:
        (WebView::initWithFrame):

2009-06-19  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Steve Falkenburg.
        
        https://bugs.webkit.org/show_bug.cgi?id=26488
        No Support for Single Finger or Two Finger Panning in Windows 7
        
        Added the code necessary for single finger and two-finger panning with
        window bounce. We now register for WM_GESTURENOTIFY and WM_GESTURE messages,
        and interpret the panning command. Also, added WindowsTouch.h which contains 
        structs and #defines from the Windows 7 SDK.

        * WebKit.vcproj/WebKit.vcproj:
        * WebView.cpp:
        (WebView::gestureNotify): Checks if we are in a pannable region - IE: Not in the scrollbar
        (WebView::gesture): Handles the Panning gesture, creating the WheelEvent
        (WebViewWndProc): Added cases for WM_GESTURE and WM_GESTURENOTIFY
        * WebView.h:
        * WindowsTouch.h: Added.
        
2009-06-18  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

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

        Added preference to enable the XSSAuditor.

        * Interfaces/IWebPreferencesPrivate.idl:
        * WebPreferenceKeysPrivate.h:
        * WebPreferences.cpp:
        (WebPreferences::initializeDefaultSettings):
        (WebPreferences::isXSSAuditorEnabled):
        (WebPreferences::setXSSAuditorEnabled):
        * WebPreferences.h:
        * WebView.cpp:
        (WebView::notifyPreferencesChanged):

2009-06-18  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Dave Levin.

        Remove some boilerplate using the BitmapInfo struct.
        https://bugs.webkit.org/show_bug.cgi?id=26425

        * WebFrame.cpp:
        (WebFrame::spoolPages):
        * WebIconDatabase.cpp:
        (createDIB):
        * WebKit.vcproj/WebKit.sln:
        * WebNodeHighlight.cpp:
        (WebNodeHighlight::update):
        * WebView.cpp:
        (WebView::ensureBackingStore):

2009-06-17  Steve Falkenburg  <sfalken@apple.com>

        Consolidate WebKit COM interfaces.
        Moved IID from the highest numbered COM interface to the first interface and combined all methods.

        Numbered interfaces can be combined since the latest shipping Safari 4 supports the latest interfaces.
        
        Reviewed by Adam Roben.

        * Interfaces/IWebFrameLoadDelegate.idl:
        * Interfaces/IWebFrameLoadDelegatePrivate.idl:
        * Interfaces/IWebResourceLoadDelegatePrivate.idl:
        * Interfaces/IWebUIDelegate.idl:
        * Interfaces/IWebUIDelegatePrivate.idl:
        * Interfaces/WebKit.idl:
        * WebCoreSupport/WebChromeClient.cpp:
        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebContextMenuClient.cpp:
        * WebCoreSupport/WebFrameLoaderClient.cpp:
        * WebCoreSupport/WebInspectorDelegate.h:
        * WebFrame.cpp:
        * WebView.cpp:

2009-06-16  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Reviewed by Adam Roben.

        Create a different RenderTheme per page, so that RenderTheme has
        access to page specific theming. This is needed for the Qt port, as Qt
        supports setting the theme (style) per widget.

        This change was suggested and discussed with Dave Hyatt.

        More detailed:

        1) Create a theme per page or one global one, depending on the needs
           of the platform.
        2) Add an accesser to the theme from RenderObject.
        3) Change all uses of the theming to access the theme through
           RenderObject, using the global default theme as fallback, when the
           document of RenderObject has no page.
           When we don't have access to a RenderObject, use the default theme.
        4) Modify all RenderTheme platform implementations to work with the
           above changes, still creating only one global theme.

        * WebView.cpp:
        (WebViewWndProc): Get the theme from the associated page.

2009-06-16  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adam Roben.
        
        Switch Control+Mousewheel Zooming definitions to match other browsers on Windows.
        Control+Mousewheel-Down now zooms out, Control+Mousewheel-Up now zooms in.
        https://bugs.webkit.org/show_bug.cgi?id=25875.
        <rdar://problem/6903976>

        * WebView.cpp:
        (WebView::mouseWheel):

2009-06-16  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Darin Adler.

        Use consistent Windows GUID Comparison Functions.
        https://bugs.webkit.org/show_bug.cgi?id=26427.

        * WebView.cpp:
        (EnumTextMatches::QueryInterface):

== Rolled over to ChangeLog-2009-06-16 ==
