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 ==
