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

        Reviewed by Geoffrey Garen.

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

        * WebView/WebView.mm:
        (+[WebView _registerURLSchemeAsSecure:]):
        (+[WebView registerURLSchemeAsLocal:]):

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

        Reviewed by Anders Carlsson.

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

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

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _frameOrBoundsChanged]):

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

        Reviewed by Simon Fraser.

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

        * Plugins/WebPluginController.h:
        * Plugins/WebPluginController.mm:
        (-[WebPluginController dealloc]): Release _viewsNotInDocument.
        (-[WebPluginController stopAllPlugins]): Stop plug-ins not in the document.
        (-[WebPluginController pluginViewCreated:]): New, add a View (plug-in) to _viewsNotInDocument.
        (+[WebPluginController pluginViewHidden:]): New, remove the view (plug-in) from pluginViews.
        (-[WebPluginController addPlugin:]): Remove the new plug-in from _viewsNotInDocument.

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::createPlugin): Remove PLUGIN_PROXY_FOR_VIDEO code, the media
        player proxy plug-in should never be allocated by this method.
        (WebFrameLoaderClient::createMediaPlayerProxyPlugin): New, allocate a media player proxy.

        * WebView/WebView.mm:
        (-[WebView _videoProxyPluginForMIMEType:]): New. Identical to _pluginForMIMEType except it doesn't
        consider the arePlugInsEnabled preference.
        * WebView/WebViewInternal.h:


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

        Reviewed by Darin Adler.

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

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

        * Configurations/FeatureDefines.xcconfig:

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

        Reviewed by Sam Weinig.

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

        * Plugins/WebBaseNetscapePluginView.h:
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView pluginLayer]):
        Add default pluginLayer implementation.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (PluginWidget::PluginWidget):
        (PluginWidget::invalidateRect):
        Move the guts of PluginWidget here from WebCore.
        
        (NetscapePluginWidget::platformLayer):
        Get the layer from the plug-in view.

2010-07-18  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/42522> Add missing (id) return type to Obj-C methods

        Reviewed by Dan Bernstein.

        * Carbon/CarbonWindowAdapter.mm:
        (-[NSWindow(HIWebFrameView) _initContent:styleMask:backing:defer:contentView:]):
        (-[CarbonWindowAdapter _destroyRealWindow:]):
        (-[CarbonWindowAdapter _clearModalWindowLevel]):
        * Misc/WebIconDatabase.mm:
        (-[WebIconDatabase init]):
        * Misc/WebNSPasteboardExtras.mm:
        (-[NSFilePromiseDragSource initWithSource:]):
        * WebView/WebHTMLRepresentation.mm:
        (-[WebHTMLRepresentation init]):
        * WebView/WebPreferences.mm:
        (-[WebPreferences init]):
        * WebView/WebView.mm:
        (-[WebView UIDelegate]):
        (-[WebView resourceLoadDelegate]):
        (-[WebView downloadDelegate]):
        (-[WebView policyDelegate]):
        (-[WebView frameLoadDelegate]):

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

        Reviewed by Darin Adler.

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

        Dummy implementation of EditorClient::willSetInputMethodState.

        * WebCoreSupport/WebEditorClient.h:
        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::willSetInputMethodState):

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

        Reviewed by Sam Weinig.

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

        * Misc/WebKitNSStringExtras.h:
        * Misc/WebKitNSStringExtras.mm:
        (-[NSString _web_drawAtPoint:font:textColor:]): Now calls through to
        -_web_drawAtPoint:font:textColor:allowingFontSmoothing: passing YES for the last
        parameter.
        (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): Added
        allowingFontSmoothing:. If font smoothing is not allowed, sets the font smoothing
        mode to antialiased. Otherwise, sets it to auto.
        (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]): Instead of
        changing the font smoothing setting in the graphics context, call
        -_web_drawAtPoint:font:textColor:allowingFontSmoothing: passing NO for the last
        parameter.

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

        Reviewed by Sam Weinig.

        Remove semicolons from Objective-C method declarations.

        * WebView/WebRenderLayer.mm:
        (+[WebRenderLayer nameForLayer:]):
        (+[WebRenderLayer compositingInfoForLayer:]):

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

        Reviewed by Pavel Feldman.

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

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

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

        * WebKit.order:
        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences memoryInfoEnabled]):
        (-[WebPreferences setMemoryInfoEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):

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

        Reviewed by Darin Adler.

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

        * Misc/WebCoreStatistics.h:
        * Misc/WebCoreStatistics.mm:
        (-[WebFrame printToCGContext:cgContext:pageWidthInPixels:]):

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

        Reviewed by Darin Adler.

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

        Implements support for markerTextForListItem in the Mac port.

        * DOM/WebDOMOperations.mm:
        (+[DOMElement _DOMElementFromJSContext]): Added.
        (-[DOMElement _markerTextForListItem]): Added.
        * DOM/WebDOMOperationsPrivate.h:

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

        Fix non-ACCELERATED_COMPOSITING build.

        * WebView/WebRenderLayer.mm:
        (+[WebRenderLayer compositingInfoForLayer:]):

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

        Reviewed by John Sullivan.

        <rdar://problem/8186963> Expose information about compositing layers.

        Use RenderLayerBacking::compositingLayerType() to add more information about compositing to
        WebRenderLayer, via a compositingInfo property. Also show element classnames.
        
        Also add separator items between the various z-order lists.
        
        * WebView/WebRenderLayer.h:
        * WebView/WebRenderLayer.mm:
        (+[WebRenderLayer nameForLayer:]):
        (+[WebRenderLayer compositingInfoForLayer:]):
        (-[WebRenderLayer initWithRenderLayer:]):
        (-[WebRenderLayer initWithName:]):
        (-[WebRenderLayer initWithWebFrame:]):
        (-[WebRenderLayer dealloc]):
        (-[WebRenderLayer buildDescendantLayers:]):
        (-[WebRenderLayer compositingInfo]):
        (-[WebRenderLayer isComposited]):
        (-[WebRenderLayer isSeparator]):

2010-07-14  Darin Adler  <darin@apple.com>

        Another try at fixing the Tiger build.

        Avoid non-ASCII in source files to keep Tiger compiler happy.

        * WebView/WebRenderLayer.mm:
        (+[WebRenderLayer nameForLayer:]): Use %C for the non-ASCII characters.

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

        Reviewed by Darin Adler.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
        Make changing Cursors work in WebKit2.

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::setCursor):
        * WebView/WebView.mm:
        Implement cursor changing at the WebKit level for the sake of WebKit2.
        This functionality is being moved from WidgetMac.mm.
        (+[WebView _pointingHandCursor]):
        Update to use platformCursor() instead of impl().

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

        Fix Tiger build.

        Avoid non-ASCII in souce files to keep Tiger compiler happy.

        * WebView/WebRenderLayer.mm:
        (+[WebRenderLayer nameForLayer:]):

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

        Reviewed by Dan Bernstein.

        <rdar://problem/8186963> Expose RenderLayer hierarchy via Obj-C for debugging.

        Add a WebRenderLayer class that reflects the RenderLayer tree into a hierarchy
        of Objective-C objects suitable for display in an outline view.
        
        * WebKit.exp: Export the WebRenderLayer Objective-C class.
        * WebView/WebRenderLayer.h: Added.
        * WebView/WebRenderLayer.mm: Added.

2010-07-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Darin Adler.

        Prevent assertion/duplicate loads for non-deferred subtitute-data loads

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

        MainResourceLoader uses the member m_initialRequest to store requests for future
        deferred loads. When doing the actual load in handleDataLoadNow(), we therefore
        have to clear this request so that subsequent entries into the loader will not
        start yet another load.

        This can happen as a result of a PageGroupLoadDeferrer going out of scope when
        returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false),
        but only in the case of using both substitute-data and non-deferred main resource
        load together. That's why two new DRT functions were added:

         * queueLoadHTMLString()
         * setDeferMainResourceLoad()

        The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac
        and Win the hook uses new SPI in WebDataSource. For Qt a new static member was
        added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt.

        * WebView/WebDataSource.mm:
        (-[WebDataSource _setDeferMainResourceDataLoad:]):
        * WebView/WebDataSourcePrivate.h:

2010-07-13  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Xan Lopez.

        Updated the copyright headers of the files modified in r62476.

        * WebView/WebView.mm:
        * WebView/WebViewData.h:
        * WebView/WebViewInternal.h:

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=13075
        XMLHttpRequest with failed authentication should set status to 401

        https://bugs.webkit.org/show_bug.cgi?id=6871
        <rdar://problem/3363403> 401 error page is never shown

        * Panels/WebPanelAuthenticationHandler.m:
        (-[WebPanelAuthenticationHandler startAuthentication:window:]): Updated a comment - this
        code cancels loading, not authentication (canceling authentication means telling to
        continue without credentials).
        (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]): If there were
        no credentials provided, tell to continue without any. There may be alternative content
        returned with 401.

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

        Reviewed by Adam Barth.

        add support for link prefetching
        https://bugs.webkit.org/show_bug.cgi?id=3652

        * Configurations/FeatureDefines.xcconfig:

2010-07-08  Aaron Boodman  <aa@chromium.org>

        Reviewed by Timothy Hatcher.

        Add the ability for user scripts and user styles to affect just the top frame.

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

        * WebView/WebView.mm:
        (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]):
        (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
        (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]):
        (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
        * WebView/WebViewPrivate.h:

2010-07-08  Adele Peterson  <adele@apple.com>

        Reviewed by Jon Honeycutt, Adam Roben, and Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=41721
        <rdar://problem/8158561> Missing plug-in indicator should have a pressed state

        Implement shouldMissingPluginMessageBeButton.

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::shouldMissingPluginMessageBeButton):

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

        Reviewed by Tim Hatcher.

        <rdar://problem/8136327> - Crash in Entourage calling WebCache method from background thread

        * Misc/WebCache.mm:
        (+[WebCache setDisabled:]): Forward the call to the main thread if called from a background thread.

        * Misc/WebNSObjectExtras.h:
        * Misc/WebNSObjectExtras.mm:
        (+[NSObject _webkit_invokeOnMainThread]): Add a class version of the main thread invoker.

2010-07-08  Mike Thole  <mthole@apple.com>

        Reviewed by Darin Adler.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=41896
        Crash under allScriptsInPDFDocument() in WebPDFDocumentExtras.mm for certain PDFs

        * WebView/WebPDFDocumentExtras.mm:
        (allScriptsInPDFDocument): Null-check 'data', as CGPDFStreamCopyData() may have returned 0.

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

        Reviewed by Anders Carlsson.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
        Convert BackForwardList to an abstract base class and add BackForwardListImpl
        as the concrete implementation of it.

        * History/WebBackForwardList.mm:
        (-[WebBackForwardList init]):
        (-[WebBackForwardList setPageCacheSize:]):
        (-[WebBackForwardList pageCacheSize]):

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

        Reviewed by Anders Carlsson.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
        Add basic piping for BackForwardControllerClient.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):

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

        Reviewed by Sam Weinig.

        Change requestURL to a KURL.
        https://bugs.webkit.org/show_bug.cgi?id=41775

        * Plugins/WebNetscapePluginStream.h:
        (WebNetscapePluginStream::setRequestURL):
        * Plugins/WebNetscapePluginStream.mm:
        (WebNetscapePluginStream::pluginCancelledConnectionError):
        (WebNetscapePluginStream::errorForReason):
        (WebNetscapePluginStream::startStream):
        (WebNetscapePluginStream::didReceiveResponse):
        (WebNetscapePluginStream::destroyStream):

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

        Reviewed by Sam Weinig.

        Rename the WebBaseNetscapePluginStream.cpp and .h files to WebNetscapePluginStream.cpp and .h to match the class name.

        * Plugins/WebNetscapePluginStream.h: Renamed from WebKit/mac/Plugins/WebBaseNetscapePluginStream.h.
        * Plugins/WebNetscapePluginStream.mm: Renamed from WebKit/mac/Plugins/WebBaseNetscapePluginStream.mm.

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

        Reviewed by Simon Fraser.

        Expose URL matching from WebUserContentURLPattern
        https://bugs.webkit.org/show_bug.cgi?id=41726
        <rdar://problem/7910144>

        We previously had a way to construct WebUserContentURLPattern
        instances via WebKit, but no way for callers to perform matching.
        This patch adds the matchesURL functionality to allow for this.

        * Misc/WebUserContentURLPattern.h: Added matchesURL.
        * Misc/WebUserContentURLPattern.mm:
        (-[WebUserContentURLPattern matchesURL:]): Added. Calls through to WebCore::UserContentURLPattern::matches.

2010-06-23  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Eric Carlson.

        [GStreamer] on Mac OS use a runloop observer to process the glib context iterations
        https://bugs.webkit.org/show_bug.cgi?id=35747

        If VIDEO and GSTREAMER are enabled, make the WebView start a
        runloop observer that will trigger the glib main context
        iterations. Those are needed by the GStreamer player only at the
        moment but could later be used for other GLib-dependant components
        if required.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
        (-[WebView _close]):
        (-[WebView _clearGlibLoopObserver]):
        (glibContextIterationCallback):
        (-[WebView _scheduleGlibContextIterations]):
        * WebView/WebViewData.h:
        * WebView/WebViewInternal.h:

2010-07-03  Jon Honeycutt  <jhoneycutt@apple.com>

        The missing plug-in indicator should be clickable

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

        From an original patch by Kevin Decker.

        Reviewed by Darin Adler.

        * WebCoreSupport/WebChromeClient.h:
        Declare an override of missingPluginButtonClicked().

        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::missingPluginButtonClicked):
        Call the UIDelegate's method.

        * WebView/WebUIDelegatePrivate.h:
        Declare didPressMissingPluginButton.

2010-07-01  Timothy Hatcher  <timothy@apple.com>

        Provide a WebView preference to disable DNS prefetching.

        https://bugs.webkit.org/show_bug.cgi?id=28825
        rdar://problem/7181249

        Reviewed by Darin Adler.

        * WebView/WebPreferenceKeysPrivate.h: Added WebKitDNSPrefetchingEnabledPreferenceKey.
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]): Set WebKitDNSPrefetchingEnabledPreferenceKey to YES.
        (-[WebPreferences isDNSPrefetchingEnabled]): Added. Return WebKitDNSPrefetchingEnabledPreferenceKey's value.
        (-[WebPreferences setDNSPrefetchingEnabled:]): Added. Set WebKitDNSPrefetchingEnabledPreferenceKey's value.
        * WebView/WebPreferencesPrivate.h: Added isDNSPrefetchingEnabled and setDNSPrefetchingEnabled:.
        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]): Call WebCore::Settings::setDNSPrefetchingEnabled.

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

        Reviewed by Anders Carlsson.

        <rdar://problem/8148656> <https://bugs.webkit.org/show_bug.cgi?id=41431>
        REGRESSION (r49411): Various crashes due to JavaScript execution during plug-in destruction

        Strengthen m_inDestroy "swipe under the carpet" fix.

        * Plugins/Hosted/NetscapePluginInstanceProxy.h: Added a long comment about m_inDestroy, and
        changed it to static.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): m_inDestroy is now
        static, so we don't initialize it in constructor.
        (WebKit::NetscapePluginInstanceProxy::destroy): Assert that we aren't already destroying
        some plug-in.
        (WebKit::NetscapePluginInstanceProxy::evaluate): This function accidentally lacked an
        m_inDestroy check in r42789.

2010-06-29  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Add ConvolveMatrixElement to MigrateHeaders.make
        https://bugs.webkit.org/show_bug.cgi?id=5861

        * MigrateHeaders.make:

2010-06-23  John Gregg  <johnnyg@google.com>

        Reviewed by Kent Tamura.

        add ENABLE_DIRECTORY_UPLOAD build support
        https://bugs.webkit.org/show_bug.cgi?id=41100

        * Configurations/FeatureDefines.xcconfig:

2010-06-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Make it possible to test the new HTML5 TreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=41276

        Adam was concerned that someone might make their port
        depend on this setting (I guess we had some trouble with that
        with the HTML5Parser setting), so I littered the code with warnings.

        test-html5-parser now tests this code path.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences html5TreeBuilderEnabled]):
        (-[WebPreferences setHTML5TreeBuilderEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):

2010-06-25  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Shinichiro Hamaji.

        Improve default value handling for page format properties.
        https://bugs.webkit.org/show_bug.cgi?id=41150

        * Misc/WebCoreStatistics.h:
        * Misc/WebCoreStatistics.mm:
        (-[WebFrame pageSizeAndMarginsInPixels:pageNumber:width:height:marginTop:marginRight:marginBottom:]):

2010-06-26  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add an ENABLE_WEB_TIMING option for enabling Web Timing support.
        https://bugs.webkit.org/show_bug.cgi?id=38924

        * Configurations/FeatureDefines.xcconfig:

2010-06-24  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        Full-screened content doesn't keep the display on: Safari not grabbing a power assertion?
        https://bugs.webkit.org/show_bug.cgi?id=40939
        rdar://problem/7996172
        
        Take a IOKit power assertion when playing video in fullscreen mode.  Release the
        assertion when paused in fullscreen mode, and when exiting fullscreen mode.

        * WebView/WebVideoFullscreenController.h:
        * WebView/WebVideoFullscreenController.mm:
        (-[WebVideoFullscreenController windowDidExitFullscreen]): Call updatePowerAssertions.
        (-[WebVideoFullscreenController windowDidEnterFullscreen]): Call updatePowerAssertions.
        (-[WebVideoFullscreenController _disableIdleDisplaySleep]):
        (-[WebVideoFullscreenController _enableIdleDisplaySleep]):
        (-[WebVideoFullscreenController _disableIdleSystemSleep]):
        (-[WebVideoFullscreenController _enableIdleSystemSleep]):
        (-[WebVideoFullscreenController updatePowerAssertions]): Call _(enable|disable)Idle(System|Display)sleep depending on current playback rate and fullscreen status.
        (-[WebVideoFullscreenController rateChanged:]): Call updatePowerAssertions.

2010-06-24  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Playing movie full screen on second monitor hides menu bar and title bar on main monitor
        https://bugs.webkit.org/show_bug.cgi?id=40933
        rdar://problem/7858452
        
        Remove all references to GetSystemUIMode and SetSystemUIMode.  Replace these calls with 
        [NSApplication setPresentationOptions:].  Do not auto-hide the menu bar if the fullscreen
        screen is does not contain the menu-bar.  Do not auto-hide the dock if the fullscreen screen
        is both not the menu-bar screen and not the dock screen.

        * WebView/WebVideoFullscreenController.mm:
        (-[WebVideoFullscreenController windowDidLoad]): Register the applicationDidChangeScreenParameters: listener.
        (-[WebVideoFullscreenController windowDidExitFullscreen]): Calls updateMenuAndDockForFullscreen.
        (-[WebVideoFullscreenController windowDidEnterFullscreen]): Calls updateMenuAndDockForFullscreen.
        (-[WebVideoFullscreenController applicationDidChangeScreenParameters:]):  New notification handler; catches NSApplicationDidChangeScreenParameters.
        (-[WebVideoFullscreenController updateMenuAndDockForFullscreen]): Hide/show the menu-bar and dock according to the fullscreen window's screen.

2010-06-24  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        Full screen video in Safari exits full-screen if you switch to another app
        https://bugs.webkit.org/show_bug.cgi?id=40635
        rdar://problem/7885101

        Implement the following rules for exiting full screen when switching apps:
        1. If the system has a single screen, switching apps will cause Safari to exit full-screen.
        2. Otherwise, if the full-screen screen is the "main screen" (the one with the title bar), 
           switching apps will cause Safari to exit full-screen.
        3. Overriding rules 1 & 2, if the full-screen screen is not on the "current space", 
           switching apps will NOT cause Safari to exit full-screen.

        * WebView/WebVideoFullscreenController.mm:
        (-[WebVideoFullscreenController windowDidLoad]):
        (-[WebVideoFullscreenController applicationDidResignActive:]):

2010-06-24  Adele Peterson  <adele@apple.com>

        Reviewed by Sam Weinig.

        Updated fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events
        https://bugs.webkit.org/show_bug.cgi?id=41085

        * WebView/WebHTMLView.mm: Use the WebCore command system for the pasteAsPlainText selector.
        Also remove internal methods that no one is using.

2010-06-24  Damian Kaleta  <dkaleta@apple.com>

        Reviewed by Sam Weinig.

        Added an ObjC wrapper to Node::renderRect(bool&).

        * DOM/WebDOMOperations.mm:
        (-[DOMNode _renderRect:]):
        * DOM/WebDOMOperationsPrivate.h:

2010-06-24  Adele Peterson  <adele@apple.com>

        Reviewed by Eric Carlson.

        Fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events
        https://bugs.webkit.org/show_bug.cgi?id=41085

        * WebView/WebHTMLView.mm: (-[WebHTMLView pasteAsPlainText:]): Reuse code in WebCore
        which does everything done here and also fires paste events.

2010-06-23  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Shinichiro Hamaji.

        Implement page format data programming interface.
        Add methods for testing.
        https://bugs.webkit.org/show_bug.cgi?id=37538

        * Misc/WebCoreStatistics.h:
        * Misc/WebCoreStatistics.mm:
        (-[WebFrame isPageBoxVisible:]):
        (-[WebFrame pageAreaRectInPixels:]):
        (-[WebFrame preferredPageSizeInPixels:]):

2010-06-22  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Get rid of more USE_LIBDISPATCH code.

        * Plugins/Hosted/NetscapePluginHostProxy.h:

2010-06-22  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Get rid of the USE_LIBDISPATCH code.

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
        (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):

2010-06-22  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Wean NetscapePluginHostManager of any knowledge about WebNetscapePluginPackage
        https://bugs.webkit.org/show_bug.cgi?id=41006

        * Plugins/Hosted/NetscapePluginHostManager.h:
        * Plugins/Hosted/NetscapePluginHostManager.mm:
        (WebKit::NetscapePluginHostManager::hostForPlugin):
        (WebKit::NetscapePluginHostManager::spawnPluginHost):
        (WebKit::NetscapePluginHostManager::instantiatePlugin):
        (WebKit::NetscapePluginHostManager::createPropertyListFile):
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView createPlugin]):
        * Plugins/WebNetscapePluginPackage.mm:
        (-[WebNetscapePluginPackage createPropertyListFile]):

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

        Reviewed by Sam Weinig.

        Fix an off-by-one bug I introduced.

        * Plugins/WebNetscapePluginPackage.mm:
        (-[WebNetscapePluginPackage getPluginInfoFromResources]):

2010-06-21  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        FrameLoader cleanup: Split high level subframe and plugin
        loading functions into a separate class.
        https://bugs.webkit.org/show_bug.cgi?id=40453

        * WebView/WebFrame.mm:
        (-[WebFrame _cacheabilityDictionary]):

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

        Another Tiger build fix.

        * Plugins/WebNetscapePluginPackage.mm:
        (-[WebNetscapePluginPackage _tryLoad]):

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

        Reviewed by Sam Weinig.

        More WebBasePluginPackage cleanup
        https://bugs.webkit.org/show_bug.cgi?id=40944

        * Plugins/Hosted/HostedNetscapePluginStream.mm:
        (WebKit::HostedNetscapePluginStream::pluginCancelledConnectionError):
        * Plugins/Hosted/NetscapePluginHostManager.mm:
        (WebKit::NetscapePluginHostManager::spawnPluginHost):
        * Plugins/WebBaseNetscapePluginStream.mm:
        (WebNetscapePluginStream::pluginCancelledConnectionError):
        * Plugins/WebBaseNetscapePluginView.mm:
        (WebHaltablePlugin::pluginName):
        * Plugins/WebBasePluginPackage.h:
        * Plugins/WebBasePluginPackage.mm:
        (-[WebBasePluginPackage initWithPath:]):
        (-[WebBasePluginPackage _objectForInfoDictionaryKey:]):
        (-[WebBasePluginPackage getPluginInfoFromPLists]):
        (-[WebBasePluginPackage load]):
        (-[WebBasePluginPackage dealloc]):
        (-[WebBasePluginPackage finalize]):
        (-[WebBasePluginPackage pluginInfo]):
        (-[WebBasePluginPackage supportsExtension:]):
        (-[WebBasePluginPackage supportsMIMEType:WebCore::]):
        (-[WebBasePluginPackage MIMETypeForExtension:]):
        (-[WebBasePluginPackage isJavaPlugIn]):
        (-[WebBasePluginPackage versionNumber]):
        (-[WebBasePluginPackage WebCore::]):
        * Plugins/WebNetscapePluginPackage.mm:
        (-[WebNetscapePluginPackage openResourceFile]):
        (-[WebNetscapePluginPackage closeResourceFile:]):
        (-[WebNetscapePluginPackage getPluginInfoFromResources]):
        (-[WebNetscapePluginPackage _initWithPath:]):
        (-[WebNetscapePluginPackage _applyDjVuWorkaround]):
        (-[WebNetscapePluginPackage _tryLoad]):
        (-[WebNetscapePluginPackage supportsSnapshotting]):
        (-[WebNetscapePluginPackage _unloadWithShutdown:]):
        * Plugins/WebPluginDatabase.mm:
        (-[WebPluginDatabase refresh]):
        (-[WebPluginDatabase _removePlugin:]):
        * Plugins/WebPluginPackage.mm:
        (-[WebPluginPackage initWithPath:]):
        (-[WebPluginPackage load]):
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::createPlugin):
        * WebCoreSupport/WebPlatformStrategies.mm:
        (WebPlatformStrategies::getPluginInfo):

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

        Another PowerPC build fix.

        * Plugins/WebNetscapePluginPackage.mm:
        (-[WebNetscapePluginPackage openResourceFile]):
        (-[WebNetscapePluginPackage _tryLoad]):

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

        Try to fix the PowerPC build.

        * Plugins/WebNetscapePluginPackage.mm:
        (-[WebNetscapePluginPackage _tryLoad]):

2010-06-21  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Update relevant calls into FrameLoader to make use of 
        FrameLoaderStateMachine.
        https://bugs.webkit.org/show_bug.cgi?id=39695

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::transitionToCommittedForNewPage):
        * WebView/WebFrame.mm:
        (-[WebFrame _firstLayoutDone]):

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

        Reviewed by Dan Bernstein.

        Chromium/Mac build fix.

        * WebCoreSupport/WebSystemInterface.mm: Change the order of wtf/Platform.h include to let other 
            headers smell it.

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

        Reviewed by Dan Bernstein.

        Make all of WebKit build with clang++

        * DefaultDelegates/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
        * Plugins/Hosted/NetscapePluginHostManager.mm:
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView resolvedURLStringForURL:target:]):
        * WebView/WebDynamicScrollBarsView.mm:
        (-[WebDynamicScrollBarsView setSuppressLayout:]):
        * WebView/WebHTMLRepresentation.mm:
        * WebView/WebNavigationData.mm:
        (-[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]):
        * WebView/WebPDFRepresentation.mm:
        (-[WebPDFRepresentation setDataSource:]):
        (-[WebPDFRepresentation receivedData:withDataSource:]):
        (-[WebPDFRepresentation receivedError:withDataSource:]):
        * WebView/WebResource.mm:
        (-[WebResource description]):
        * WebView/WebSerializedJSValue.mm:
        (-[WebSerializedJSValue initWithValue:context:exception:]):
        * WebView/WebVideoFullscreenController.mm:
        (-[WebVideoFullscreenController WebCore::]):
        (-[WebVideoFullscreenController setMediaElement:WebCore::]):
        (-[WebVideoFullscreenController setDelegate:]):
        (-[WebVideoFullscreenController enterFullscreen:]):
        * WebView/WebView.mm:
        (-[WebView _openFrameInNewWindowFromMenu:]):
        (-[WebView _geolocationDidChangePosition:]):

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

        Reviewed by Sam Weinig.

        Remove unused dictionary ivars from WebBasePluginPackage
        https://bugs.webkit.org/show_bug.cgi?id=40928

        * Plugins/WebBasePluginPackage.h:
        * Plugins/WebBasePluginPackage.mm:
        (-[WebBasePluginPackage getPluginInfoFromPLists]):
        (-[WebBasePluginPackage dealloc]):
        * Plugins/WebNetscapePluginPackage.mm:
        (-[WebNetscapePluginPackage getPluginInfoFromResources]):

2010-06-21  Dan Bernstein  <mitz@apple.com>

        Build fix

        * WebCoreSupport/WebSystemInterface.mm:
        (InitWebCoreSystemInterface):

2010-06-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        WebKit part of implementing the 'hyphens' and 'hyphenate-character' properties
        https://bugs.webkit.org/show_bug.cgi?id=10228

        * WebCoreSupport/WebSystemInterface.mm:
        (InitWebCoreSystemInterface): Initialize wkGetHyphenationLocationBeforeIndex.

2010-06-21  Satish Sampath  <satish@chromium.org>

        Reviewed by Steve Block.

        Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
        https://bugs.webkit.org/show_bug.cgi?id=40878

        * Configurations/FeatureDefines.xcconfig:

2010-06-20  Anders Carlsson  <andersca@apple.com>

        Fix Tiger build.

        * Plugins/WebNetscapePluginPackage.mm:

2010-06-20  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Get rid of the old MIMETypes getter method
        https://bugs.webkit.org/show_bug.cgi?id=40898

        * Plugins/WebBasePluginPackage.h:
        * Plugins/WebBasePluginPackage.mm:
        (-[WebBasePluginPackage supportsExtension:]):
        (-[WebBasePluginPackage supportsMIMEType:WebCore::]):
        (-[WebBasePluginPackage MIMETypeForExtension:]):
        * Plugins/WebPluginDatabase.mm:
        (-[WebPluginDatabase refresh]):
        (-[WebPluginDatabase _removePlugin:]):

2010-06-20  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Remove bogus const qualifiers.

        * WebCoreSupport/WebPasteboardHelper.h:
        * WebCoreSupport/WebPasteboardHelper.mm:
        (WebPasteboardHelper::urlFromPasteboard):
        (WebPasteboardHelper::plainTextFromPasteboard):
        (WebPasteboardHelper::fragmentFromPasteboard):

2010-06-20  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Get rid of the extensionToMIME mapping in WebBasePluginPackage
        https://bugs.webkit.org/show_bug.cgi?id=40897

        Instead of using the extensionToMIME mutable dictionary, use the MIME types vector.
        While this makes lookup of MIME types based on extensions linear instead of constant,
        the number of extensions per plug-in is too small for it to matter.

        * Plugins/WebBasePluginPackage.h:
        * Plugins/WebBasePluginPackage.mm:
        (-[WebBasePluginPackage initWithPath:]):
        (-[WebBasePluginPackage dealloc]):
        (-[WebBasePluginPackage supportsExtension:]):
        (-[WebBasePluginPackage MIMETypeForExtension:]):
        (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):

2010-06-20  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Add a MimeClassInfo Vector to WebBasePluginPackage
        https://bugs.webkit.org/show_bug.cgi?id=40896

        * Plugins/WebBasePluginPackage.h:
        * Plugins/WebBasePluginPackage.mm:
        (-[WebBasePluginPackage getPluginInfoFromPLists]):
        (-[WebBasePluginPackage WebCore::]):
        * Plugins/WebNetscapePluginPackage.mm:
        (-[WebNetscapePluginPackage getPluginInfoFromResources]):
        * WebCoreSupport/WebPlatformStrategies.mm:
        (WebPlatformStrategies::getPluginInfo):

2010-06-20  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Move the NSBundle ivar to WebPluginPackage
        https://bugs.webkit.org/show_bug.cgi?id=40894

        * Plugins/WebBasePluginPackage.h:
        * Plugins/WebBasePluginPackage.mm:
        (-[WebBasePluginPackage initWithPath:]):
        (-[WebBasePluginPackage _objectForInfoDictionaryKey:]):
        (-[WebBasePluginPackage getPluginInfoFromPLists]):
        (-[WebBasePluginPackage load]):
        (-[WebBasePluginPackage dealloc]):
        * Plugins/WebNetscapePluginPackage.mm:
        (-[WebNetscapePluginPackage _initWithPath:]):
        * Plugins/WebPluginPackage.h:
        * Plugins/WebPluginPackage.mm:
        (-[WebPluginPackage initWithPath:]):
        (-[WebPluginPackage dealloc]):
        (-[WebPluginPackage viewFactory]):
        (-[WebPluginPackage load]):

2010-06-20  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Remove -[WebBasePluginPackage bundle]
        https://bugs.webkit.org/show_bug.cgi?id=40892

        Add -[WebBasePluginPackage bundleIdentifier] and switch clients over to it.
        
        Move the supportsSnapshotting method over to the plug-in package.
        
        * Plugins/Hosted/NetscapePluginHostManager.mm:
        (WebKit::NetscapePluginHostManager::hostForPackage):
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
        (-[WebBaseNetscapePluginView supportsSnapshotting]):
        * Plugins/WebBasePluginPackage.h:
        * Plugins/WebBasePluginPackage.mm:
        (-[WebBasePluginPackage isQuickTimePlugIn]):
        (-[WebBasePluginPackage isJavaPlugIn]):
        (-[WebBasePluginPackage WebCore::]):
        Call bundleIdentifier directly instead of asking the bundle 
        * Plugins/WebNetscapePluginPackage.h:
        * Plugins/WebNetscapePluginPackage.mm:
        (-[WebNetscapePluginPackage supportsSnapshotting]):
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView setAttributeKeys:andValues:]):
        (-[WebNetscapePluginView _createPlugin]):
        * Plugins/WebPluginDatabase.mm:
        (checkCandidate):

2010-06-20  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Change some WebPluginDabase ivars to use WebCore::String instead of NSString.
        https://bugs.webkit.org/show_bug.cgi?id=40869
        
        Re-land r61459, with extra null-checks in WebFrameLoaderClient.

        * Plugins/Hosted/NetscapePluginHostManager.mm:
        (WebKit::NetscapePluginHostManager::spawnPluginHost):
        * Plugins/WebBasePluginPackage.h:
        * Plugins/WebBasePluginPackage.mm:
        (-[WebBasePluginPackage initWithPath:]):
        (-[WebBasePluginPackage getPluginInfoFromPLists]):
        (-[WebBasePluginPackage dealloc]):
        (-[WebBasePluginPackage name]):
        (-[WebBasePluginPackage path]):
        (-[WebBasePluginPackage filename]):
        (-[WebBasePluginPackage pluginDescription]):
        (-[WebBasePluginPackage description]):
        (-[WebBasePluginPackage isJavaPlugIn]):
        * Plugins/WebNetscapePluginPackage.mm:
        (-[WebNetscapePluginPackage getPluginInfoFromResources]):
        (-[WebNetscapePluginPackage _tryLoad]):
        (-[WebNetscapePluginPackage _unloadWithShutdown:]):
        * Plugins/WebPluginPackage.mm:
        (-[WebPluginPackage load]):
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::createPlugin):

2010-06-18  Adam Barth  <abarth@webkit.org>

        Unreviewed, rolling out r61459.
        http://trac.webkit.org/changeset/61459
        https://bugs.webkit.org/show_bug.cgi?id=40869

        Seems to have broken two tests on the Tiger buildbot:

        dom/html/level2/html/AppletsCollection.html
        plugins/qt-qwidget-plugin.html

        Anders wasn't on #webkit...

        * Plugins/Hosted/NetscapePluginHostManager.mm:
        (WebKit::NetscapePluginHostManager::spawnPluginHost):
        * Plugins/WebBasePluginPackage.h:
        * Plugins/WebBasePluginPackage.mm:
        (-[WebBasePluginPackage initWithPath:]):
        (-[WebBasePluginPackage getPluginInfoFromPLists]):
        (-[WebBasePluginPackage dealloc]):
        (-[WebBasePluginPackage name]):
        (-[WebBasePluginPackage path]):
        (-[WebBasePluginPackage filename]):
        (-[WebBasePluginPackage pluginDescription]):
        (-[WebBasePluginPackage setName:]):
        (-[WebBasePluginPackage setPath:]):
        (-[WebBasePluginPackage setPluginDescription:]):
        (-[WebBasePluginPackage description]):
        (-[WebBasePluginPackage isJavaPlugIn]):
        * Plugins/WebNetscapePluginPackage.mm:
        (-[WebNetscapePluginPackage getPluginInfoFromResources]):
        (-[WebNetscapePluginPackage _tryLoad]):
        (-[WebNetscapePluginPackage _unloadWithShutdown:]):
        * Plugins/WebPluginPackage.mm:
        (-[WebPluginPackage load]):

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

        Fix Tiger build.

        * Plugins/WebBasePluginPackage.mm:
        (-[WebBasePluginPackage isJavaPlugIn]):

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

        Reviewed by Sam Weinig.

        Change some WebPluginDabase ivars to use WebCore::String instead of NSString.
        https://bugs.webkit.org/show_bug.cgi?id=40869

        * Plugins/Hosted/NetscapePluginHostManager.mm:
        (WebKit::NetscapePluginHostManager::spawnPluginHost):
        * Plugins/WebBasePluginPackage.h:
        * Plugins/WebBasePluginPackage.mm:
        (-[WebBasePluginPackage initWithPath:]):
        (-[WebBasePluginPackage getPluginInfoFromPLists]):
        (-[WebBasePluginPackage dealloc]):
        (-[WebBasePluginPackage name]):
        (-[WebBasePluginPackage path]):
        (-[WebBasePluginPackage filename]):
        (-[WebBasePluginPackage pluginDescription]):
        (-[WebBasePluginPackage description]):
        (-[WebBasePluginPackage isJavaPlugIn]):
        * Plugins/WebNetscapePluginPackage.mm:
        (-[WebNetscapePluginPackage getPluginInfoFromResources]):
        (-[WebNetscapePluginPackage _tryLoad]):
        (-[WebNetscapePluginPackage _unloadWithShutdown:]):
        * Plugins/WebPluginPackage.mm:
        (-[WebPluginPackage load]):

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

        Reviewed by Sam Weinig.

        Rename WebPluginPackage.m to make it an Objective-C++ file.
        
        * Plugins/WebPluginPackage.m: Removed.
        * Plugins/WebPluginPackage.mm: Copied from Plugins/WebPluginPackage.m.

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

        Reviewed by Sam Weinig.

        Get rid of the NSEnumerators from WebBasePluginPackage
        https://bugs.webkit.org/show_bug.cgi?id=40868

        * Plugins/WebBasePluginPackage.h:
        * Plugins/WebBasePluginPackage.mm:
        (-[WebBasePluginPackage MIMETypes]):
        (-[WebBasePluginPackage supportsExtension:]):
        (-[WebBasePluginPackage supportsMIMEType:]):
        * Plugins/WebPluginDatabase.mm:
        (-[WebPluginDatabase pluginForMIMEType:]):
        (-[WebPluginDatabase pluginForExtension:]):
        (-[WebPluginDatabase refresh]):
        (-[WebPluginDatabase _removePlugin:]):
        * WebCoreSupport/WebPlatformStrategies.mm:
        (WebPlatformStrategies::getPluginInfo):

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

        Reviewed by Sam Weinig.

        Make WebCoreSystemInterface.h a C++ only header
        https://bugs.webkit.org/show_bug.cgi?id=40867

        * WebCoreSupport/WebSystemInterface.h:
        * WebCoreSupport/WebSystemInterface.m: Removed.
        * WebCoreSupport/WebSystemInterface.mm: Copied from WebKit/mac/WebCoreSupport/WebSystemInterface.m.

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

        Reviewed by Sam Weinig.

        Clean up WebPluginDatabase.mm
        https://bugs.webkit.org/show_bug.cgi?id=40866

        * Plugins/WebBasePluginPackage.h:
        * Plugins/WebBasePluginPackage.mm:
        (pathByResolvingSymlinksAndAliases):
        (-[WebBasePluginPackage initWithPath:]):
        Change an instance method into a static function.
        
        * Plugins/WebPluginDatabase.mm:
        (PluginPackageCandidates::PluginPackageCandidates):
        (PluginPackageCandidates::update):
        (PluginPackageCandidates::bestCandidate):
        Add a new PluginPackageCandidates class.
        
        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
        Use PluginPackageCandidates here.

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

        Fix Tiger build.
        
        * WebCoreSupport/WebPlatformStrategies.mm:

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

        Reviewed by Darin Adler.

        Get rid of PluginDataMac.mm and use the plug-in strategy instead
        https://bugs.webkit.org/show_bug.cgi?id=40860

        * Plugins/WebBasePluginPackage.h:
        * WebCoreSupport/WebPlatformStrategies.h:
        * WebCoreSupport/WebPlatformStrategies.mm:
        (WebPlatformStrategies::createPluginStrategy):
        (WebPlatformStrategies::refreshPlugins):
        (WebPlatformStrategies::getPluginInfo):
        * WebCoreSupport/WebViewFactory.mm:

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

        Reviewed by Dan Bernstein.

        Add stubbed out WebPlatformStrategies class to WebKit.
        https://bugs.webkit.org/show_bug.cgi?id=40851

        * WebCoreSupport/WebPlatformStrategies.h: Added.
        * WebCoreSupport/WebPlatformStrategies.mm: Added.
        (WebPlatformStrategies::initialize):
        (WebPlatformStrategies::WebPlatformStrategies):
        (WebPlatformStrategies::createPluginStrategy):
        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):

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

        Reviewed by Adam Barth.

        Move isAvailable()/setIsAvailable() from Database/DatabaseSync to AbstractDatabase.
        https://bugs.webkit.org/show_bug.cgi?id=39041

        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):

2010-06-17  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Use adoptRef and create functions in more code paths
        https://bugs.webkit.org/show_bug.cgi?id=40760

        * Plugins/Hosted/NetscapePluginInstanceProxy.h: Made create no longer
        be an inline function.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
        Moved the call to addPluginInstance out of here.
        (WebKit::NetscapePluginInstanceProxy::create): Move it in here.
        This makes sure we call adoptRef on the new proxy before any caller
        calls ref on it.

2010-06-16  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Enable HTML5 Parser in Safari on Mac
        https://bugs.webkit.org/show_bug.cgi?id=40739

        The HTML5 parser is probably off on all webkit ports.
        We should either flip the meaning of the default so that
        "false" means HTML5 on all ports, or we'll have to write
        more code like this for all the other ports.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):

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

        Reviewed by Sam Weinig.

        Don't leak WebGeolocationPositionInternal and GeolocationPosition instances for every WebGeolocationPosition created.

        * WebView/WebGeolocationPosition.mm:
        (-[WebGeolocationPosition dealloc]): Implement -dealloc and release our WebGeolocationPositionInternal instance.

2010-06-10  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Shinichiro Hamaji.

        Implement render style selection for pages to support CSS3 Paged Media.
        https://bugs.webkit.org/show_bug.cgi?id=35961

        * Misc/WebCoreStatistics.h:
        * Misc/WebCoreStatistics.mm:
        (-[WebFrame pageProperty:propertyName:]):

2010-06-15  Darin Adler  <darin@apple.com>

        Reviewed by Adam Barth.

        Move functions out of Frame class that were marked "move to Chrome"
        https://bugs.webkit.org/show_bug.cgi?id=39636

        * WebView/WebView.mm:
        (-[WebView shouldClose]): Call shouldClose on FrameLoader instead of
        going through Frame.

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

        Reviewed by Dan Bernstein.

        Remove getPluginInfoFromBundleAndMIMEDictionary:

        * Plugins/WebBasePluginPackage.mm:

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

        Reviewed by Dan Bernstein.

        Fold getPluginInfoFromBundleAndMIMEDictionary: into its sole caller.

        * Plugins/WebBasePluginPackage.mm:
        (-[WebBasePluginPackage getPluginInfoFromPLists]):

2010-06-11  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8084721> Pages using accelerated compositing fail to update correctly in Carbon apps
        
        The run loop observer used to commit compositing layer changes does not do
        updates if [window viewsNeedDisplay] is true, because this indicates that a delayed window
        update is pending (added in r58623).
        
        However, Carbon apps don't use the NSWindow updating mechanism, so [window viewsNeedDisplay] always returns YES.
        This caused us to never sync compositing layers.
        
        So detect if the current window is wrapping a carbon window, and in that case consult the root
        HIView to detect if display is pending.

        * WebView/WebView.mm:
        (layerSyncRunLoopObserverCallBack):

2010-06-15  Dan Bernstein  <mitz@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/8077032> REGRESSION (r50796): Black background on AppleScript generated email

        Test: platform/mac/editing/input/NSBackgroundColor-transparent.html

        r50796 changed the initial background color from invalid to transparent. As a result,
        NSAttributedStrings returned from +_web_attributedStringFromRange started including the
        NSBackgroundColor attribute, with a transparent color as the value. This caused problems for
        components in the system that ignore the alpha component, turning the color into opaque black.

        * Misc/WebNSAttributedStringExtras.mm:
        (+[NSAttributedString _web_attributedStringFromRange:]): Change to not include the background
        and foreground color attributes if the color are transparent.

2010-06-14  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
        data from inspected page to WebInspector as JSON string via http. The native
        serialization to JSON string is supported by InspectorValue's classes. This patch
        has the implementation of sendMessageToFrontend function. WebKit version of it still
        uses ScriptFunctionCall and will be switched to another transport a little bit later.
        https://bugs.webkit.org/show_bug.cgi?id=40134

        * WebCoreSupport/WebInspectorClient.h:
        * WebCoreSupport/WebInspectorClient.mm:
        (WebInspectorClient::WebInspectorClient):
        (WebInspectorClient::openInspectorFrontend):

2010-06-10  David Hyatt  <hyatt@apple.com>

        Reviewed by John Sullivan.

        https://bugs.webkit.org/show_bug.cgi?id=40441, back out the original fix for 29601, since it has broken continuous
        wheel delta values.

        * WebView/WebDynamicScrollBarsView.mm:
        (-[WebDynamicScrollBarsView scrollWheel:]):

2010-06-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r60889.
        http://trac.webkit.org/changeset/60889
        https://bugs.webkit.org/show_bug.cgi?id=40365

        gtk bot has some kind of memory corruption (Requested by
        loislo on #webkit).

        * WebCoreSupport/WebInspectorClient.h:
        * WebCoreSupport/WebInspectorClient.mm:
        (WebInspectorClient::WebInspectorClient):
        (WebInspectorClient::openInspectorFrontend):
        (-[WebInspectorWindowController destroyInspectorView]):

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

        Reviewed by Pavel Feldman.

        WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
        data from inspected page to WebInspector as JSON string via http. The native
        serialization to JSON string is supported by InspectorValue's classes. This patch
        has the implementation of sendMessageToFrontend function. WebKit version of it still
        uses ScriptFunctionCall and will be switched to another transport a little bit later.
        https://bugs.webkit.org/show_bug.cgi?id=40134

        * WebCoreSupport/WebInspectorClient.h:
        * WebCoreSupport/WebInspectorClient.mm:
        (WebInspectorClient::WebInspectorClient):
        (WebInspectorClient::openInspectorFrontend):

2010-06-08  Mark Rowe  <mrowe@apple.com>

        Reviewed by Adele Peterson.

        <rdar://problem/8072136> REGRESSION (r56051): Inspect Element context menu does nothing in applications linked against 10.4 SDK

        * WebCoreSupport/WebContextMenuClient.mm:
        (fixMenusReceivedFromOldClients): Fix up the tag on the Inspect Element menu item. This ensures that even if the
        context menu layout doesn't match our expectations that the menu item will continue to trigger the web inspector.

2010-06-08  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Ojan Vafai and Darin Adler.

        Refactor platform dependent editing behavior code out of Settings
        https://bugs.webkit.org/show_bug.cgi?id=39854

        EditingBehavior enum was renamed to EditingBehaviorTypes and moved out from Settings.h to
        EditingBehaviorTypes.h . Call sites in WebKit/ adjusted accordingly.

        * WebView/WebFrame.mm:
        (core):
        * WebView/WebFrameInternal.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):

2010-06-06  MORITA Hajime  <morrita@google.com>

        Unreviewd, follow up to r60820

        https://bugs.webkit.org/show_bug.cgi?id=40219
        [Mac] ENABLE_METER_TAG should be enabled
        
        Added ENABLE_METER_TAG.

        * Configurations/FeatureDefines.xcconfig:

2010-06-06  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig.

        Bug 40214 - Clean up error construction / throwing in JSC.
        
        The one egregious insanity here is that creating an error requires
        a VM-entry-esqe-host call (the string argument is wrapped as a JS
        object & pushed on the RegisterFile, then unwrapped back to a
        UString).  Changing this also means you only require a global
        object, not an ExecState, to create an error.

        The methods to create error objects are also parameterized
        requiring a switch on the type, which can be made cleaner and
        faster by moving to a separate method per error type.  Code to add
        divot information to error had been duplicated, and is coalesced
        back into a single function.

        Convenience methods added to create & throw type & syntax error
        with a default error message, since this is a common case.

        Also, errors are currently thrown either using
        "throwError(exec, error)" or "exec->setException(error)" - unify
        on the former, since this is more commonly used.  Add
        "throwVMError(exec, error)" equivalents, as a convenience for
        cases where the result was being wrapped in "JSValue::encode(...)".

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
        * Plugins/Hosted/ProxyInstance.mm:
        (WebKit::ProxyInstance::invokeMethod):

2010-06-02  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Bug 40094 - The return type of NativeFunction should be EncodedJSValue
        On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not.

        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::invoke):

2010-06-02  Sterling Swigart  <sswigart@google.com>

        Reviewed by David Levin.

        Image Resizer Patch 0: Added compilation argument to conditionally compile pending patches.
        https://bugs.webkit.org/show_bug.cgi?id=39906

        * Configurations/FeatureDefines.xcconfig:

2010-06-01  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        Add a preference for paginating during layout (the new model for computing page breaks).

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (-[WebPreferences paginateDuringLayoutEnabled]):
        (-[WebPreferences setPaginateDuringLayoutEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):

2010-06-01  Kevin Decker  <kdecker@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=40025
        <rdar://problem/8046273> All Flash content crashes after installing CS5 Design Premium.
        
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView supportsSnapshotting]): Do not support snapshotting Flash 10.1 if
        the version is less than 10.1.53.60.

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

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=39434
        REGRESSION (r59811): Geolocation callbacks cannot be created

        Removing unused WebGeolocationMock.

        * WebCoreSupport/WebGeolocationMock.mm: Removed.
        * WebCoreSupport/WebGeolocationMockPrivate.h: Removed.
        * WebKit.exp:

2010-05-30  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Make more HTML DOM members private, especially constructors, third and final batch
        https://bugs.webkit.org/show_bug.cgi?id=39916

        * WebView/WebHTMLRepresentation.mm:
        (-[WebHTMLRepresentation elementWithName:inForm:]): Use the new HTMLFormElement
        function, associatedElements, rather than getting directly at a data member
        named formElements.
        (-[WebHTMLRepresentation controlsInForm:]): Ditto.

2010-05-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.

        Simplified the host calling convention.

        PART ONE: Functional code changes.
        
        [ None in WebKit ]
        
        PART TWO: Global search and replace.
        
        In the areas below, I used global search-and-replace to change
            (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
            args.size() => exec->argumentCount()
            args.at(i) => exec->argument(i)

        * Plugins/Hosted/ProxyInstance.h:
        * Plugins/Hosted/ProxyInstance.mm:
        (WebKit::ProxyInstance::invoke):
        (WebKit::ProxyInstance::invokeMethod):
        (WebKit::ProxyInstance::invokeDefaultMethod):

2010-05-27  Beth Dakin  <bdakin@apple.com>

        Reviewed by Simon Fraser.

        Change z-component to 1.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView viewDidMoveToWindow]):
        (-[WebHTMLView attachRootLayer:]):

2010-05-26  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Beth Dakin and Darin Adler.

        Fix for <rdar://problem/7464703> HiDPI: [Layers] Compositing layers 
        do not scale properly when running with a resolution independent 
        scale

        Apply the userSpaceScaleFactor as a scale on the layerHostingView.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView viewDidMoveToWindow]):
        (-[WebHTMLView attachRootLayer:]):

2010-05-25  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=39621
        <rdar://problem/8009738> Extreme memory growth on DOM Hanoi test

        Removed formStateDidChange support, which is not needed by any client.

        * WebCoreSupport/WebChromeClient.h:
        (WebChromeClient::formStateDidChange):
        * WebCoreSupport/WebChromeClient.mm:
        * WebView/WebUIDelegatePrivate.h:

2010-05-25  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        Database origins aren't populated at launch (missing db in prefs sheet, possible other symptoms)
        <rdar://problem/8013233> and https://bugs.webkit.org/show_bug.cgi?id=39486

        * Storage/WebDatabaseManager.mm:
        (WebKitInitializeDatabasesIfNecessary): Call initializeTracker() instead of trying to set the path on
          an already created tracker that already has its origins populated.

2010-05-24  Darin Adler  <darin@apple.com>

        Reviewed by Eric Seidel.

        Move view-related functions from Frame to FrameView
        https://bugs.webkit.org/show_bug.cgi?id=39366

        * WebView/WebView.mm:
        (-[WebView _setZoomMultiplier:isTextOnly:]): Call function on FrameView.
        (-[WebView setEditable:]): Get rid of call to empty function,
        removeEditingStyleFromBodyElement.

2010-05-21  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

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

        Make sure everyone who needs to is using visitedDependentColor rather than accessing styles
        directly.

        * Misc/WebNSAttributedStringExtras.mm:
        (+[NSAttributedString _web_attributedStringFromRange:]):
        * WebView/WebFrame.mm:
        (-[WebFrame _bodyBackgroundColor]):

2010-05-21  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoffrey Garen.

        All callable objects should have a global object reference
        https://bugs.webkit.org/show_bug.cgi?id=39495

        Update the plugin proxy to handle the need for global object.

        * Plugins/Hosted/ProxyInstance.mm:
        (WebKit::ProxyInstance::newRuntimeObject):
        (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod):
        (WebKit::ProxyInstance::getMethod):
        * Plugins/Hosted/ProxyRuntimeObject.h:
        * Plugins/Hosted/ProxyRuntimeObject.mm:
        (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):

2010-05-21  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        Add DeviceOrientation and DeviceOrientationClient
        https://bugs.webkit.org/show_bug.cgi?id=39479

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):

2010-05-20  Mike Thole  <mthole@apple.com>

        Reviewed by Dave Hyatt.

        When using a scale factor > 1, scrollbars sometimes appear when not necessary
        https://bugs.webkit.org/show_bug.cgi?id=39458

        * WebView/WebDynamicScrollBarsView.mm:
        (-[WebDynamicScrollBarsView updateScrollers]): Round up non-integral sizes from AppKit
        so that they can be compared against the integral document size.

2010-05-20  Kevin Decker  <kdecker@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=39441
        <rdar://problem/7985715> Flash context menu is both horizontally and vertically offset from point of click
        <rdar://problem/7986109> Youtube video controller UI entirely missing
        <rdar://problem/7986154> Flash content paints at horizontally and vertically shifted locations (within the plug-in region)

        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView updateAndSetWindow]): The base coordinates of a window and
         it's contentView happen to be the equal at a userSpaceScaleFactor of 1. For non-1.0 scale
         factors this assumption is false. Accordingly we now convert to the window contentView
        coordinate system when computing bounds in "window" and the visible rect.
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): Ditto.

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

        Reviewed by Jeremy Orlow.

        Provide bindings for DeviceOrientation
        https://bugs.webkit.org/show_bug.cgi?id=39210

        Adds ENABLE_DEVICE_ORIENTATION to XCode project file, always disabled.

        * Configurations/FeatureDefines.xcconfig:

2010-05-20  Martin Robinson  <mrobinson@webkit.org>

        Reviewed by Ojan Vafai.

        Expose the editing behavior setting in DRT to test all editing code paths
        https://bugs.webkit.org/show_bug.cgi?id=38603

        * WebView/WebFrame.mm:
        (core):
        * WebView/WebFrameInternal.h: Added a conversion method from the API enum to the WebCore enum.
        * WebView/WebPreferenceKeysPrivate.h: Added a preference key for the new setting.
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]): Initialize the EditingBehavior to Mac style.
        (-[WebPreferences editingBehavior]): Added.
        (-[WebPreferences setEditingBehavior:]): Added.
        * WebView/WebPreferencesPrivate.h: Added the new API points to the private API.
        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]): Set the editing behavior via the WebPreferences setting.

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

        Reviewed by Kevin Decker and Simon Fraser.

        <rdar://problem/8004528> 
        REGRESSION: Coordinate system for Core Animation NPAPI plug-ins is flipped with accelerated compositing turned on
        
        When needed, create a new CALayer and set it's geometry to be flipped. Add the plug-in layer as a sublayer and then return
        the newly created layer.

        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView createPlugin]):
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView createPlugin]):

2010-05-18  Tony Chang  <tony@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=24943
        Command-B and Command-I do not generate keydown events in contentEditable regions.

        Manual test because performKeyEquivalent is not called by DRT.

        Test: manual-tests/style-keypress-events.html

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView performKeyEquivalent:]): Move style key handling until after webcore gets a chance to handle the event

2010-05-18  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Darin Adler, Jian Li.

        DragData::asURL() shouldn't do file validity checks
        https://bugs.webkit.org/show_bug.cgi?id=38711

        Change [NSPasteboard _web_bestURL] to still return a file URL for paths
        that don't exist. Callers who care about the existence of the file or
        whether or not it is a directory should check themselves when they
        want to use the file. The directory check has been left in for now,
        since the Mac implementation of ResourceHandle, which uses this function
        indirectly via DragController::performDrag) handles directories somewhat
        non-intuitively: it opens the parent directory in the Finder, rather
        than opening the directory itself.

        * Misc/WebNSPasteboardExtras.mm:
        (-[NSPasteboard _web_bestURL]):

2010-05-18  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth (and Maciej Stachowiak).

        Make it possible to enable the new HTML5Tokenizer for testing
        https://bugs.webkit.org/show_bug.cgi?id=39275

        Expose the WebCore::Settings::html5ParserEnabled as a private WebKit setting.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (-[WebPreferences html5ParserEnabled]):
        (-[WebPreferences setHTML5ParserEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):

2010-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r59652.
        http://trac.webkit.org/changeset/59652
        https://bugs.webkit.org/show_bug.cgi?id=39268

        file-input-files-access test is broken on Mac (Requested by
        dcheng on #webkit).

        * Misc/WebNSPasteboardExtras.mm:
        (-[NSPasteboard _web_bestURL]):

2010-05-17  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Darin Adler.

        DragData::asURL() shouldn't do file validity checks
        https://bugs.webkit.org/show_bug.cgi?id=38711

        Change [NSPasteboard _web_bestURL] to still return a file URL for paths
        that don't exist. Callers who care about the existence of the file or
        whether or not it is a directory should check themselves when they
        want to use the file. The directory check has been left in for now,
        since the Mac implementation of ResourceHandle, which uses this function
        indirectly via DragController::performDrag) handles directories somewhat
        non-intuitively: it opens the parent directory in the Finder, rather
        than opening the directory itself.

        * Misc/WebNSPasteboardExtras.mm:
        (-[NSPasteboard _web_bestURL]):

2010-05-14  Stephanie Lewis  <slewis@apple.com>

        Rubber-stamped by Mark Rowe.

        Update order files.

        * WebKit.order:

2010-05-13  Timothy Hatcher  <timothy@apple.com>

        Allow reporting exceptions that occur when using JavaScriptCore APIs
        to the Web Inspector.

        <rdar://problem/7975410>

        Reviewed by Sam Weinig.

        * WebView/WebView.mm:
        (+[WebView _reportException:inContext:]): Call WebCore::reportException after checking
        that the global object is a DOMWindow.
        * WebView/WebViewPrivate.h: Added _reportException:inContext:.

2010-05-13  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=39089
        <rdar://problem/7974044> Domain names in Russian '.рф' domain are displayed as punycode

        Add a custom check for this domain. Currently, this is the only non-ASCII TLD, we'll
        investigate a more extensible solution when there are more, and we know what the
        typical restictions are.

        * Misc/WebNSURLExtras.mm:
        (allCharactersAllowedByTLDRules):
        (-[NSString _web_mapHostNameWithRange:encode:makeString:]):

2010-05-12  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by David Hyatt.

        Composited plug-ins can cause missed painting
        https://bugs.webkit.org/show_bug.cgi?id=39033
        <rdar://problem/7972478>
        
        Eagerly enable compositing mode via the enclosing FrameView when the plug-in tells us it wants
        to do compositing.

        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView createPlugin]):
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView createPlugin]):

2010-05-12  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Bug 38689: #34005 will break fullscreen video playback
        https://bugs.webkit.org/show_bug.cgi?id=38689

        Use the new definition of PlatformMedia to check the actual type 
        returned by MediaPlayer.
        
        * WebView/WebVideoFullscreenController.mm:
        (-[WebVideoFullscreenController windowDidLoad]):

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

        Fix the world.

        In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
        The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
        that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
        in sync with build-webkit.  This led to WebCore and WebKit having different views of Document's vtable
        and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
        function in WebCore being called.

        We fix this by bringing the FeatureDefines.xcconfig files in to sync.  Based on the ChangeLog message and
        other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
        has been reverted.

        * Configurations/FeatureDefines.xcconfig:

2010-05-10  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Anders Carlsson.

        Allow compositing layers to be connected across iframe boundaries on Mac
        https://bugs.webkit.org/show_bug.cgi?id=38856
        
        When painting an iframe into a compositing layer, the "PaintBehaviorFlattenCompositingLayers"
        flag was mistakenly set, because we'd detect that we were drawing into a bitmap. This caused
        content to show up in both compositing layers, and the painted background inside the iframe.
        
        Fix by taking the flattening state from the parent frame, if there is one. For the root
        frame, we continue to look to see if we're painting into a bitmap.

        * WebView/WebFrame.mm:
        (-[WebFrame _drawRect:contentsOnly:]):

2010-05-10  Timothy Hatcher  <timothy@apple.com>

        Fix a crash when closing a WebView while the Web Inspector is open.

        <rdar://problem/7966830>

        Reviewed by Mark Rowe.

        * WebCoreSupport/WebInspectorClient.mm:
        (-[WebInspectorWindowController destroyInspectorView]): Null check Page since it can be null.
        * WebView/WebView.mm:
        (-[WebView _close]): Null out _private->page before deleting the page, so code called
        during destruction don't access a half deleted Page object.

2010-05-10  Anders Carlsson  <andersca@apple.com>

        Unbreak the world. (Fix Mac builds).

        * Plugins/Hosted/WebKitPluginHostTypes.h:

2010-05-10  Anders Carlsson  <andersca@apple.com>

        Reviewed by Simon Fraser.

        Change the order of the RendererType enum values, so that old versions of WebKitPluginHost will
        use accelerated compositing and not layer backed views.

        * Plugins/Hosted/WebKitPluginHostTypes.h:

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

        Reviewed by Sam Weinig and Simon Fraser.

        <rdar://problem/7947356>
        QT Plug-in in hardware-accelerated WebKit is missing the controller

        Replace the useSoftwareRenderer boolean with an enum that lets the plug-in host opt into using a layer
        backed NSView instead of inserting the layer into the WebCore layer hierarchy.

        * Plugins/Hosted/NetscapePluginHostManager.mm:
        (WebKit::NetscapePluginHostManager::instantiatePlugin):
        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WKPCInstantiatePluginReply):
        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        (WebKit::NetscapePluginInstanceProxy::rendererType):
        (WebKit::NetscapePluginInstanceProxy::setRendererType):
        (WebKit::NetscapePluginInstanceProxy::InstantiatePluginReply::InstantiatePluginReply):
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
        Replace the useSoftwareRenderer boolean everywhere with the RendererType enum.
        
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView createPlugin]):
        Only go into full compositing mode when the renderer type returned is UseAcceleratedCompositing.
        Otherwise, use a layer backed NSView.

        * Plugins/Hosted/WebKitPluginHostTypes.h:
        Add a RendererType enum.

2010-05-06  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler and Dan Bernstein..

        REGRESSION (r51617): when plugins are disabled, plugins show up as garbage characters
        https://bugs.webkit.org/show_bug.cgi?id=38698
        <rdar://problem/7942075>

        When the plug-in database is initialized, we will register all the MIME types it supports with the global
        WebView dictionary. When plug-ins are disabled for a single web view, the MIME types still need to be 
        in the global mapping (because other web views might still have plug-ins enabled).
        
        Prior to r51617 we would always look at the plug-in database to determine that the MIME type belongs to a 
        plug-in, but now we won't even touch the plug-in database when plug-ins are disabled.
        
        In order to fix this, a new set of registered MIME types that are known to be plug-ins is added. When
        +[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:] is called and allowingPlugins is FALSE
        we check if the MIME type is a known plug-in MIME type and return false in that case.
        
        * Plugins/WebPluginDatabase.mm:
        (-[WebPluginDatabase refresh]):
        (-[WebPluginDatabase _removePlugin:]):
        * WebView/WebView.mm:
        (knownPluginMIMETypes):
        (+[WebView _registerPluginMIMEType:]):
        (+[WebView _unregisterPluginMIMEType:]):
        (+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):
        * WebView/WebViewInternal.h:

2010-05-06  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7951285> REGRESSION (r58847): Composited iframe content obscures Safari's application chrome

        Fixed this other regression from r58847. The regression was caused by overriding -visibleRect to
        return the WebClipView’s full bounds. AppKit uses -visibleRect to determine the geometry
        of the surface for the child WebFrameView. The fix is to restrict the special behavior of
        -[WebClipView visibleRect] to when AppKit is consulting it for the purpose of invalidating
        areas while scrolling.

        * WebView/WebClipView.h:
        * WebView/WebClipView.mm:
        (-[WebClipView visibleRect]): If the WebClipView is not scrolling, always return
        [super visibleRect]. 
        (-[WebClipView _immediateScrollToPoint:]): Override this internal NSClipView method
        to set a flag telling -visibleRect that the view is scrolling.
        * WebView/WebView.mm:
        (layerSyncRunLoopObserverCallBack): Ensure that screen updates, disabled by AppKit
        when it thinks an upcoming window flush will re-enable them, are enabled here in
        case the -setNeedsDisplayInRect: override has prevented the window from needing to be
        flushed.

2010-05-06  Steve Block  <steveblock@google.com>

        Reviewed by Eric Seidel.

        MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE
        https://bugs.webkit.org/show_bug.cgi?id=38544

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:

2010-05-05  Dan Bernstein  <mitz@apple.com>

        Reviewed by Mark Rowe.

        Fixed a crash when closing Top Sites after r58847.

        * WebView/WebFrameView.mm:
        (-[WebFrameView webFrame]): Null-check _private.

2010-05-05  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Mark Rowe.

        Fixed test crashes after r58847.

        * WebView/WebHTMLView.mm:
        (setNeedsDisplayInRect): Null-check the frame.

2010-05-05  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7932072> Iframes in composited layers don’t repaint correctly (affects Yahoo! Mail with Flash Player 10.1)
        https://bugs.webkit.org/show_bug.cgi?id=38427

        * WebView/WebClipView.m: Renamed to WebClipView.mm.
        * WebView/WebClipView.mm:
        (-[WebClipView visibleRect]): Added this override, which for instances used for WebFrameViews in
        composited layers, returns the clip view’s entire bounds. This prevents drawing from being clipped to
        AppKit’s idea of what part of the view would be visible if it was drawn as part of the view hierarchy.
        Since it is drawn into a compositing layer, that’s irrelevant, and we should not be clipping.
        * WebView/WebHTMLView.mm:
        (setCursor): Style tweak.
        (setNeedsDisplayInRect): Added. Replaces the default implementation of -[NSView setNeedsDisplayInRect:],
        so that if the receiver is a descendant of a WebFrameView that draws into a composited layer, the invalidation
        is routed back through the WebCore FrameView, which propagates it to the layer.
        (+[WebHTMLViewPrivate initialize]): Swizzle the setNeedsDisplayInRect: override in.
        (-[WebHTMLView visibleRect]): Removed whitespace.
        * WebView/WebView.mm:
        (layerSyncRunLoopObserverCallBack): If we bailed out on syncing, due to pending layout, do an eager layout
        in preparation for the displaying of compositing layers.

2010-05-05  John Sullivan  <sullivan@apple.com>

        <rdar://problem/7942606> Output appears in Console when exiting Safari with multiple windows opened

        Reviewed by Mark Rowe.

        * WebView/WebView.mm:
        (+[WebView closeAllWebViews]):
        Make copy of allWebViewsSet to avoid mutating it while iterating through it.

2010-05-04  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Improve check for drawing into the window that was added in r58623
        https://bugs.webkit.org/show_bug.cgi?id=38562
        
        Rather than assuming that any non-bitmap context is the window's context,
        compare the current graphics context with -[NSWindow graphicsContext] to
        determine that we're drawing into the window.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView drawRect:]):

2010-05-04  Ada Chan  <adachan@apple.com>

        Reviewed by David Kilzer.

        https://bugs.webkit.org/show_bug.cgi?id=38555
        
        Small code refactoring: move the logic to figure out the path to the 
        databases directory to another method.

        * Storage/WebDatabaseManager.mm:
        (databasesDirectoryPath):
        (WebKitInitializeDatabasesIfNecessary):

2010-05-04  Beth Dakin  <bdakin@apple.com>

        Reviewed by Mike Thole.

        Fix for <rdar://problem/7818509> Crash occurs when exiting Safari

        We can avoid this crash if we call [self _removeFromAllWebViewsSet] 
        even in the case when we are doing a fastDocumentTeardown. This is 
        a much safer approach.
        * WebView/WebView.mm:
        (-[WebView _close]):

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

        Reviewed by Adam Barth.

        Add support for controlling clipboard access from javascript.
        Clipboard access from javascript is disabled by default.
        https://bugs.webkit.org/show_bug.cgi?id=27751

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences javaScriptCanAccessClipboard]):
        (-[WebPreferences setJavaScriptCanAccessClipboard:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):

2010-05-03  Jens Alfke  <snej@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
        https://bugs.webkit.org/show_bug.cgi?id=38397

        No tests (functionality is exposed only through native WebKit API.)

        * WebCoreSupport/WebFrameLoaderClient.h:
        (WebFrameLoaderClient::dispatchWillSendSubmitEvent):

2010-04-30  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/7477071> REGRESSION: Bad flicker when wheel-scrolling Google Maps, iPad gallery and other sites

        Sites that frequently toggle content in and out of compositing layers (like http://www.tumblr.com/boothed)
        can cause flickering because of unsychronized compositing layer and view-based updates. There were two
        underlying issues:
        
        1. On SnowLeopard, AppKit can throttle window updates, thus breaking an assumption that
           NSView drawing will happen on the runloop cycle after a repaint. This provided a window
           for the layerSyncRunLoopObserver to fire and commit layer changes too early.
           
           Fix this by having the layerSyncRunLoopObserver in WebView check to see if a display is pending,
           and not commit layer changes in that case. We'll commit layer changes later when we
           finally draw.
           
        2. The change in r49269 was wrong; it was attempting to fix an issue that was actually caused
           by -drawRects: coming in for page snapshots. The correct approach is to avoid hitting the
           synchronization and update disabling code in WebHTMLView for draws that are not to the screen.
        
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView drawRect:]):
        * WebView/WebView.mm:
        (layerSyncRunLoopObserverCallBack):
        (-[WebView _scheduleCompositingLayerSync]):

2010-04-30  Anders Carlsson  <andersca@apple.com>

        Part of the previous part (forgot to save).

        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView stopTimers]):
        (-[WebNetscapePluginView startTimers]):
        (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]):
        (-[WebNetscapePluginView _containerCheckResult:contextInfo:]):
        (-[WebNetscapePluginView cancelCheckIfAllowedToLoadURL:]):
        (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
        (-[WebNetscapePluginView unscheduleTimer:]):
        (-[WebNetscapePluginView getVariable:forURL:value:length:]):
        (-[WebNetscapePluginView setVariable:forURL:value:length:]):

2010-04-30  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Use C99 integer types in more places.

        * Plugins/WebNetscapePluginView.mm:
        (getNPRect):

2010-04-30  Anders Carlsson  <andersca@apple.com>

        Fix Tiger build.

        * Plugins/WebBaseNetscapePluginStream.h:
        * Plugins/WebBaseNetscapePluginStream.mm:
        (WebNetscapePluginStream::startStream):

2010-04-30  Anders Carlsson  <andersca@apple.com>

        Another 32-bit build fix.

        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):

2010-04-30  Anders Carlsson  <andersca@apple.com>

        Fix 32-bit build (again).

        * Plugins/WebNetscapeContainerCheckContextInfo.h:
        * Plugins/WebNetscapeContainerCheckContextInfo.mm:
        (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]):
        (-[WebNetscapeContainerCheckContextInfo checkRequestID]):
        (-[WebNetscapeContainerCheckContextInfo callback]):
        * Plugins/WebNetscapePluginPackage.h:

2010-04-30  Anders Carlsson  <andersca@apple.com>

        Fix 32-bit build.

        * Plugins/WebNetscapeContainerCheckContextInfo.h:
        * Plugins/WebNetscapeContainerCheckContextInfo.mm:
        (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]):
        * Plugins/WebNetscapeContainerCheckPrivate.h:
        * Plugins/WebNetscapePluginPackage.mm:
        (functionPointerForTVector):
        * Plugins/WebNetscapePluginView.mm:
        (PluginTimer::PluginTimer):
        (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]):
        (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):

2010-04-30  Anders Carlsson  <andersca@apple.com>

        Reviewed by Timothy Hatcher.

        Next step towards fixing
        
        https://bugs.webkit.org/show_bug.cgi?id=20784
        move npapi.h to C99 integer types

        Use the C99 types everywhere. The "old" types are still around but will be removed
        in a subsequent commit.

        * Plugins/WebBaseNetscapePluginStream.h:
        * Plugins/WebBaseNetscapePluginStream.mm:
        (WebNetscapePluginStream::deliverData):
        * Plugins/WebNetscapePluginView.h:
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
        (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
        * Plugins/npapi.mm:
        (NPN_MemAlloc):
        (NPN_MemFlush):
        (NPN_PostURLNotify):
        (NPN_PostURL):
        (NPN_Write):
        (NPN_ScheduleTimer):
        (NPN_UnscheduleTimer):
        (NPN_GetValueForURL):
        (NPN_SetValueForURL):
        (NPN_GetAuthenticationInfo):
        (WKN_CheckIfAllowedToLoadURL):
        (WKN_CancelCheckIfAllowedToLoadURL):

2010-04-29  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        First part of
        https://bugs.webkit.org/show_bug.cgi?id=20784
        move npapi.h to C99 integer types.

        * MigrateHeaders.make:

2010-04-28  Mike Thole  <mthole@apple.com>

        Reviewed by David Kilzer.

        Add canAuthenticateAgainstProtectionSpace() to frame loader so that a protection space 
        can be inspected before attempting to authenticate against it
        https://bugs.webkit.org/show_bug.cgi?id=38271

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
        Added.  If the resource load delegate implements the callback, use its answer.  If it does
        not, then only send authentication challenges for pre-10.6 protection spaces, which matches
        CFNetwork's default behavior.
        * WebView/WebDelegateImplementationCaching.h:
        * WebView/WebDelegateImplementationCaching.mm:
        (CallResourceLoadDelegateReturningBoolean): Added case for passing three objects.
        * WebView/WebResourceLoadDelegatePrivate.h:
        Added private SPI definition: webView:resource:canAuthenticateAgainstProtectionSpace:forDataSource:
        * WebView/WebView.mm:
        (-[WebView _cacheResourceLoadDelegateImplementations]):

2010-04-28  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/7918719> ASSERT(isMainThread()) from Font::setShouldUseSmoothing()
        
        Ensure that the WebView +initialize method initializes threading, so that things are correctly
        initialized when the first call into the WebKit framework is via a WebView class method.

        * WebView/WebView.mm:
        (+[WebView initialize]):

2010-04-28  Darin Adler  <darin@apple.com>

        Reviewed by Adele Peterson.

        REGRESSION: Autoscroll does not work in Mail messages
        https://bugs.webkit.org/show_bug.cgi?id=38267
        rdar://problem/7559799

        The machinery to make autoscrolling work on Mac OS X when a WebView is embedded in another
        view had gotten broken in multiple ways. For some reason, a combination of bugs made it
        partly work until around r48064. This brings it back.

        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::scrollRectIntoView): When converting coordinates, use the document view
        rather than the WebView itself. This logic may not be correct for the case where
        usesDocumentViews is NO, but that is currently an experimental mode and can be fixed later.

2010-04-27  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler and Eric Seidel.

        Add layoutTestController.setPrinting()
        https://bugs.webkit.org/show_bug.cgi?id=37203

        * Misc/WebCoreStatistics.h:
        * Misc/WebCoreStatistics.mm:
        (-[WebFrame renderTreeAsExternalRepresentationForPrinting:]):

2010-04-25  Sam Weinig  <sam@webkit.org>

        Reviewed by Maciej Stachowiak.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
        Disentangle initializing the main thread from initializing threading

        Calls initializeMainThreadToProcessMainThread since there is no way to ensure
        that the initialize method will be called on the main thread.

        * Carbon/CarbonWindowAdapter.mm:
        (+[CarbonWindowAdapter initialize]): Add call to initializeMainThreadToProcessMainThread.
        * History/WebBackForwardList.mm:
        (+[WebBackForwardList initialize]): Ditto.
        * History/WebHistoryItem.mm:
        (+[WebHistoryItem initialize]): Ditto.
        * Misc/WebElementDictionary.mm:
        (+[WebElementDictionary initialize]): Ditto.
        * Misc/WebIconDatabase.mm:
        (+[WebIconDatabase initialize]): Ditto.
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (+[WebHostedNetscapePluginView initialize]): Ditto.
        * Plugins/WebBaseNetscapePluginView.mm:
        (+[WebBaseNetscapePluginView initialize]): Ditto.
        * Plugins/WebBasePluginPackage.mm:
        (+[WebBasePluginPackage initialize]): Ditto.
        * Plugins/WebNetscapePluginView.mm:
        (+[WebNetscapePluginView initialize]): Ditto.
        * WebCoreSupport/WebEditorClient.mm:
        (+[WebEditCommand initialize]): Ditto.
        * WebCoreSupport/WebFrameLoaderClient.mm: 
        (+[WebFramePolicyListener initialize]): Ditto.
        * WebView/WebArchive.mm:
        (+[WebArchivePrivate initialize]): Ditto.
        * WebView/WebDataSource.mm:
        (+[WebDataSourcePrivate initialize]): Ditto.
        * WebView/WebHTMLView.mm:
        (+[WebHTMLViewPrivate initialize]): Ditto.
        (+[WebHTMLView initialize]): Ditto.
        * WebView/WebResource.mm:
        (+[WebResourcePrivate initialize]): Ditto.
        * WebView/WebTextIterator.mm:
        (+[WebTextIteratorPrivate initialize]): Ditto.
        * WebView/WebView.mm:
        * WebView/WebViewData.mm: Ditto.
        (+[WebViewPrivate initialize]): Ditto.

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

        Reviewed by Darin Adler.

        <rdar://problem/7903728> REGRESSION (r51617): WebView fails to load plug-in MIME types
        https://bugs.webkit.org/show_bug.cgi?id=38085

        WebView was calling -_webView in a few places where it should have just used itself. It never
        makes sense for WebView to call -_webView on itself, and these calls look like they were copied
        from similar code in WebHTMLView, WebFrameView and WebDataSource, where -_webView has a different,
        useful meaning.

        * WebView/WebView.mm:
        (-[WebView drawSingleRect:]): Replaced [self _webView] with self.
        (-[WebView _viewClass:andRepresentationClass:forMIMEType:]): Replaced [[self _webView] preferences]
        with _private->preferences.
        (-[WebView _canShowMIMEType:]): Ditto.

2010-04-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/7894489> When printing Flash, send a drawRect event, rather than NPPrint
        
        When printing Flash plug-ins in 32-bit, send a drawRect event with a CGContextRef, rather than calling
        NPPrint with a GWorldPtr, since Flash prefers the CGContext path.

        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView drawRect:]):

2010-04-22  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/38029> +[WebTextIteratorPrivate initialize] is missing call to JSC::initializeThreading()

        Reviewed by Timothy Hatcher.

        Every other Objective-C class that calls
        WebCoreObjCFinalizeOnMainThread(self) in +initialize also calls
        JSC::initializeThreading().  The WebTextIteratorPrivate class
        was the only one missing this call.

        * WebView/WebTextIterator.mm:
        (+[WebTextIteratorPrivate initialize]): Added call to
        JSC::initializeThreading().

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

        Rubber-stamped by Mark Rowe.

        <rdar://problem/7805969> REGRESSION: iTunes unable to play trailers

        Undo the changes made for https://bugs.webkit.org/show_bug.cgi?id=35215 (<rdar://problem/7673157>)
        for now. Clients rely on the old behavior, so a fix that changes it will need to account for
        those.

        * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): Pass pluginURL
        instead of baseURL again.

2010-04-22  Dave Moore  <davemoore@chromium.org>

        Reviewed by Dimitri Glazkov.

        Added notification when the favicons for a page are changed
        from a script.
        The Document object will notify the frame loader, which will
        notify the client. Implementations of FrameLoaderClient will
        have to add one method; dispatchDidChangeIcons().

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

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::dispatchDidChangeIcons):

2010-04-22  Adam Barth  <abarth@webkit.org>

        Unreviewed, rolling out r58069.
        http://trac.webkit.org/changeset/58069
        https://bugs.webkit.org/show_bug.cgi?id=27751

        Broke compile on Windows.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):

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

        Reviewed by Adam Barth.

        Add support for controlling clipboard access from javascript.
        Clipboard access from javascript is disabled by default.
        https://bugs.webkit.org/show_bug.cgi?id=27751

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences javaScriptCanAccessClipboard]):
        (-[WebPreferences setJavaScriptCanAccessClipboard:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):

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

        Reviewed by Shinichiro Hamaji.

        https://bugs.webkit.org/show_bug.cgi?id=37964
        Fix a typo in comments - Korean encoding name is windows-949, not windows-939

        * WebView/WebPreferences.mm: (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]):

2010-04-21  Mark Rowe  <mrowe@apple.com>

        Tiger build fix.

        * Plugins/WebPluginController.mm: Add an #import that is necessary on Tiger.

2010-04-21  Mark Rowe  <mrowe@apple.com>

        Reviewed by Eric Carlson.

        <rdar://problem/7313430> Many crashes in Safari inside Flip4Mac below -[NSAlert didEndAlert:returnCode:contextInfo:]

        Existing versions of the Flip4Mac WebKit plug-in have an object lifetime bug related to an NSAlert that is
        used to notify the user about updates to the plug-in. This bug can result in Safari crashing if the page
        containing the plug-in navigates while the alert is displayed (<rdar://problem/7313430>).

        The gist of the bug is thus: Flip4Mac sets an instance of the TSUpdateCheck class as the modal delegate of the
        NSAlert instance. This TSUpdateCheck instance itself has a delegate. The delegate is set to the WmvPlugin
        instance which is the NSView subclass that is exposed to WebKit as the plug-in view. Since this relationship
        is that of delegates the TSUpdateCheck does not retain the WmvPlugin. This leads to a bug if the WmvPlugin
        instance is destroyed before the TSUpdateCheck instance as the TSUpdateCheck instance will be left with a
        pointer to a stale object. This will happen if a page containing the Flip4Mac plug-in triggers a navigation
        while the update sheet is visible as the WmvPlugin instance is removed from the view hierarchy and there are
        no other references to keep the object alive.

        We work around this bug by patching the following two messages:

        1) -[NSAlert beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo:]
        2) -[TSUpdateCheck alertDidEnd:returnCode:contextInfo:]

        Our override of 1) detects whether it is Flip4Mac's update sheet triggering the alert by checking whether the
        modal delegate is an instance of TSUpdateCheck. If it is, it retains the modal delegate's delegate.

        Our override of 2) then autoreleases the delegate, balancing the retain we added in 1).

        These two overrides have the effect of ensuring that the WmvPlugin instance will always outlive the TSUpdateCheck
        instance, preventing the TSUpdateCheck instance from accessing a stale delegate pointer and crashing the application.

        * Plugins/WebPluginController.mm:
        (-[WebPluginController addPlugin:]): Check whether the plug-in being instantiated is the Flip4Mac plug-in and
        install our workaround if it is.
        (isKindOfClass): Helper function that checks whether the given object is an instance of the named class.
        (WebKit_TSUpdateCheck_alertDidEnd_returnCode_contextInfo_): Autorelease the delegate.
        (WebKit_NSAlert_beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo_): Retain the modal delegate's
        delegate if this NSAlert belongs to the Flip4Mac plug-in.
        (installFlip4MacPlugInWorkaroundIfNecessary): Swizzle the necessary methods.  We swizzle the TSUpdateCheck methods
        first since it is possible that in some versions of Flip4Mac the TSUpdateCheck class may not exist or may not have
        the method we're interested in.  In that case we want to bail out before patching any methods.

2010-04-20  Mark Rowe  <mrowe@apple.com>

        Reviewed by Maciej Stachowiak.

        <rdar://problem/7856151> REGRESSION: NPP_Destroy is not called when page navigates when plug-in is displaying modal dialog

        An interaction between the plug-in host and WebKit was resulting in WKPCSetModal being called while
        NetscapePluginInstanceProxy was waiting on a reply to the GetScriptableNPObject message. This resulted
        in calls to stop the plug-in being deferred due to the presence of plug-in code up the stack.  This
        could lead to crashes as it was possible for the plug-in view to be deallocated during the modal runloop.

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WKPCInvalidateRect):
        (WKPCSetModal): Defer the handling of setModal until the next runloop iteration if the host proxy
        is already processing requests.  This ensures that there will be no plug-in code on the stack when
        the modal runloop is entered, which allows the plug-in to be stopped when the page is navigated while
        a modal dialog is displayed.

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

        Reviewed by Eric Seidel.

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

        Update these callsites because the method moved to DocumentWriter.

        * WebView/WebFrame.mm:
        (-[WebFrame _canProvideDocumentSource]):
        (-[WebFrame _receivedData:textEncodingName:]):

2010-04-20  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Change a parameter type of chooseIconForFiles()
        https://bugs.webkit.org/show_bug.cgi?id=37504

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::chooseIconForFiles):

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

        Unreviewed, rolling out r57892.
        http://trac.webkit.org/changeset/57892
        https://bugs.webkit.org/show_bug.cgi?id=37864

        Caused an assertion in Mac builds (Requested by smfr on
        #webkit).

        * WebView/WebFrame.mm:
        (-[WebFrame _getVisibleRect:]):
        * WebView/WebFrameView.mm:
        (-[WebFrameView _install]):

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

        Reviewed by Dan Bernstein.

        Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
        https://bugs.webkit.org/show_bug.cgi?id=37741
        
        Make Frame::ownerRenderer() return a RenderFrameBase* rather than a
        RenderPart*, and add the necessary toRenderFrameBase() and isRenderFrameBase().

        * WebView/WebFrame.mm:
        (-[WebFrame _getVisibleRect:]):
        * WebView/WebFrameView.mm:
        (-[WebFrameView _install]):

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

        Reviewed by Sam Weinig.

        Finish exposing extremal shrink factors WebHTMLView uses when shrinking pages to fit in the
        printing width as SPI.

        * WebKit.exp: Export _WebHTMLViewPrintingMinimumShrinkFactor and _WebHTMLViewPrintingMaximumShrinkFactor.

2010-04-15  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig & Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=37675
        Remove casts/constructors to/from JSC::UString type from WebCore::String
        
        WebCore's strings should not know about JSC::UString, this should be abstracted
        away in the bindings.  Add explicit conversion methods rather than relying on
        overloaded cast operators / constructors being implicitly called.

        This patch only changes the class String, once this has landed StringImpl, and
        hopefully AtomicString too, should follow suit.

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (identifierFromIdentifierRep):
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::addValueToArray):
        (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
        * Plugins/Hosted/ProxyInstance.mm:
        (WebKit::ProxyInstance::getPropertyNames):
        * WebView/WebFrame.mm:
        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
        (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
        * WebView/WebScriptDebugDelegate.mm:
        (-[WebScriptCallFrame evaluateWebScript:]):
        * WebView/WebScriptDebugger.mm:
        (toNSURL):
        * WebView/WebView.mm:
        (aeDescFromJSValue):

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

        Reviewed by John Sullivan.

        Expose the extremal shrink factors WebHTMLView uses when shrinking pages to fit in the
        printing width as SPI.

        * WebView/WebHTMLView.mm:
        Replaced two macros with constants.
        (-[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:]): Changed to use the constants.
        (-[WebHTMLView _scaleFactorForPrintOperation:]): Ditto.
        * WebView/WebHTMLViewPrivate.h: Declared _WebHTMLViewPrintingMinimumShrinkFactor and
        _WebHTMLViewPrintingMaximumShrinkFactor.

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

        Reviewed by Sam Weinig.

        <rdar://problem/7870651> WebDynamicScrollBarsView.h generates compile errors when included in plain Objective-C files.

        * WebView/WebDynamicScrollBarsView.h:

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

        Export WebUserContentURLPattern from WebKit

        Rubber-stamped by Mark Rowe.

        * WebKit.exp:

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

        Reviewed by Simon Fraser.

        Made consecutive calls to -[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:] work
        without intermediate calls -[WebHTMLView _endPrintMode].

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):

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

        Expose UserContentURLPattern as WebKit SPI

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

        Reviewed by Tim Hatcher.

        * Misc/WebUserContentURLPattern.h: Added.

        * Misc/WebUserContentURLPattern.mm: Added.
        (-[WebUserContentURLPattern initWithPatternString:]): Initialize
        _private and then parse the passed-in string into a
        UserContentURLPattern.
        (-[WebUserContentURLPattern dealloc]): Release _private.

        (-[WebUserContentURLPattern isValid]):
        (-[WebUserContentURLPattern scheme]):
        (-[WebUserContentURLPattern host]):
        (-[WebUserContentURLPattern matchesSubdomains]):
        Call through to UserContentURLPattern.

2010-04-13  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Separated a DOMWrapperWorld's behavior of keeping wrappers alive from
        its own lifetime, so a DOMWrapperWorld's controller can throw away
        its wrappers even before its refcount reaches 0.

        * WebView/WebScriptWorld.h:
        * WebView/WebScriptWorld.mm:
        (-[WebScriptWorld unregisterWorld]): Exported this function through WebKit.

2010-04-12  Timothy Hatcher  <timothy@apple.com>

        SecurityOrigin needs a way to remove individual OriginAccessEntries
        https://bugs.webkit.org/show_bug.cgi?id=37449

        Reviewed by Dave Hyatt.

        * WebView/WebView.mm:
        (+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
        Call SecurityOrigin::removeOriginAccessWhitelistEntry.
        * WebView/WebViewPrivate.h: Added _removeOriginAccessWhitelistEntryWithSourceOrigin.

2010-04-13  Timothy Hatcher  <timothy@apple.com>

        Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
        And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists.

        SecurityOrigin needs a way to remove individual OriginAccessEntries
        https://bugs.webkit.org/show_bug.cgi?id=37449

        Reviewed by Dave Hyatt.

        * WebView/WebView.mm:
        (+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
        (+[WebView _resetOriginAccessWhitelists]):
        * WebView/WebViewPrivate.h:

2010-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r57468.
        http://trac.webkit.org/changeset/57468
        https://bugs.webkit.org/show_bug.cgi?id=37433

        Broke the world...  Must have applied the patch wrong
        (Requested by abarth on #webkit).

        * WebView/WebFrame.mm:
        (-[WebFrame _canProvideDocumentSource]):
        (-[WebFrame _receivedData:textEncodingName:]):

2010-04-11  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

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

        Update these callsites because the method moved to DocumentWriter.

        * WebView/WebFrame.mm:
        (-[WebFrame _canProvideDocumentSource]):
        (-[WebFrame _receivedData:textEncodingName:]):

2010-04-10  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/7845305> Further adoption of formal protocols for delegates.

        Move EmptyProtocolDefinitions.h down in to WebCore, and add the new protocols. Adopt the protocols in the appropriate places.

        * Misc/EmptyProtocolDefinitions.h: Removed.
        * Misc/WebDownload.mm:
        * WebKitPrefix.h:

2010-04-09  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Work around QTMovieView bug (<rdar://problem/7712713>) by using a QTMovieLayer instead.
        https://bugs.webkit.org/show_bug.cgi?id=37311 / <rdar://problem/7749993>

        * WebView/WebVideoFullscreenController.mm:
        (-[WebVideoFullscreenController windowDidLoad]):
        (-[WebVideoFullscreenController setMediaElement:WebCore::]):

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

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=24572
        XMLHttpRequest.statusText returns always "OK" on Mac

        * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):

2010-04-09  Eric Seidel  <eric@webkit.org>

        Unreviewed, rolling out r57343.
        http://trac.webkit.org/changeset/57343
        https://bugs.webkit.org/show_bug.cgi?id=37311

        Broke Tiger compile.

        * WebView/WebVideoFullscreenController.mm:
        (-[WebVideoFullscreenController windowDidLoad]):
        (-[WebVideoFullscreenController setMediaElement:WebCore::]):

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

        Reviewed by Darin Adler.

        <rdar://problem/7846015> REGRESSION (r57332) - Crash in [WebDynamicScrollBarsView(WebInternal) reflectScrolledClipView:] when opening the Downloads window

        * WebView/WebDynamicScrollBarsView.mm:
        (-[WebDynamicScrollBarsView initWithCoder:]): Added. Calls super and then initializes _private.

2010-04-09  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Work around QTMovieView bug (<rdar://problem/7712713>) by using a QTMovieLayer instead.
        https://bugs.webkit.org/show_bug.cgi?id=37311 / <rdar://problem/7749993>

        * WebView/WebVideoFullscreenController.mm:
        (-[WebVideoFullscreenController windowDidLoad]):
        (-[WebVideoFullscreenController setMediaElement:WebCore::]):

2010-04-08  Mark Rowe  <mrowe@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/7814899> REGRESSION(r56008): iTunes crashes on quit inside -[NSScrollView dealloc]

        In r56008 new instance variables were added to WebDynamicScrollBarsView, increasing its size.
        This causes problems for 32-bit applications that derive from WebDynamicScrollBarsView, as the
        size and layout of their subclasses is baked in at compile time.  This results in instances
        being allocated that are smaller than the new code expects, and may result in the new instance
        variables sharing the same memory space as any instance variables that the subclass defines.

        We can avoid this problem by having the class contain only a single member that acts as a pointer
        to a heap-allocated structure that acts as storage for the real instance variables.  This makes
        us free to add instance variables in the future without risk of changing the size of the class.
        To ensure that 32-bit applications that are built against this new WebDynamicScrollBarsView header
        are able to run against older versions of WebKit we pad the class out to its previous size.  This
        results in any subclasses of WebDynamicScrollBarsView being created with a layout that is compatible
        with both versions of the code.

        This change could potentially break a subclass of WebDynamicScrollBarsView that directly accesses
        instance variables of its superclass.  However, this is a private header and no known subclasses
        of WebDynamicScrollBarsView access superclass instance variables in this fashion.

        * WebView/WebDynamicScrollBarsView.h:
        * WebView/WebDynamicScrollBarsView.mm:
        (-[WebDynamicScrollBarsView initWithFrame:]):
        (-[WebDynamicScrollBarsView dealloc]):
        (-[WebDynamicScrollBarsView finalize]):
        (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
        (-[WebDynamicScrollBarsView setAllowsScrollersToOverlapContent:]):
        (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]):
        (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]):
        (-[WebDynamicScrollBarsView horizontalScrollingAllowed]):
        (-[WebDynamicScrollBarsView verticalScrollingAllowed]):
        (-[WebDynamicScrollBarsView contentViewFrame]):
        (-[WebDynamicScrollBarsView tile]):
        (-[WebDynamicScrollBarsView setSuppressLayout:]):
        (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]):
        (-[WebDynamicScrollBarsView updateScrollers]):
        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
        (-[WebDynamicScrollBarsView allowsHorizontalScrolling]):
        (-[WebDynamicScrollBarsView allowsVerticalScrolling]):
        (-[WebDynamicScrollBarsView scrollingModes:WebCore::vertical:WebCore::]):
        (-[WebDynamicScrollBarsView horizontalScrollingMode]):
        (-[WebDynamicScrollBarsView verticalScrollingMode]):
        (-[WebDynamicScrollBarsView setScrollingModes:vertical:andLock:]):
        (-[WebDynamicScrollBarsView setHorizontalScrollingModeLocked:]):
        (-[WebDynamicScrollBarsView setVerticalScrollingModeLocked:]):
        (-[WebDynamicScrollBarsView setScrollingModesLocked:]):
        (-[WebDynamicScrollBarsView horizontalScrollingModeLocked]):
        (-[WebDynamicScrollBarsView verticalScrollingModeLocked]):
        (-[WebDynamicScrollBarsView scrollWheel:]):

2010-04-07  David Hyatt  <hyatt@apple.com>

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=24300, don't expose history info via CSS

        Add SPI so that layout tests can access computed style including :visited information.

        * WebView/WebRenderNode.mm:
        (copyRenderNode):
        * WebView/WebView.mm:
        (-[WebView _computedStyleIncludingVisitedInfo:forElement:]):
        * WebView/WebViewInternal.h:
        * WebView/WebViewPrivate.h:

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

        Reviewed by Adele Peterson.

        Refactor WebHTMLView printing code and add private methods to enter and exit printing mode.
        https://bugs.webkit.org/show_bug.cgi?id=37246

        * Misc/WebNSPrintOperationExtras.h: Declared -_web_availablePaperWidth and -_web_availablePaperHeight.
        * Misc/WebNSPrintOperationExtras.m:
        (-[NSPrintOperation _web_availablePaperWidth]): Turned -[WebHTMLView _availablePaperWidthForPrintOperation:]
        into this method.
        (-[NSPrintOperation _web_availablePaperHeight]): Turned -[WebHTMLView _calculatePrintHeight] into this
        method.
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _isInPrintMode]): Added this accessor.
        (-[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:]): Added. Moved the code from -knowsPageRange: that
        computes the layout widths and enters printing mode into this private method.
        (-[WebHTMLView _endPrintMode]): New private method (the old -_endPrintMode has been renamed).
        (-[WebHTMLView _scaleFactorForPrintOperation:]): Use -[NSPrintOperation _web_availablePaperWidth].
        (-[WebHTMLView _endPrintModeAndRestoreWindowAutodisplay]): Renamed -_endPrintMode to this, changed it to call
        _endPrintMode.
        (-[WebHTMLView _delayedEndPrintMode:]): Updated for rename.
        (-[WebHTMLView knowsPageRange:]): Use -_beginPrintModeWithPageWidth:shrintToFit:,
        -[NSPrintOperation _web_availablePaperWidth], and -[NSPrintOperation _web_availablePaperHeight]. Updated for
        rename.
        (-[WebHTMLView beginDocument]): Updated for rename.
        (-[WebHTMLView endDocument]): Ditto.
        * WebView/WebHTMLViewPrivate.h: Declared new private methods -_isInPrintMode,
        -_beginPrintModeWithPageWidth:shrinkToFit: and -_endPrintMode.

2010-04-07  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Removed redundant FrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest()
        https://bugs.webkit.org/show_bug.cgi?id=36949

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:

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

        Tiger build fix after r57184.

        * WebView/WebHTMLViewPrivate.h:

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

        Tiger build fix after r57184.

        * WebView/WebHTMLViewPrivate.h:

2010-04-06  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        Speculative build fix for Tiger.

        * WebView/WebHTMLViewPrivate.h:

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

        Reviewed by Sam Weinig and Anders Carlsson.

        Expose WebHTMLView’s page breaking logic as SPI.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]): Factored out of -adjustPageHeightNew:top:bottom:limit:
        (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Call -_adjustedBottomOfPageWithTop:bottom:limit:
        * WebView/WebHTMLViewPrivate.h: Declared -_adjustedBottomOfPageWithTop:bottom:limit:

2010-04-06  Mark Rowe  <mrowe@apple.com>

        Add an #if in order to make Tiger happy.

        * WebView/WebViewData.mm:
        (-[WebViewPrivate init]):

2010-04-06  Mark Rowe  <mrowe@apple.com>

        Build fix.

        * WebView/WebViewData.mm:
        (-[WebViewPrivate init]): Use objc_collectingEnabled like we do elsewhere in WebKit.

2010-04-05  Mark Rowe  <mrowe@apple.com>

        Reviewed by Adele Peterson.

        Test case for <http://webkit.org/b/37115> / <rdar://problem/7829331>.
        REGRESSION(r56989): Crash in Mail in WebCore::Position::isCandidate when deleting block using block deletion UI

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _updateFontPanel]): Ask the window whether it is the key window rather than doing the comparison
        manually.  This allows DumpRenderTree's override of isKeyWindow to force this code path to be taken during tests.

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=37111
        <rdar://problem/7790327> Draw replacement text when plug-in host crashes

        * Plugins/Hosted/WebHostedNetscapePluginView.h: Removed _pluginDied - it was only used
        for drawing replacement icon, and this information is now in WebCore.
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView pluginHostDied]): Tell RenderEmbeddedObject that the plug-in
        has crashed.
        (-[WebHostedNetscapePluginView drawRect:]): Removed the case for crashed plug-in host. It is
        handled by WebCore now.

        * WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory crashedPluginText]): Added a string
        for plug-in failure.        

2010-04-03  yael aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        Enable HTMLProgressElement for Safari on OSX
        https://bugs.webkit.org/show_bug.cgi?id=36961

        * Configurations/FeatureDefines.xcconfig:

2010-04-02  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        https://bugs.webkit.org/show_bug.cgi?id=36624
        Add an INIT macro for the WebKitSystemInterface function wkQTMovieSelectPreferredAlternates.

        * WebCoreSupport/WebSystemInterface.m:
        (InitWebCoreSystemInterface):

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=37043
        Java regression tests spam stderr about being unable to set status message

        With this change, there is still spam about "Attempt to access JavaScript from destroyed
        applet, type 9." I haven't investigated if that indicates a problem or not.

        * Plugins/WebPluginController.mm: (-[WebPluginController webPlugInContainerShowStatus:]):
        Removed check for _documentView. We don't seem to care.

2010-04-01  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Dmitry Titov.

        Add FileThread for async file operation support in FileReader and FileWriter
        https://bugs.webkit.org/show_bug.cgi?id=36896

        Add FILE_READER or FILE_WRITER feature defines.

        * Configurations/FeatureDefines.xcconfig:

2010-04-01  Ada Chan  <adachan@apple.com>

        Reviewed by Darin Adler.

        Change WebDatabaseManager::deleteOrigin() to return true if there are no errors in deleting the origin.
        Ditto for WebDatabaseManager::deleteDatabase().
        
        https://bugs.webkit.org/show_bug.cgi?id=36988

        * Storage/WebDatabaseManager.mm:
        (-[WebDatabaseManager deleteOrigin:]):
        (-[WebDatabaseManager deleteDatabase:withOrigin:]):
        * Storage/WebDatabaseManagerPrivate.h:

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=36976
        <rdar://problem/7817498>
        REGRESSION(r54783): Silverlight plug-in causes Safari to crash if JavaScript is disabled

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get): The HashTable assertions aren't
        there to catch potential future attempts to store empty/deleted values before these happen -
        it's actually wrong to try to look up these values. Added an early return.
        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Ditto.

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

        Reviewed by Simon Fraser.

        Added layerTreeAsText function to DRT (for Mac)
        https://bugs.webkit.org/show_bug.cgi?id=36782

        This is the WebKit side for Mac. It plumbs the
        call from WebCore to DRT.

        * WebView/WebFrame.mm:WebKit (Mac) side of plumbing
        (-[WebFrame _layerTreeAsText]):
        * WebView/WebFramePrivate.h:

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

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=36976
        <rdar://problem/7817498>
        REGRESSION(r54783): Silverlight plug-in causes Safari to crash if JavaScript is disabled

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get): Use find() instead of get(),
        because the latter fails with an assertion when looking up 0 or -1.
        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Be prepared for unexpected
        object IDs coming from plug-in host.

2010-03-31  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 36845 - AX: need a way to set the label of a AXWebArea through WebKit
        https://bugs.webkit.org/show_bug.cgi?id=36845

        Provide a way through WebKit to set an accessible label that describes the web area.    

        * WebView/WebFrame.mm:
        (-[WebFrame setAccessibleName:]):
        * WebView/WebFramePrivate.h:

2010-03-31  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Jeremy Orlow.

        Adds Geolocation param for cancelGeolocationPermissionRequestForFrame.
        https://bugs.webkit.org/show_bug.cgi?id=35031

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

2010-03-30  Gavin Barraclough  <barraclough@apple.com>

        Rubber stamped by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=36866
        Move CString to WTF

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::getCookies):
        (WebKit::NetscapePluginInstanceProxy::getProxy):
        (WebKit::NetscapePluginInstanceProxy::getAuthenticationInfo):
        (WebKit::NetscapePluginInstanceProxy::resolveURL):
        * Plugins/WebBaseNetscapePluginView.h:
        * Plugins/WebBaseNetscapePluginView.mm:
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView resolveURL:forTarget:]):

2010-03-30  John Sullivan  <sullivan@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=36848
        <rdar://problem/7362913>
        Menu items appropriate only for rich-content editing can appear in plain-text contexts

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView validRequestorForSendType:returnType:]):
        Don't return self for non-string content if _canEditRichly is false.

2010-03-29  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=36791
        Add assertions for instance proxy validity

        Add some assertions that the instance proxy hasn't been deleted. We sometimes keep a raw
        pointer to one across complicated function calls, relying on the caller to protect the
        reference.

        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        (WebKit::NetscapePluginInstanceProxy::renderContextID):
        (WebKit::NetscapePluginInstanceProxy::pluginView):
        (WebKit::NetscapePluginInstanceProxy::hostProxy):

2010-03-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by David Kilzer.

        Explicit guards for ENABLE_GEOLOCATION
        https://bugs.webkit.org/show_bug.cgi?id=25756

        * WebCoreSupport/WebGeolocationMock.mm:
        (-[WebGeolocationMock setError:code:]): Make the body conditional on 
        ENABLE(GEOLOCATION)
        (-[WebGeolocationMock setPosition:]): Ditto.

2010-03-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Antti Koivisto.

        Change method name due to it dealing with both flattening
        of frame sets and inner frames.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences isFrameFlatteningEnabled]):
        (-[WebPreferences setFrameFlatteningEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):

2010-03-27  Darin Adler  <darin@apple.com>

        * Misc/WebNSFileManagerExtras.m:
        (-[NSFileManager _webkit_pathWithUniqueFilenameForPath:]):
        Removed stray "!". How did that get in there?

2010-03-27  Darin Adler  <darin@apple.com>

        Reviewed by Mark Rowe.

        WebKit NSFileManager methods don't handle broken symlinks correctly.
        Part of <rdar://problem/7574046>.

        * Misc/WebNSFileManagerExtras.h: Removed unused defines and methods.
        * Misc/WebNSFileManagerExtras.m: Removed unused methods.
        (fileExists): Added. For use instead of fileExistsAtPath: for cases where we'd like
        to treat a broken symlink as a file that does indeed exist.
        (-[NSFileManager _webkit_pathWithUniqueFilenameForPath:]): Use fileExists.

2010-03-25  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Mark Rowe.

        * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCRunSyncOpenPanel): Re-fetch host proxy in
        a way that works in a function that doesn't have a pluginID argument for some reason.

2010-03-25  Simon Fraser  <simon.fraser@apple.com>

        Build fix: no review.
        
        Another c_str() -> data().
        
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::enumerate):

2010-03-25  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Mark Rowe.

        Correctness fix after r56493.

        * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCRunSyncOpenPanel): We still need to update
        our hostProxy reference, even though we didn't use to have instanceProxy. Nothing guarantees
        that the host proxy won't go away while the open panel is up.

2010-03-24  Mark Rowe  <mrowe@apple.com>

        Build fix after r56474.

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WKPCRunSyncOpenPanel):

2010-03-24  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=36563
        A plug-in makes Safari crash on http://www.itscodingtime.com/

        * Plugins/Hosted/NetscapePluginHostProxy.h:
        (WebKit::NetscapePluginHostProxy::port): Assert that the object is still alive. This isn't
        beautifully systemic, but helped catch a bug, and may help catch more.
        (WebKit::NetscapePluginHostProxy::clientPort): Ditto.
        (WebKit::NetscapePluginHostProxy::isProcessingRequests): Changed m_processingRequests to a
        static. This doesn't change behavior much, but helps avoid writing into deallocated memory.

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): Changed m_processingRequests
        to a static.
        (WebKit::NetscapePluginHostProxy::processRequests): Ditto. Changing m_processingRequests
        after destroying the object in pluginHostDied() was wrong, but reasonably harmless, as there
        wasn't much time for some other object to be allocated at this address.
        (WKPCEvaluate): Refetch host proxy, as it may have been destroyed.
        (WKPCInvoke): Ditto.
        (WKPCInvokeDefault): Ditto.
        (WKPCGetProperty): Ditto.
        (WKPCSetProperty): Ditto.
        (WKPCRemoveProperty): Ditto.
        (WKPCHasProperty): Ditto.
        (WKPCHasMethod): Ditto.
        (WKPCEnumerate): Ditto.
        (WKPCRunSyncOpenPanel): Ditto.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply): Bail out of the 
        "event loop" if host proxy went away while processing a request.

2010-03-24  Hayato Ito  <hayato@chromium.org>

        Reviewed by Shinichiro Hamaji.

        Refactor computePageRects so that Mac can make use of it.
        https://bugs.webkit.org/show_bug.cgi?id=36159

        Refactoring only, so no new tests.

        * WebView/WebFrame.mm:
        (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):

2010-03-24  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Make Icon::createIconForFiles() optional.
        https://bugs.webkit.org/show_bug.cgi?id=35072

        - Rename iconForFiles() to chooseIconForFiles().
        - Call Icon::createIconForFiles() from chooseIconForFiles().

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::chooseIconForFiles):

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

        Reverted accidental change from r56429.

        * WebCoreSupport/WebContextMenuClient.mm:
        (WebContextMenuClient::getCustomMenuFromDefaultItems):

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

        Reviewed by John Sullivan.

        WebKit part of
        <rdar://problem/7197736> Plug-in clip rect does not update when overflow
        clip changes
        https://bugs.webkit.org/show_bug.cgi?id=36479.

        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView visibleRectDidChange]): Added. Calls
        WKSyncSurfaceToView().
        * Plugins/WebBaseNetscapePluginView.h:
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView _windowClipRect]): Changed to use Widget::windowClipRect().
        (-[WebBaseNetscapePluginView visibleRectDidChange]): Added. Invokes -renewGState.

2010-03-22  Kevin Decker  <kdecker@apple.com>

        Reviewed by Simon Fraser.

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

        This patch entirely WebNullPluginView.
        
        * Plugins/WebNetscapePluginView.mm:
        * Plugins/WebNullPluginView.h: Removed.
        * Plugins/WebNullPluginView.mm: Removed.
        * Resources/nullplugin.tiff: Removed.
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::createPlugin): Invoke the resource load delegate if the plug-in failed to load.

2010-03-22  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by John Sullivan.

        https://bugs.webkit.org/show_bug.cgi?id=36455
        Make WebKit more resistant against plug-in crashes

        No tests, because crashing on build bots isn't good, even if it's only helper processes
        that crash.

        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        (WebKit::NetscapePluginInstanceProxy::waitForReply): Protect "this", because this function
        needs it after waiting for reply. Some callers used to do this, but not all, and we really
        shouldn't depend on callers here.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::wheelEvent): Don't protect the plug-in instance proxy,
        because this function doesn't use it after waiting for reply.
        (WebKit::NetscapePluginInstanceProxy::createBindingsInstance): Ditto.

        * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invoke): Added an m_instanceProxy
        null check for another code path.

2010-03-22  Kevin Decker  <kdecker@apple.com>

        Reviewed by John Sullivan.

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

        * WebCoreSupport/WebViewFactory.mm:
        (-[WebViewFactory missingPluginText]): Added.

2010-03-18  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=36337
        Log an error when an OOP plug-in sends an unknown object id

        Making these LOG_ERROR and not ASSERTs, because I don't want early returns to look
        temporary or redundant.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::evaluate):
        (WebKit::NetscapePluginInstanceProxy::invoke):
        (WebKit::NetscapePluginInstanceProxy::invokeDefault):
        (WebKit::NetscapePluginInstanceProxy::construct):
        (WebKit::NetscapePluginInstanceProxy::getProperty):
        (WebKit::NetscapePluginInstanceProxy::setProperty):
        (WebKit::NetscapePluginInstanceProxy::removeProperty):
        (WebKit::NetscapePluginInstanceProxy::hasProperty):
        (WebKit::NetscapePluginInstanceProxy::hasMethod):
        (WebKit::NetscapePluginInstanceProxy::enumerate):

2010-03-16  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=36184
        YouTube video resizing doesn't work with OOP plug-ins

        Test: plugins/resize-from-plugin.html

        We were calling _WKPHResizePluginInstance synchronously or asynchronously, depending on
        whether the size has changed. But sync and async messages are not necessarily delivered in
        order - plug-in host listens only to the former while waiting for a response to a message it
        sent (a call to invoke() in this case).

        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::resize):
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView updateAndSetWindow]):

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

        Reviewed by Pavel Feldman.

        Introduce InspectorFrontendClient that provides InspectorFrontend with an interface to the embedder. InspectorClient now serves as a delegate for InspectorController and does not contain methods for managing inspector frontend window. That allows to create remote InspectorFrontendHost.

        Introduce InspectorFrontendClient that would provide InspectorFrontend with an interface to the embedder
        https://bugs.webkit.org/show_bug.cgi?id=35036

        * WebCoreSupport/WebInspectorClient.h:
        * WebCoreSupport/WebInspectorClient.mm:
        (WebInspectorClient::WebInspectorClient):
        (WebInspectorClient::inspectorDestroyed):
        (WebInspectorClient::openInspectorFrontend):
        (WebInspectorClient::highlight):
        (WebInspectorClient::hideHighlight):
        (WebInspectorFrontendClient::WebInspectorFrontendClient):
        (WebInspectorFrontendClient::frontendLoaded):
        (WebInspectorFrontendClient::localizedStringsURL):
        (WebInspectorFrontendClient::hiddenPanels):
        (WebInspectorFrontendClient::bringToFront):
        (WebInspectorFrontendClient::closeWindow):
        (WebInspectorFrontendClient::attachWindow):
        (WebInspectorFrontendClient::detachWindow):
        (WebInspectorFrontendClient::setAttachedWindowHeight):
        (WebInspectorFrontendClient::inspectedURLChanged):
        (WebInspectorFrontendClient::updateWindowTitle):
        (-[WebInspectorWindowController dealloc]):
        (-[WebInspectorWindowController windowShouldClose:]):
        (-[WebInspectorWindowController close]):
        (-[WebInspectorWindowController showWindow:]):
        (-[WebInspectorWindowController attach]):
        (-[WebInspectorWindowController detach]):
        (-[WebInspectorWindowController attached]):
        (-[WebInspectorWindowController setFrontendClient:]):
        (-[WebInspectorWindowController destroyInspectorView]):
        (-[WebNodeHighlighter initWithInspectedWebView:]):
        (-[WebNodeHighlighter dealloc]):
        (-[WebNodeHighlighter highlightNode:]):
        (-[WebNodeHighlighter hideHighlight]):
        (-[WebNodeHighlighter didAttachWebNodeHighlight:]):
        (-[WebNodeHighlighter willDetachWebNodeHighlight:]):
        * WebInspector/WebInspector.mm:
        (-[WebInspector attach:]):
        (-[WebInspector detach:]):

2010-03-15  Andy Estes  <aestes@apple.com>

        Reviewed by John Sullivan.

        Updated call to WKGetWheelEventDeltas() to match new method signature.

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

        * WebView/WebDynamicScrollBarsView.mm:
        (-[WebDynamicScrollBarsView scrollWheel:]):

2010-03-15  John Sullivan  <sullivan@apple.com>

        Reviewed by Adam Roben.
        
        -[WebFrame setAlwaysHideHorizontal/VerticalScroller:] prevents keyboard scrolling
        <https://bugs.webkit.org/show_bug.cgi?id=36125>

        * WebView/WebDynamicScrollBarsView.h:
        Added instance variables horizontalScrollingAllowedButScrollerHidden and
        verticalScrollingAllowedButScrollerHidden. Renamed instance variables 
        hideHorizontal/VerticalScroller to alwaysHideHorizontal/VerticalScroller for clarity.
        Declared methods -horizontalScrollingAllowed and -verticalScrollingAllowed.
        Added comments.
        
        * WebView/WebDynamicScrollBarsView.mm:
        (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]):
        Updated for instance variable renaming.
        (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]):
        Ditto.
        (-[WebDynamicScrollBarsView horizontalScrollingAllowed]):
        New method, returns YES if the scroller is showing or the only reason that the scroller
        is not showing is that setAlwaysHideHorizontalScrolling has been called.
        (-[WebDynamicScrollBarsView verticalScrollingAllowed]):
        New method, returns YES if the scroller is showing or the only reason that the scroller
        is not showing is that setAlwaysHideVerticalScrolling has been called.
        (-[WebDynamicScrollBarsView updateScrollers]):
        Updated for instance variable renamings. Now updates horizontalScrollingAllowedButScrollerHidden
        and verticalScrollingAllowedButScrollerHidden. Now takes the always-hidden state into account
        in the early-return code path, to avoid taking it into account twice in the regular code path.
        
        * WebView/WebFrameView.mm:
        (-[WebFrameView _scrollToBeginningOfDocument]):
        Use _isScrollable instead of _hasScrollBars.
        (-[WebFrameView _scrollToEndOfDocument]):
        Ditto.
        (-[WebFrameView scrollToBeginningOfDocument:]):
        Use _largestScrollableChild instead of _largestChildWithScrollBars.
        (-[WebFrameView scrollToEndOfDocument:]):
        Ditto.
        (-[WebFrameView _pageVertically:]):
        Use _isScrollable and _largestScrollableChild instead of _hasScrollBars
        and _largestChildWithScrollBars.
        (-[WebFrameView _pageHorizontally:]):
        Ditto.
        (-[WebFrameView _scrollLineVertically:]):
        Ditto.
        (-[WebFrameView _scrollLineHorizontally:]):
        Ditto.
        (-[WebFrameView keyDown:]):
        Use _largestScrollableChild instead of _largestChildWithScrollBars.
        (-[WebFrameView _isScrollable]):
        New method, calls -[WebDynamicScrollBarsView horizontalScrollingAllowed] and
        -[WebDynamicScrollBarsView verticalScrollingAllowed]
        (-[WebFrameView _largestScrollableChild]):
        New method, like _largestChildWithScrollBars but uses _isScrollable.
        (-[WebFrameView _hasScrollBars]):
        Added a comment that this is no longer used by Safari, and can thus probably be
        deleted once we no longer want to support it for nightly build compatibility with
        old versions of Safari.
        (-[WebFrameView _largestChildWithScrollBars]):
        Ditto.
        
        * WebView/WebFrameViewPrivate.h:
        Declared -_isScrollable and -_largestScrollableChild. Added comments to
        _hasScrollBars and _largestChildWithScrollBars saying that they are no longer
        used by Safari, and can thus probably be deleted once we no longer want to 
        support them for nightly build compatibility with old versions of Safari.

2010-03-15  John Sullivan  <sullivan@apple.com>

        Method name and parameter name mistakes from recent SPI addition
        <https://bugs.webkit.org/show_bug.cgi?id=36119>

        Reviewed by Dan Bernstein.

        * WebView/WebDynamicScrollBarsView.h:
        Renamed instance variable and method name from "setAllowXXX" to "setAllowsXXX".
        
        * WebView/WebDynamicScrollBarsView.mm:
        (-[WebDynamicScrollBarsView setAllowsScrollersToOverlapContent:]):
        Updated for renamed instance variable and method.
        (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]):
        Changed parameter name from shouldBeVisible to shouldBeHidden.
        (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]):
        Ditto.
        (-[WebDynamicScrollBarsView contentViewFrame]):
        Updated for renamed instance variable.
        (-[WebDynamicScrollBarsView tile]):
        Ditto.
        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
        Ditto.

        * WebView/WebFrame.mm:
        (-[WebFrame setAllowsScrollersToOverlapContent:]):
        Renamed method from setAllowXXX, and updated for same change in WebDynamicScrollBarsView.

        * WebView/WebFramePrivate.h:
        Renamed method name from "setAllowXXX" to "setAllowsXXX".

2010-03-14  Darin Adler  <darin@apple.com>

        Reviewed by Mark Rowe.

        Remove unneeded dependency on non-string identifier for an NSTableColumn
        https://bugs.webkit.org/show_bug.cgi?id=36106

        * WebView/WebTextCompletionController.mm:
        (-[WebTextCompletionController _buildUI]): Use init instead of initWithIdentifier:
        because the table has only one column and that column does not need an identifier.

2010-03-12  Beth Dakin  <bdakin@apple.com>

        Reviewed by Simon Fraser.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=34942 Fullscreen 
        API naming is inconsistent
        -and corresponding-
        <rdar://problem/7729165>

        This patch changes all occurrences of "fullScreen" to the more 
        popular "fullscreen."

        * Plugins/Hosted/NetscapePluginHostProxy.h:
        (WebKit::NetscapePluginHostProxy::isFullscreenWindowShowing):
        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
        (WebKit::NetscapePluginHostProxy::didEnterFullscreen):
        (WebKit::NetscapePluginHostProxy::didExitFullscreen):
        (WebKit::NetscapePluginHostProxy::setFullscreenWindowIsShowing):
        (WKPCSetFullscreenWindowIsShowing):
        * Plugins/Hosted/WebKitPluginClient.defs:
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView _workaroundSilverlightFullscreenBug:]):
        (-[WebNetscapePluginView _createPlugin]):
        (-[WebNetscapePluginView _destroyPlugin]):
        * WebView/WebVideoFullscreenHUDWindowController.mm:
        (-[WebVideoFullscreenHUDWindowController windowDidLoad]):

2010-03-12  Andy Estes  <aestes@apple.com>

        Reviewed by Brady Eidson.

        Expose WebPDFView's underlying PDFDocument.

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

        * WebView/WebDocumentPrivate.h: Create a new protocol called
        WebDocumentPDF.
        * WebView/WebPDFView.h: Have WebPDFView implement said protocol.
        * WebView/WebPDFView.mm:
        (-[WebPDFView PDFDocument]): Expose WebPDFView's underlying
        PDFDocument by implementing -(PDFDocument*)PDFDocument from
        WebDocumentPDF.

2010-03-12  Andy Estes  <aestes@apple.com>

        Reviewed by Brady Eidson.

        Remove an unused method.

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

        * Plugins/WebPluginController.mm:
        removed - (void)showURL:(NSURL *) inFrame:(NSString *)

2010-03-11  Mark Rowe  <mrowe@apple.com>

        Reviewed by David Kilzer.

        <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version

        Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.

        * Configurations/Base.xcconfig:

2010-03-11  Mark Rowe  <mrowe@apple.com>

        Reviewed by Tim Hatcher.

        <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version

        Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted.  It defaults to the
        current Mac OS X version unless otherwise specified.

        Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.

        Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice
        may not be usable when targetting a different Mac OS X version.

        Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off
        MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used.

        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/FeatureDefines.xcconfig:
        * Configurations/Version.xcconfig:

2010-03-11  Anders Carlsson  <andersca@apple.com>

        Reviewed by David Hyatt.

        Remove invalidateContents, it isn't used and it never makes sense to only invalidate the contents.

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:

2010-03-11  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=35965
        <rdar://problem/7742771> Crash when passing an object returned from plug-in back to the plug-in

        Test: plugins/round-trip-npobject.html

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::retainLocalObject): Corrected the check - there is
        now a separate ProxyRuntimeObject class for proxy pbjects.
        (WebKit::NetscapePluginInstanceProxy::releaseLocalObject): Ditto.

        * Plugins/Hosted/ProxyInstance.mm:
        (WebKit::ProxyInstance::invoke): Check if m_instanceProxy is still non-zero. The plug-in
        could have crashed while we were waiting for response.
        (WebKit::ProxyInstance::setFieldValue): Ditto.

2010-03-10  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=35975
        <rdar://problem/7739922> Flash 10.1b crashes when generating snapshots

        Do a version check before sending a drawRect event to a Flash plugin,
        since 10.1.d51 has a bug that crashes when called this way.
        
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView drawRect:]):
        * Plugins/WebBaseNetscapePluginView.h:
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView supportsSnapshotting]):
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView drawRect:]):

2010-03-10  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Hatcher.

        <rdar://problem/7735387> input type other than text won't work with autofill
        <https://bugs.webkit.org/show_bug.cgi?id=35963>

        * WebView/WebHTMLRepresentation.mm:
        (-[WebHTMLRepresentation elementDoesAutoComplete:]):
        Return true for any text field that's not a password, rather than only
        for TEXT type.

2010-03-09  Brady Eidson  <beidson@apple.com>

        Reviewed by Tim Hatcher.

        REGRESSION: WebInspector docking busted on Windows
        <rdar://problem/7728433> and https://bugs.webkit.org/show_bug.cgi?id=35953

        * WebCoreSupport/WebInspectorClient.mm:
        (-[WebInspectorWindowController showWindow:]): Use the InspectorController:: copy of the should attach settings key.
        (-[WebInspectorWindowController attach]): Ditto.
        (-[WebInspectorWindowController detach]): Ditto.

2010-03-09  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        Updated for FastMalloc reporting changes.
        
        * Misc/WebCoreStatistics.mm:
        (+[WebCoreStatistics memoryStatistics]):

2010-03-08  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Mark Rowe.

        Move the new method to the end of the MIG definitions file, to avoid breaking
        compatibility between WebKit and older versions of WebKitPluginHost.

        * Plugins/Hosted/WebKitPluginHost.defs:

2010-03-08  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Kevin Decker.

        <rdar://problem/7714340> Need to grab image snapshot of Core Animation plugins
        
        Allow plug-ins using the Core Animation drawing model to be captured when doing a flattening paint,
        by sending them a drawRect event as if they were software-painting.

        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::snapshot):
        New snapshot() method that calls over to the plugin host, and then draws the image that comes back.
        
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView drawRect:]): If we don't have a software renderer, but we're doing
        a flattening paint, then call the snapshot method.
        
        * Plugins/Hosted/WebKitPluginHost.defs: Added snapshot method.
        
        * Plugins/WebBaseNetscapePluginView.h:
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView inFlatteningPaint]):
        New utility method that asks the FrameView whether the current paint behavior is
        flattening.
        
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView drawRect:]): If the plug-in is using CA but this is a flattening
        paint, go ahead and send a drawRect event to the plug-in.

2010-03-08  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Fix crash when you quit inside an unload handler.
        rdar://problem/6958347

        Test: manual-tests/quit-inside-unload.html

        * WebView/WebView.mm:
        (-[WebView _closeWithFastTeardown]): Removed code to set
        _private->closed since _close now does this earlier, before
        calling this method.
        (-[WebView _close]): Moved code to set _private->closed to the
        top of this method.
        (-[WebView setHostWindow:]): Rewrote the code that forbade
        setting the host window after closing so that it only forbids
        non-nil host windows. That way, the code to clear away the host
        window can run safely after setting _private->closed, yet client
        code cannot set a new host window after closing.

2010-03-08  Darin Adler  <darin@apple.com>

        Roll out a file I checked in by accident.

        * WebView/WebView.mm: Back to previous version.

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

        Reviewed by Darin Adler.

        Turn on HW accel on Leopard even if coreVideoHas7228836Fix() is false, when WebGL is enabled
        https://bugs.webkit.org/show_bug.cgi?id=35759

        This allows WebGL to work on Leopard without the fix. It exposes these users to the crash
        that happens because of the CoreVideo bug, but it limits the exposure to those who have 
        chosen to enable WebGL.

        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):

2010-03-02  Adam Treat  <atreat@rim.com>

        Reviewed by Dave Hyatt.

        Adapt the mac port to the refactoring of repaint methods.

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

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::invalidateContents):
        (WebChromeClient::invalidateWindow):
        (WebChromeClient::invalidateContentsAndWindow):
        (WebChromeClient::invalidateContentsForSlowScroll):

2010-03-08  Jian Li  <jianli@chromium.org>

        Reviewed by Dmitry Titov.

        Blob.slice support.
        https://bugs.webkit.org/show_bug.cgi?id=32993

        Add ENABLE_BLOB_SLICE feature define.

        * Configurations/FeatureDefines.xcconfig:

2010-03-08  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by David Levin.

        Remove the now-redundant Settings fields for the Database
        https://bugs.webkit.org/show_bug.cgi?id=35763

        No new tests; this code isn't called.

        * WebView/WebView.mm: Remove the call into Settings.
        (-[WebView _preferencesChangedNotification:]):

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

        Rubber-stamped by Cameron Zwarich.

        Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.

        * Misc/WebIconDatabase.mm:

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

        Rubber-stamped by Cameron Zwarich.

        Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.

        * Misc/WebNSPasteboardExtras.mm:

2010-03-04  Mark Rowe  <mrowe@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/7717249> DOMSVG.h includes a non-existent DOMSVGFEMorphologyElement.h

        * MigrateHeaders.make: Migrate DOMSVGFEMorphologyElement.h and DOMSVGFEMorphologyElementInternal.h.

2010-03-04  Mark Rowe  <mrowe@apple.com>

        Reviewed by Sam Weinig.

        Use a framework-style include to pull in WebInspector.h for consistency
        with other parts of WebKit.

        * WebInspector/WebInspectorPrivate.h:

2010-03-04  Brady Eidson  <beidson@apple.com>

        Reviewed by Geoff Garen.

        REGRESSION (31281): -[WebArchive initWithCoder:] leaks
        <rdar://problem/7702420> and https://bugs.webkit.org/show_bug.cgi?id=35534

        * WebView/WebArchive.mm:
        (-[WebArchive initWithCoder:]): Don't retain objects we don't own.

2010-03-03  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Timothy Hatcher.

        https://bugs.webkit.org/show_bug.cgi?id=35692
        <rdar://problem/7703622> Crash when calling abort() on an XHR while in a windowless WebView

        * Panels/WebAuthenticationPanel.m: (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
        Retain the challenge, just like it's done for sheet.

2010-03-02  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by David Levin.

        Move database enable bit fully out of settings
        This is stage one of a three-stage commit [webkit, then chromium, then
        webkit again].  In this change I'm adding calls to
        Database::setIsAvailable inside Settings::setDatabaseEnabled and
        anywhere else that called it, and switching webkit fully over to using
        that flag [added in a previous checkin].  Phase two will remove
        Chromium's use of Settings for the Database, and phase three will remove
        the Setting for the Database enable entirely, leaving only
        Database::isAvailable/setIsAvailable.

        No new tests; tested by existing storage tests.

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

        * WebView/WebView.mm:  Added a call to Database::setIsAvailable.
        (-[WebView _preferencesChangedNotification:]):

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

        Add -[WebView _registerURLSchemeAsSecure:]

        Fixes <http://webkit.org/b/35580> <rdar://problem/7706407> Expose
        SecurityOrigin::registerURLSchemeAsSecure as WebKit SPI

        Reviewed by Tim Hatcher.

        * WebView/WebView.mm:
        (+[WebView _registerURLSchemeAsSecure:]):
        * WebView/WebViewPrivate.h:
        Added. Calls through to SecurityOrigin::registerURLSchemeAsSecure.

2010-03-01  Jakob Petsovits  <jpetsovits@rim.com>

        Reviewed by Adam Barth.

        Adapt to the new ZoomMode enum.
        https://bugs.webkit.org/show_bug.cgi?id=35347

        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):
        (-[WebView _setZoomMultiplier:isTextOnly:]):
        (-[WebView _realZoomMultiplierIsTextOnly]):

2010-02-27  Jing Jin  <jjin@apple.com>

        Reviewed by Timothy Hatcher.

        Move implementation of Bug 35449 into WebFramePrivate.

        * WebView/WebFrame.h:
        * WebView/WebFrame.mm:
        (-[WebFrame setAllowScrollersToOverlapContent:]):
        (-[WebFrame setAlwaysHideHorizontalScroller:]):
        (-[WebFrame setAlwaysHideVerticalScroller:]):
        * WebView/WebFramePrivate.h:

2010-02-26  Jing Jin  <jjin@apple.com>

        Reviewed by Timothy Hatcher.

        https://bugs.webkit.org/show_bug.cgi?id=35449
        Add ability to hide WebFrame scrollbars and to allow scrollbars to overlap with content.

        * WebView/WebDynamicScrollBarsView.h:
        * WebView/WebDynamicScrollBarsView.mm:
        (-[WebDynamicScrollBarsView setAllowScrollersToOverlapContent:]): Allows scrollbars to 
        overlap with the document and re-layouts the document.
        (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]): Hides the horizontal scrollbar.
        (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]): Hides the vertical scrollbar.
        (-[WebDynamicScrollBarsView contentViewFrame]): Calculates the appropriate frame based
        on allowScrollersToOverlapContent.
        (-[WebDynamicScrollBarsView tile]): If allowScrollersToOverlapContent is YES, set the
        contentView's frame so it overlaps with the scrollbar.
        (-[WebDynamicScrollBarsView updateScrollers]): Take into account hideHorizontalScroller
        and hideVerticalScroller.
        (-[WebDynamicScrollBarsView reflectScrolledClipView:]): set drawsBackground to NO when
        scrollbars are overlapping with content, so we don't get trails during scrollbar draw updates.
        * WebView/WebDynamicScrollBarsViewInternal.h:
        * WebView/WebFrame.h:
        * WebView/WebFrame.mm:
        (-[WebFrame setAllowScrollersToOverlapContent:]): Hook for [WebDynamicScrollBarsView setAllowScrollersToOverlapContent:]
        (-[WebFrame setAlwaysHideHorizontalScroller:]): Hook for [WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]
        (-[WebFrame setAlwaysHideVerticalScroller:]): Hook for [WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]

2010-02-26  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Alexey Proskuryakov.

        Bug 35401 - Fix handling of errors in handling calls over bridge,
        where base object bridge-type does not match method bridge-type.

        The code assumes users will only attempt to invoke a Java method
        on a Java base object, etc.
        Add language specific subclasses of RuntimeMethod, and pass the
        RuntimeMethod into invokeMethod, so we can typecheck before
        casting.  Throw an exception on type mismatch.

        * Plugins/Hosted/ProxyInstance.h:
        * Plugins/Hosted/ProxyInstance.mm:
        (WebKit::PluginRuntimeMethod::PluginRuntimeMethod): new class to distinguish this type of RuntimeMethod.
        (WebKit::ProxyInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
        (WebKit::ProxyInstance::invokeMethod): dynamically check the type of the RuntimeMethod.

2010-02-25  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Geoffrey Garen.

        https://bugs.webkit.org/show_bug.cgi?id=35394
        <rdar://problem/7685262> Make passing objects between Java and plug-ins work

        Added a ProxyInstance implementation of RuntimeObject.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::addValueToArray):
        * Plugins/Hosted/ProxyInstance.h:
        * Plugins/Hosted/ProxyInstance.mm:
        (WebKit::ProxyInstance::newRuntimeObject):
        (WebKit::ProxyInstance::getClass):
        * Plugins/Hosted/ProxyRuntimeObject.h: Added.
        (WebKit::ProxyRuntimeObject::classInfo):
        * Plugins/Hosted/ProxyRuntimeObject.mm: Added.
        (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
        (WebKit::ProxyRuntimeObject::~ProxyRuntimeObject):
        (WebKit::ProxyRuntimeObject::getInternalProxyInstance):

2010-02-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Fisher.

        [Chromium API] Disambiguate allowJavaScript from didNotAllowScript
        https://bugs.webkit.org/show_bug.cgi?id=35205

        Make these two callsites explicit about not running script immediately.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
        (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):

2010-02-23  Brady Eidson  <beidson@apple.com>

        Reviewed by Tim Hatcher and Pavel Feldman.

        Regression (r55107) - WebInspector docking is busted.
        https://bugs.webkit.org/show_bug.cgi?id=35274

        * WebCoreSupport/WebInspectorClient.mm:
        (-[WebInspectorWindowController showWindow:]): Swap the order of the "should attach?" check
          to get the expected behavior.

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

        Reviewed by Simon Fraser.

        <rdar://problem/7611158> Incomplete repaint of YouTube timeline thumb while scrolling
        https://bugs.webkit.org/show_bug.cgi?id=34381

        Test: fast/repaint/repaint-during-scroll.html

        NSClipView offsets any rects marked as needing display during scrolling
        by the scroll offset. Compensate for this when -setNeedsDisplay: is called
        during scrolling.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _frameOrBoundsChanged]): Set inScrollPositionChanged to YES
        around to call to FrameView::scrollPositionChanged().
        (-[WebHTMLView setNeedsDisplayInRect:]): When called beneath
        scrollPositionChanged(), adjust the rect by the inverse of the scroll offset.

2010-02-23  Steve Block  <steveblock@google.com>

        Reviewed by Darin Adler.

        Adds ChromeClient::cancelGeolocationPermissionRequestForFrame
        https://bugs.webkit.org/show_bug.cgi?id=34962

        This method is required so that a Geolocation object can cancel an
        asynchronous permission request. This allows the chrome client to cancel
        any UI it is showing for the permission request.

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

2010-02-22  Alexey Proskuryakov  <ap@apple.com>

        Rubber-stamped by Geoff Garen.

        Rename RuntimeObjectImp to RuntimeObject.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::addValueToArray):
        (WebKit::NetscapePluginInstanceProxy::retainLocalObject):
        (WebKit::NetscapePluginInstanceProxy::releaseLocalObject):

2010-02-22  Brady Eidson  <beidson@apple.com>

        Reviewed by Tim Hatcher.

        Disable WebView docking to views that are too small.
        <rdar://problem/7248409> and https://bugs.webkit.org/show_bug.cgi?id=35254

        * WebCoreSupport/WebInspectorClient.mm:
        (-[WebInspectorWindowController showWindow:]): No matter the preference, don't open the inspector 
          window attached if WebCore says it shouldn't be attached.

2010-02-22  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/7285392> 
        On Leopard, we have to disable hardware acceleration if we detect that the
        installed Core Video framework has bug <rdar://problem/7228836>.
        
        * WebView/WebView.mm:
        (coreVideoHas7228836Fix):
        (-[WebView _preferencesChangedNotification:]):

2010-02-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        False warnings about needing layout in
        -[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
        https://bugs.webkit.org/show_bug.cgi?id=35218

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
        Suppress the warning and the forced layout if the view is not being drawn
        in this display operation.

2010-02-21  Kevin Decker  <kdecker@apple.com>

        Reviewed by Sam Weinig.

        plugInViewWithArguments: API sends wrong parameter for WebPlugInBaseURLKey
        https://bugs.webkit.org/show_bug.cgi?id=35215
        <rdar://problem/7673157>
        
        The plugInViewWithArguments: API passes a dictionary of plugin arguments. One of the parameters
        is WebPlugInBaseURLKey, which is a key that represents the base URL of the document containing
        the plug-in's view. Instead of sending the base URL, code in  WebFrameLoaderClient::createPlugin
        would incorrectly pass the source URL of the plug-in resource.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::createPlugin): When building the plug-in arguments dictionary, pass the
        real base URL for the WebPlugInBaseURLKey key.

2010-02-19  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by David Levin.

        Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases
        https://bugs.webkit.org/show_bug.cgi?id=35147

        * Configurations/FeatureDefines.xcconfig:

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

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=35132
        <rdar://problem/7664353> Mouse cursor sometimes flickers over Flash content (35132)

        * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
        (WebNetscapePluginEventHandlerCarbon::mouseMoved): Send adjustCursor events on every mouse
        move. This matches Firefox, and is actually required for plug-ins to manipulate cursor wihout
        resorting to techniques such as fast firing timers.

        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView handleMouseEntered:]): Some plug-ins handle mouse cursor internally,
        but those that don't just need to get an arrow cursor (matching Firefox). This means that
        e.g. a plugin inside <A> won't get a finger mouse pointer.

        * Plugins/WebHostedNetscapePluginView.mm:
        (-[WebNetscapePluginView handleMouseEntered:]):
        (-[WebNetscapePluginView handleMouseExited:]):
        Implement this behavior here, too. Also, out of process code didn't reset mouse pointer on
        mouse exit, which it needed to do.

        * WebView/WebHTMLView.mm:
        (needsCursorRectsSupportAtPoint):
        (setCursor):
        (resetCursorRects):
        Make sure that the same workaround we have for Web content also applies to Netscape plug-ins,
        as AppKit would reset the mouse pointer to arrow if given a chance.
        (+[WebHTMLViewPrivate initialize]): Renamed setCursorIMP on Leopard and higher to prevent
        confusion - the method we override is completely different.
        (-[WebHTMLView hitTest:]): Added a FIXME about a likely bug.

2010-02-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article
        
        Followup to avoid capturing compositing layers twice in snapshots. Add private
        methods to WebView to specify whether drawing the WebView into an image will
        include flattened compositing layers (the default behavior) or not.

        * WebView/WebFrame.mm:
        (-[WebFrame _drawRect:contentsOnly:]): Consult the WebView flag to see if we
        want flattening.
        
        * WebView/WebViewPrivate.h: New methods.
        * WebView/WebView.mm: Ditto.
        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
        (-[WebView _setIncludesFlattenedCompositingLayersWhenDrawingToBitmap:]):
        (-[WebView _includesFlattenedCompositingLayersWhenDrawingToBitmap]):

        * WebView/WebViewData.h: New member variable.

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

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=35165
        plugins/set-status.html fails on Windows bot

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::status):
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView status:]):
        Match Windows port behavior (and also Firefox one, in a way) - pass null status messages as
        empty ones to chrome.

2010-02-18  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article

        Add logic to determine when painting via the software rendering path will give an equivalent
        result to the accelerated compositing presentation. This tests for the presence of 3D transforms.

        Also have -[WebFrame _drawRect:contentsOnly:] set the PaintBehaviorFlattenCompositingLayers
        paint behavior when painting into a bitmap context, so that snapshots contain composited layers.

        * WebView/WebFrame.mm:
        (-[WebFrame _drawRect:contentsOnly:]): Set the PaintBehaviorFlattenCompositingLayers flag
        when painting into a bitmap context.
        * WebView/WebView.mm:
        (-[WebView _isSoftwareRenderable]): Returns YES if all frames can be software-rendered.
        * WebView/WebViewPrivate.h: New _isSoftwareRenderable method.

2010-02-18  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=35134
        <rdar://problem/7246280> Crash when a plugin calls NPN_SetStatus(0)

        Test: plugins/set-status.html

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::status):
        (WebKit::NetscapePluginInstanceProxy::loadURL):
        Added null checks for CFStringCreateWithCString arguments.

2010-02-17  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin, Darin Fisher, Simon Hausmann.

        When a live iframe element is moved between pages, it still depends on the old page.
        https://bugs.webkit.org/show_bug.cgi?id=34382

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        Added empty implementation of a new virtual method.

        (WebFrameLoaderClient::didTransferChildFrameToNewDocument):

2010-02-17  Kent Tamura  <tkent@chromium.org>

        Reviewed by Eric Seidel.

        Introduces new Icon loading interface in order to support
        asynchronous loading.
        https://bugs.webkit.org/show_bug.cgi?id=32054

        Add an empty implementation of ChromeClient::iconForFiles().

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::iconForFiles):

2010-02-17  Timothy Hatcher  <timothy@apple.com>

        Add a way for WebView and its dependancies to be selectively included
        in WebKitStatistics leak tracking. By default WebView is not included and
        you need to subclass WebView and implement +isIncludedInWebKitStatistics
        to be included.

        rdar://problem/7567677&7572900
        https://webkit.org/b/35045

        Reviewed by Adam Roben.

        * WebView/WebDataSource.mm:
        (-[WebDataSource _initWithDocumentLoader:]): Increment WebDataSourceCount if the WebFrame is included in statistics.
        (-[WebDataSource dealloc]): Only --WebDataSourceCount if _private->includedInWebKitStatistics is YES.
        (-[WebDataSource finalize]): Ditto.
        * WebView/WebFrame.mm:
        (-[WebFrame _isIncludedInWebKitStatistics]): Return _private->includedInWebKitStatistics.
        (-[WebFrame _initWithWebFrameView:webView:]): Increment WebFrameCount if the WebView's class is included in statistics.
        (-[WebFrame dealloc]): Only --WebFrameCount if _private->includedInWebKitStatistics is YES.
        (-[WebFrame finalize]): Ditto.
        * WebView/WebFrameInternal.h:
        * WebView/WebFrameView.mm:
        (-[WebFrameView _setWebFrame:]): Increment WebFrameViewCount if the WebFrame is included in statistics.
        (-[WebFrameView initWithFrame:]): Move ++WebFrameViewCount from here since we don't
        know what WebFrame we belong to yet.
        (-[WebFrameView dealloc]): Only --WebFrameViewCount if _private->includedInWebKitStatistics is YES.
        (-[WebFrameView finalize]): Ditto.
        * WebView/WebHTMLRepresentation.mm:
        (-[WebHTMLRepresentation init]): Move ++WebHTMLRepresentationCount from here since we don't
        know what WebFrame we belong to yet.
        (-[WebHTMLRepresentation dealloc]): Only --WebHTMLRepresentationCount if _private->includedInWebKitStatistics is YES.
        (-[WebHTMLRepresentation finalize]): Ditto.
        (-[WebHTMLRepresentation setDataSource:]): Increment WebHTMLRepresentationCount if the WebFrame of the dataSource is
        included in statistics.
        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
        (-[WebView dealloc]):
        (+[WebView shouldIncludeInWebKitStatistics]): Return NO, so any WebView wont be included.
        Subclasses that care can return YES to be included.
        * WebView/WebViewInternal.h:

2010-02-16  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Generalize delayed plug-in start for background tabs for use for other media
        https://bugs.webkit.org/show_bug.cgi?id=34981

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView viewWillMoveToWindow:]): Added comment.
        (-[WebHTMLView viewDidMoveToWindow]): Ditto.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
        Call setCanStartMedia right away so that if this view is not in a window, it
        will not start any media.
        (-[WebView viewWillMoveToWindow:]): Call setCanStartMedia(false) when moving
        to a window of nil.
        (-[WebView viewDidMoveToWindow]): Call setCanStartMedia(true) when moved to
        a window that is non-nil.

2010-02-16  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=34988
        WebHTMLView.mm has two -willRemoveSubview: methods

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView willRemoveSubview:]): Consolidate the two copies of this method.

2010-02-16  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Geoffrey Garen and Kevin Decker.

        https://bugs.webkit.org/show_bug.cgi?id=34989
        <rdar://problem/7417965> Cursor disappears on scroll bars that are over plugin content

        This fixes event dispatch for both Cocoa and Carbon event models (mouseEntered/mouseExited
        in the former case, and adjustCursor in the latter).

        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView handleMouseEntered:]):
        (-[WebHostedNetscapePluginView handleMouseExited:]):
        * Plugins/WebBaseNetscapePluginView.h:
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView handleMouseEntered:]):
        (-[WebBaseNetscapePluginView handleMouseExited:]):
        * Plugins/WebNetscapePluginView.h:
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView handleMouseEntered:]):
        (-[WebNetscapePluginView handleMouseExited:]):
        AppKit cannot reliably dispatch events for overlapping views. We are now asking WebCore to
        notify plug-in views of mouse entered/exited as part of DOM event dispatch.

        * WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent): Besides
        mouse moved, dispatch plugin mouse entered/exit events in HTMLPlugInElement default event
        handler. Other mouse events are passed down by EventHandler.

2010-02-15  Alexey Proskuryakov  <ap@apple.com>

        More build fixing (for what is actually a 64-bit failure, as 32-bit apparently includes
        headers that aren't included in 64-bit).

        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::contains):
        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get):
        Move inline functions to .cpp; also made the class Noncopyable.

2010-02-15  Alexey Proskuryakov  <ap@apple.com>

        Mac release build fix attempt.

        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::~LocalObjectMap):
        Implement destructor in .cpp file, where necessary headers are already included.

2010-02-12  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Kevin Decker.

        <rdar://problem/7130641> Browser objects identity is not preserved by Safari

        Out of process part.

        To avoid excessive IPC, plugin process doesn't send each NPObject release/retain call to
        Safari. It only sends one when the last one is removed, and it can destroy the proxy
        NPObject.

        However, the browser may be sending the same object out to plug-in as a function call
        argument at the same time - neither side can know what the other one is up to. The solution
        is to make the "destroying object" call return a boolean result, making it possible for 
        the browser to make plugin host keep the proxy with zero refcount for a little longer.

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WKPCForgetBrowserObject): This function (that used to be named ReleaseObject) is only
        called when plug-in releases all of its references, so renamed it. Its boolean result
        is returned as call success or failure.

        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap): Made the numeric ID to JSObject map
        two-way.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject): This method is tricky
        in that it creates objects with refcount of 1, but doesn't increase refcount when returning
        found objects. This extra count accounts for the "reference" kept by plugin process.
        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain): Only retaining for the
        duration of calls out to plug-in, which means that refcount is almost always equal to 1.
        Note that we can't use "++" here, due to how std::pair works!
        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release): Ditto.
        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::clear): Clear all references when
        stopping plug-in.
        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Like release(), but only
        functional when recount is 1 (meaning that the object is not being sent out to plug-in at
        the moment).
        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Updated for other changes.
        (WebKit::NetscapePluginInstanceProxy::cleanup): Ditto.
        (WebKit::NetscapePluginInstanceProxy::getWindowNPObject): Ditto.
        (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject): Ditto.
        (WebKit::NetscapePluginInstanceProxy::forgetBrowserObjectID): Ditto.
        (WebKit::NetscapePluginInstanceProxy::evaluate): Ditto.
        (WebKit::NetscapePluginInstanceProxy::invoke): Ditto.
        (WebKit::NetscapePluginInstanceProxy::invokeDefault): Ditto.
        (WebKit::NetscapePluginInstanceProxy::construct): Ditto.
        (WebKit::NetscapePluginInstanceProxy::getProperty): Ditto.
        (WebKit::NetscapePluginInstanceProxy::setProperty): Ditto.
        (WebKit::NetscapePluginInstanceProxy::removeProperty): Ditto.
        (WebKit::NetscapePluginInstanceProxy::hasProperty): Ditto.
        (WebKit::NetscapePluginInstanceProxy::hasMethod): Ditto.
        (WebKit::NetscapePluginInstanceProxy::enumerate): Ditto.
        (WebKit::NetscapePluginInstanceProxy::addValueToArray): Ditto.
        (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): Ditto.
        (WebKit::NetscapePluginInstanceProxy::retainLocalObject): Helper for calling retain when
        making calls out to plug-in. No-op for objects that aren't wrapped to be sent (i.e. for
        objects wrapping ProxyInstance wrappers for plug-in objects being sent bak).
        (WebKit::NetscapePluginInstanceProxy::releaseLocalObject): Ditto.

        * Plugins/Hosted/ProxyInstance.mm:
        (WebKit::ProxyInstance::invoke): Retain/release arguments during call. 
        (WebKit::ProxyInstance::setFieldValue): Ditto.

        * Plugins/Hosted/WebKitPluginClient.defs: Renamed PCReleaseObject to PCForgetBrowserObject.

2010-02-12  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Removed unneeded custom implementation of isDescendantOf.

        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView shouldClipOutPlugin]): Use the
        -[NSView isDescendantOf:] method instead of our own method
        named superviewsHaveSuperviews.

2010-02-12  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/7615234> REGRESSION (r48586): Loading an HTML page causes
        PDFKit to be loaded

        * WebView/WebPDFDocumentExtras.h: Removed the category declaration and
        addWebPDFDocumentExtras(). Declare allScriptsInPDFDocument().
        * WebView/WebPDFDocumentExtras.mm:
        (allScriptsInPDFDocument): Changed the -_web_allScripts method into this function.
        * WebView/WebPDFRepresentation.mm: Removed +initialize.
        (-[WebPDFRepresentation finishedLoadingWithDataSource:]): Use
        allScriptsInPDFDocument() instead of -_web_allScripts.

2010-02-10  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Exported some new JavaScript heap introspection.

        * Misc/WebCoreStatistics.h:
        * Misc/WebCoreStatistics.mm:
        (+[WebCoreStatistics javaScriptObjectTypeCounts]): Just like
        javaScriptProtectedObjectTypeCounts, except this function enumerates all
        live objects, not just protected objects.

2010-02-08  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Cameron Zwarich.

        Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose.
        https://bugs.webkit.org/show_bug.cgi?id=34698

        * Configurations/FeatureDefines.xcconfig:

2010-02-09  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Geoffrey Garen.

        https://bugs.webkit.org/show_bug.cgi?id=34490
        WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions

        * ForwardingHeaders/wtf/ValueCheck.h: Added.

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 Mac port.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences isFrameSetFlatteningEnabled]):
        (-[WebPreferences setFrameSetFlatteningEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):

2010-02-09  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=34771
        A stray mouse moved event is sent to plug-ins after mouse exit

        * WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent): A mouseout
        DOM event is dispatched while handling NSMouseMoved - but we shouldn't be sending a
        mouse moved event to plug-ins at this point.

2010-02-09  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler.

        Provide a way to get total number of pages to be printed
        https://bugs.webkit.org/show_bug.cgi?id=34699

        * Misc/WebCoreStatistics.h:
        * Misc/WebCoreStatistics.mm:
        (-[WebFrame numberOfPages:pageWidthInPixels:]):

2010-02-08  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=34727
        Assertion crashes and freezes when plug-in property access results in an exception

        * Plugins/Hosted/WebKitPluginClient.defs: Made PCSetProperty and PCRemoveProperty async.
        A plug-in can call back whil processing this call (e.g. for NPN_SetException), so we need
        to listen for messages while waiting for reply.

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WKPCEvaluate): If there is no instance proxy, return KERN_FAILURE. This improves consistency
        between method implementations, and leaves us with one less IPC call to make in failure case
        (returning false with KERN_SUCCESS and returning KERN_FAILURE looks the same from plugin
        host code).
        (WKPCInvoke): Ditto.
        (WKPCInvokeDefault): Ditto.
        (WKPCGetProperty): Ditto.
        (WKPCSetProperty): Send a reply once done.
        (WKPCRemoveProperty): Ditto.
        (WKPCHasProperty): If there is no instance proxy, return KERN_FAILURE.
        (WKPCHasMethod): Ditto.
        (WKPCEnumerate): Ditto.

2010-02-08  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/6530010> OOP: Support NPN_SetException

        Tested by plugins/netscape-throw-exception.html (removed it from skipped list).

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WKPCSetException):
        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::globalExceptionString):
        (WebKit::NetscapePluginInstanceProxy::setGlobalException):
        (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
        * Plugins/Hosted/ProxyInstance.mm:
        (WebKit::ProxyInstance::invoke):
        (WebKit::ProxyInstance::getPropertyNames):
        (WebKit::ProxyInstance::fieldValue):
        (WebKit::ProxyInstance::setFieldValue):
        * Plugins/Hosted/WebKitPluginClient.defs:
        Route exception string to a global that's checked after calling into plug-in (just like in
        in-process case).

2010-02-05  Kevin Decker  <kdecker@apple.com>

        Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=34661
        <rdar://problem/7614067> REGRESSION (Safari 4.0-> Safari 4.0.4): NPP_SetWindow no longer sets a clipRect of (0,0,0,0) when it becomes hidden
        
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView updateAndSetWindow]): When clipping out NPDrawingModelCoreAnimation plug-ins, provide a zero'd out clipRect.
        * Plugins/WebBaseNetscapePluginView.h: Moved superviewsHaveSuperviews to the base class.
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView superviewsHaveSuperviews]): Added to the base class; extracted from WebNetscapePluginView.
        (-[WebBaseNetscapePluginView shouldClipOutPlugin]): Added new method with code extracted from WebNetscapePluginView.
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): When clipping out NPDrawingModelCoreAnimation plug-ins, provide a zero'd out clipRect.

2010-02-04  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Dan Bernstein.

        Fix the ability to #include <WebKit/DOMFile.h>.

        * MigrateHeaders.make: Mark DOMBlob.h as a public header since the already-public DOMFile.h depends on it.

2010-02-04  John Sullivan  <sullivan@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=34611
        WebLocalizedString() could use an assertion that it is being called on the main thread

        Reviewed by Tim Hatcher.

        * Misc/WebLocalizableStrings.m: Removed.
        * Misc/WebLocalizableStrings.mm: Copied from mac/Misc/WebLocalizableStrings.m.
        Renamed to use .mm extension so it can include a C++ header.
        (WebLocalizedString):
        Added an assertion that this is being called on the main thread.

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

        Reviewed by Simon Fraser.

        REGRESSION (r53718): When scrolling a tall window by page, the overlap between pages is too big
        https://bugs.webkit.org/show_bug.cgi?id=34371

        * WebView/WebFrameView.mm:
        (-[WebFrameView _verticalPageScrollDistance]): Use Scrollbar methods instead of
        constants, and cap the scroll distance.
        (-[WebFrameView initWithFrame:]): Use Scrollbar::pixelsPerLineStep() instead of
        cScrollbarPixelsPerLineStep.
        (-[WebFrameView _horizontalPageScrollDistance]):Use Scrollbar methods instead of
        constants, and cap the scroll distance.

2010-02-01  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Eric Seidel.

        Provide a way to get page number with layoutTestController
        https://bugs.webkit.org/show_bug.cgi?id=33840

        * Misc/WebCoreStatistics.h:
        * Misc/WebCoreStatistics.mm:
        (-[WebFrame pageNumberForElement:element:pageWidth:]):

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.

        * WebView/WebVideoFullscreenHUDWindowController.mm:
        (-[WebVideoFullscreenHUDWindowController setPlaying:]):

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

        Reviewed by Anders Carlsson.

        <rdar://problem/7044385> Crash at NetscapePlugInStreamLoader::didReceiveResponse()

        The crash was caused by having two streams with a streamID of 1.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Fixed a typo. Now
        correctly increments m_currentURLRequestID to account for the manual stream.
        (WebKit::NetscapePluginInstanceProxy::disconnectStream): If the stream is the manual stream,
        null it out instead of trying to remove it from the map. Added an assertion.
        (WebKit::NetscapePluginInstanceProxy::loadRequest): Added an assertion.

== Rolled over to ChangeLog-2010-01-29 ==
